В этой статье я опишу пару вариантов как настроить автоматический обмен, и как это можно реализовать в зависимости от количества розничных точек .
Чего я только не перепробовал, а начинал я с «Обмена через файловый ресурс», на тот момент у меня было на вооружение 10 розничных точек находившихся в разных частях города. Из 10 точек в 8 был интернет, и там я установил чудесную программу «Dropbox», ее устанавливаем на сервер и на компьютер клиента, тогда мне очень помог планировщик 1с.
Что для этого нужно? А нужно нам зайти в сервис→ прочий обмен данными→ выполнить обмен данными → затем выбрать настройку обмена
рис.1
Затем нужно перейти в вкладку "Интерактивный обмен", поставить галочку "Выполнить обмен данными под полными правами"
рис.2
Затем переходим в вкладку Автоматический обмен
рис.3
Здесь выбираем свою настройку или добавляем
рис.4
десь ставим галочку «Использовать расписание для выполнения обмена»
Чтобы не потерялся каждый день, в появившимся окне "Расписание", ставим 1" Повторять каждый день"
рис.5
Переходим на закладку "Дневной", там я поставил 7200 секунд. Это означает, что обмен будет запускаться каждый день, каждые 2 часа. После этого нажимаем "Ок".
рис.6
Следуем дальше. Переходим на закладку "Обмен по событиям"
рис.7
Выбираем пользователя, который создан для "Автообмена", и проставляем галки "При запуске, при завершении"(если бы мы использовали обмен через каталог, а не почтой, тогда можно было бы установить галку "при появлении файла" и выбрать название файла, в этом случае обмен будет происходить тогда, когда в каталоге появится файл с одноименным названием).
Ну вот и разобрали мы первый вариант
Для варианта номер 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
Жмем "ок ", затем в планировщике нажимаем кнопку выполнить. Заходим в сервис "активные пользователи", и видим, что наш обмен идет по истечению установленного времени. Служба закроется, и проверить прошел ли обмен, мы можем через монитор обмена. Надеюсь, вам моя статья пригодиться!
материал можно скачать http://www.modber.ru/catalog/item2943.html
или http://infostart.ru/public/289193/