1С Автообмен

В этой статье я опишу пару вариантов как настроить автоматический обмен, и как это можно реализовать в зависимости от количества розничных точек .
Чего я только не перепробовал, а начинал я с «Обмена через файловый ресурс», на тот момент у меня было на вооружение 10 розничных точек находившихся в разных частях города. Из 10 точек в 8 был интернет, и там я установил чудесную программу «Dropbox», ее устанавливаем на сервер и на компьютер клиента, тогда мне очень помог планировщик 1с.
Что для этого нужно? А нужно нам зайти в сервис→ прочий обмен данными→ выполнить обмен данными → затем выбрать настройку обмена

рис.1
Затем нужно перейти в вкладку "Интерактивный обмен", поставить галочку "Выполнить обмен данными под полными правами"



рис.2
Затем  переходим в вкладку Автоматический обмен



рис.3
Здесь выбираем свою настройку или добавляем



рис.4
десь ставим галочку  «Использовать расписание для выполнения обмена»
Чтобы не потерялся каждый день, в появившимся окне "Расписание",  ставим 1Повторять каждый день"



рис.5
Переходим на закладку "Дневной",  там я поставил 7200 секунд. Это означает, что обмен будет запускаться каждый день, каждые 2 часа. После этого нажимаем "Ок".



рис.6
Следуем дальше.  Переходим на закладку "Обмен по событиям"



рис.7
Выбираем пользователя, который создан для "Автообмена", и проставляем галки "При запуске, при завершении"(если бы мы использовали обмен через каталог, а не почтой, тогда можно было бы установить галку "при появлении файла" и выбрать название файла, в этом случае обмен будет происходить тогда, когда в каталоге появится файл с одноименным названием).
Ну вот  и разобрали мы первый вариант

 

Вариант номер 2

Для варианта номер 2 нам уже не обойтись стандартным планировщиком 1с,  прибегнем за помощью к нашей операционке.
Потому что, при реализации автообмена для 30 и выше точек,  при выполнение задачи  стандартным планировщиком 1с, он повисает(((
1)Для начала  надо убрать галочку использовать расписание для выполнения обмена



рис.8
Затем,  нам понадобиться  программа, при помощи которой, мы с легкостью сможем создать службу.  Называется она так  
"anyserv".  Хочу заметить, что программа открывается под правами Администратора, иначе могут возникнуть сложности на  Win7, windows server. При открытие она выглядит так:



рис.9
В первом поле вводим полный путь к исполнительному файлу приложения, которое будет запускаться как служба. В графе "Имя службы" указываем как будет называться наша служба. В "Описание службы" — любое понятное вам описание нового сервиса. Далее можно проставить нужные галочки:
Взаимодействие с рабочим столом — отметьте, если приложение имеет иконку в системном лотке;
Автозапуск службы — отметьте, если хотите, чтобы сервис запускался автоматически
Запустить сразу после создания — отметьте, если хотите, чтобы служба запустилась сразу после ее создания;
Но для нашей ситуации галочки ставить не надо!
Как пример работы утилиты, попробуем запустить в виде системной службы 1с



рис.10
После заполнения всех необходимых полей, нажимаем кнопку "Создать



рис.11
Все, новая служба создана и готова к работе. Можно посмотреть на результат своих действий, воспользовавшись кнопкой "Службы", которая открывает групповую оснастку.



рис.12
Для реализации авто-обмена, я создавал службы по названию точек.  Пойдем дальше, а дальше нам надо прописать в реестре путь к нашей базе с нашим пользователем и паролем. Для этого  заходим в пуск и в строке поиска прописываем команду “REGEDIT” 



рис.13
Дальше нам нужно будет проследовать HKEY_LOCAL_MACHINE →SYSTEM→CurrentControlSet→services→ здесь мы ищем название своей службы →Parameters→ Application



рис.14
В появившимся окне вставляем путь к вашей базе и  передаем параметры, точнее  название пользователя и пароль. Вот варианты  для файловой  базы:
Файловый→"C:\Program Files\1cv82\8.2.17.153\bin\1cv8.exe" ENTERPRISE /F"путь к файловой базе\" /N"пользователь" /P"пароль"
SQL→  "C:\Program Files (x86)\1cv82\8.2.17.153\bin\1cv8.exe" ENTERPRISE /s"имя сервера\имя базы"\" /N"пользователь" /P"пароль"

После того, как мы добавили путь в реестр, нам нужно создать батник,  который будет запускаться в планировщике операционной системы.  Я советую  всего лишь  создать один батник, и в нем уже прописать  очень простые команды в блокноте, и сохраняются в расширение . bat
net start имя службы
timeout 240
net stop имя службы
exit
где net start *это запуск службы
 timeout 240 * таймаут (Можете увеличить или уменьшить количество секунд, в зависимости от надобности, но мне вполне хватает)
net stop * остановить службу
exit * выход


Так как у меня розничных точек свыше 30 прикладываю наглядный пример и прикрепляю батник



рис.15
После этого, заходим в пуск,  и в окне поиска прописываем команду: cmd для вызова командной строки. В командной строке, прописываем такую команду:  Schtasks /Create /tn "Запуск cmd" /tr cmd.exe /sc daily /st 08:00 /ri 60 /du 24:00  и нажимаем enter
Обозначение:
schtasks /create /tn -  имя задания, /tr -  выполнение задания, /sc ежеминутно [/mo {1 — 1439}] ,[/st -  время запуска, /sd -  дата запуска, /ed -  дата окончания, /s компьютер, /u - домен, пользователь /p -  пароль, /ru {[домен\]пользователь | "System"} [/rp пароль]]
Затем заходим в  планировщик операционной системы: пуск →все программы → стандартные→ служебные→ планировщик заданий 
Нам нужно найти наше задание. Открываем  его.

Показываю на примере:


рис.16
 Ставим галочку "Выполнять с наивысшими  правами", затем переходим на вкладку
Действие→Нажимаем кнопку создать →обзор и указываем путь на наш батник, затем жмем "ок", должно получится вот так: 



рис.17
Жмем "ок ",  затем в планировщике нажимаем кнопку выполнить. Заходим в сервис  "активные пользователи", и видим, что наш обмен идет по истечению установленного времени.  Служба закроется, и проверить прошел ли обмен, мы можем через монитор обмена. Надеюсь, вам моя статья пригодиться!

Комментариев нет:

Отправить комментарий