Добрый день или вечер уважаемые коллеги! Сегодня хочу поделиться так сказать длинным путем самурая!
Так я шуточно назвал настройку авто обмена. Писать про настройку обмена между конфигурациями не буду, все наверно уже знают, а кто не знает, прочитает из других источников, например здесь: //infostart.ru/public/76020/
В этой статье я опишу пару вариантов как настроить автоматический обмен, и как это можно реализовать в зависимости от количества розничных точек .
Чего я только не перепробовал, а начинал я с «Обмена через файловый ресурс», на тот момент у меня было на вооружение 10 розничных точек находившихся в разных частях города. Из 10 точек в 8 был интернет, и там я установил чудесную программу «Dropbox», ее устанавливаем на сервер и на компьютор клиента , тогда мне очень помог планировщик 1с.
Что для этого нужно? А нужно нам зайти в сервис→ прочий обмен данными→ выполнить обмен данными → затем выбрать настройку обмена
Затем нужно перейти в вкладку "Интерактивный обмен", поставить галочку "Выполнить обмен данными под полными правами"
Затем переходим в вкладку Автоматический обмен
Здесь выбираем свою настройку или добавляем
Здесь ставим галочку «Использовать расписание для выполнения обмена»
Чтобы не потерялсь каждый день, в появившимся окне "Расписание", ставим 1" Повторять каждый день"
Переходим на закладку "Дневной", там я поставил 7200 секунд. Это означает, что обмен будет запускаться каждый день, каждые 2 часа. После этого нажимаем "Ок".
Следуем дальше. Переходим на закладку "Обмен по событиям"
Выбираем пользователя, который создан для "Автообмена", и проставляем галки "При запуске, при завершении"(если бы мы использовали обмен через каталог, а не почтой, тогда можно было бы установить галку "при появлении файла" и выбрать название файла, в этом случае обмен будет происходить тогда, когда в каталоге появится файл с одноименным названием).
Ну вот и разобрали мы первый вариант
Вариант номер 2
Для варианта номер 2 нам уже не обойтись стандартным планировщиком 1с, прибегнем за помощью к нашей операционке.
Потому что, при реализаци автообмена для 30 и выше точек, при выполнение задачи стандартным планировщиком 1с, он повисает(((
1)Для начала надо убрать галочку использовать расписание для выполнения обмена
Затем, нам понадобиться программа, при помощи которой, мы с легкостью сможем создать службу. Называется она так
"anyserv". Хочу заметить, что программа открывается под правами Администратора, иначе могут возникнуть сложности на Win7,windows server .
В первом поле вводим полный путь к исполнительному файлу приложения, которое будет запускаться как служба. В графе "Имя службы" указываем как будет называться наша служба. В "Описание службы" - любое понятное вам описание нового сервиса. Далее можно проставить нужные галочки:
- Взаимодействие с рабочим столом - отметьте, если приложение имеет иконку в системном лотке;
- Автозапуск службы - отметьте, если хотите, чтобы сервис запускался автоматически
- Запустить сразу после создания - отметьте, если хотите, чтобы служба запустилась сразу после ее создания;
- Но для нашей ситуации галочки ставить не надо!
Как пример работы утилиты, попробуем запустить в виде системной службы 1с
После заполнения всех необходимых полей, нажимаем кнопку "Создать"
Все, новая служба создана и готова к работе. Можно посмотреть на результат своих действий, воспользовавшись кнопкой "Службы", которая открывает групповую оснастку.
Для реализации авто-обмена, я создавал службы по названию точек. Пойдем дальше, а дальше нам надо прописать в реестре путь к нашей базе с нашим пользователем и паролем . Для этого заходим в пуск и в строке поиска прописываем команду “REGEDIT”
Дальше нам нужно будет проследовать HKEY_LOCAL_MACHINE →SYSTEM→CurrentControlSet→services→ здесь мы ищем название своей службы →Parameters→ Application
В появившимся окне вставляем путь к вашей базе и передаем параметры, точнее название пользователя и пароль. Вот варианты для файловой базы:
Файловый→"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 прикладываю батник
После этого, заходим в пуск, и в окне поиска прописываем команду: 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 пароль]]
Затем заходим в планировщик операционной системы: пуск →все программы → стандартные→ служебные→ планировщик заданий
Нам нужно найти наше задание. Открываем его.
Ставим галочку "Выполнять с наивысшими правами", затем переходим на вкладку
Действие→Нажимаем кнопку создать →обзор и указываем путь на наш батник, затем жмем "ок"
Жмем "ок ", затем в планировщике нажимаем кнопку выполнить. Заходим в сервис "активные пользователи", и видим, что наш обмен идет по истечению установленного времени. Служба закроется, и проверить прошел ли обмен, мы можем через монитор обмена. Надеюсь, вам моя статья пригодиться!