- PVSM.RU - https://www.pvsm.ru -
В данной статье мы рассмотрим организацию автообмена 1С: Предприятие 7.7 с использованием УРБД (управление распределенными базами данных) через FTP сервер. Для конкретизации задачи, предположим, что у нас есть центральный офис и несколько удаленных филиалов (торговых точек), которые будут обмениваться с центральным офисом информацией посредством автообмена и распределенных баз данных.
Подробно останавливаться на конфигурировании распределенной ИБ мы не будем, предположив, что вы уже проделывали это не раз. Наша задача — свести «пользовательскую составляющую» автообмена к минимуму, т.е. — добиться того чтобы для проведения автообмена пользователь запускал некий один ярлык, после запуска которого информация из центральной базы, попадала бы в перефирийную и наооборот. Для организации всего вышесказанного нам потребуются FTP-сервер, а также доступ в интернет на всех торговых точках. Предположим конфигурация распределенной базы данных у нас следующая (скриншот с центральной ИБ):
При этом в настройках параметров автообмена режим установлена в автоматический, каталог выгрузки — C:DBCP, каталог загрузки — C:DBPC (где C:DB — это собственно путь к центральной базе), а имена файлов выгрузки и загрузки для указанных перефирийных ИБ имеют следующие значения:
Переферийная ИБ | Каталог выгрузки | Каталог загрузки | Имя файла выгрузки | Имя файла загрузки |
---|---|---|---|---|
МГ1 (Ростов) | C:DBCP | C:DBPC | MG1C.zip | MG1D.zip |
МГ2 (Новосибирск) | C:DBCP | C:DBPC | MG2C.zip | MG2D.zip |
МГ3 (Калуга) | C:DBCP | C:DBPC | MG3C.zip | MG3D.zip |
[General]
Quit = 1
AutoExchange = 1
Output=Exchange.log
[AutoExchange]
SharedMode = Y
ReadFrom=*
WriteTo=*
@echo off
rem (c) Decker, 2011-2013, decker@compkaluga.ru
set CP_Folder=%~dp0..CP
set PC_Folder=%~dp0..PC
rem set DebugMode=-d stdout
set DebugMode=
title АвтоОбмен
color 0b
setlocal enableextensions
:fromftp
echo Пробуем загрузить изменения.
ncftpget.exe -u ftp_user -p ftp_pass -F %DebugMode% ftp.company.ru %PC_Folder% /MG1D.zip
ncftpget.exe -u ftp_user -p ftp_pass -F %DebugMode% ftp.company.ru %PC_Folder% /MG2D.zip
ncftpget.exe -u ftp_user -p ftp_pass -F %DebugMode% ftp.company.ru %PC_Folder% /MG3D.zip
echo ErrorLevel: %ErrorLevel%
echo Работает 1С...АвтоОбмен...
start "АвтоОбмен" /wait /min "C:Program Files1Cv77BIN1cv7.exe" config /d"%~dp0.." /N"obmen" /P"obmen" /@"%~dp0_Exchange.prm"
:toftp
echo Пробуем выгрузить изменения.
ncftpput.exe -u ftp_user -p ftp_pass -F %DebugMode% ftp.company.ru . %CP_Folder%MG1C.zip
ncftpput.exe -u ftp_user -p ftp_pass -F %DebugMode% ftp.company.ru . %CP_Folder%MG2C.zip
ncftpput.exe -u ftp_user -p ftp_pass -F %DebugMode% ftp.company.ru . %CP_Folder%MG3C.zip
echo ErrorLevel: %ErrorLevel%
exit
@echo off
rem (c) Decker, 2011-2013, decker@compkaluga.ru
set CP_Folder=%~dp0..CP
set PC_Folder=%~dp0..PC
rem set DebugMode=-d stdout
set DebugMode=
title АвтоОбмен
color 0b
setlocal enableextensions
:fromftp
echo Пробуем загрузить изменения.
ncftpget.exe -u ftp_user -p ftp_pass -F %DebugMode% ftp.company.ru %CP_Folder% /MG1C.zip
echo ErrorLevel: %ErrorLevel%
echo Работает 1С...АвтоОбмен...
start "АвтоОбмен" /wait /min "C:Program Files1Cv77BIN1cv7.exe" config /d"%~dp0.." /N"obmen" /P"obmen" /@"%~dp0_Exchange.prm"
:toftp
echo Пробуем выгрузить изменения.
ncftpput.exe -u ftp_user -p ftp_pass -F %DebugMode% ftp.company.ru . %PC_Folder%MG1D.zip
echo ErrorLevel: %ErrorLevel%
exit
p.s. Статья впервые была опубликована на моем сайте и в блоге, теперь решил использовать ее для получения инвайта на Хабр. Надеюсь, кому-то она окажется полезной.
p.p.s. Если путь к папке с базой содержит пробелы (например, пробелы содержатся в названии одной из папок), то для корректной работы bat'ников, при вызове ncftpget и ncftput %CP_Folder% и %PC_Folder% необходимо взять в кавычки. Если подразумевается путь к папке, то берем в кавычки "%CP_Folder%", если полный путь к файлу, то весь путь целиком, т.е. "%CP_Folder%MG1C.zip".
Автор: Decker
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/sistemnoe-administrirovanie/37170
Ссылки в тексте:
[1] NcFTP Client Home Page: http://www.ncftp.com/ncftp/
[2] Источник: http://habrahabr.ru/post/184336/
Нажмите здесь для печати.