2009
19
марта
Робот 1С. Автоматическое формирование и отправка отчетов
Автор статьи: admin | Просмотров: 1,771 | Комментариев: 2
Исходные данные.
Имеем обработку 1С, которую надо периодически запускать.
Итак начнем по пунктам на конкретном примере
1. Надо сделать так, чтобы при запуске 1С выполняла нашу внешнюю обработку. Для этого мы заходим в конфигуратор, открываем глобальный модуль, ищем там процедуру ПриНачалеРаботыСистемы(), которая выполняется при запуске 1С. Пролистываем до конца и в конце процедуры дописываем:

//Робот для обмена
Если СокрЛП(глПользователь) = «Robot» Тогда
АвтоШлюз = Строка(КаталогИБ()) + «!ФайлоШлюз.ert»;
ОткрытьФорму(«Отчет»,,АвтоШлюз,);
КонецЕсли;
//*Робот для обмена

2. Открываем внешнюю обработку, которую собственно надо выполнять и дописываем в процедуре ПриОткрытии() имитацию нажатия на кнопку выполнения. Так же в основной процедуре дописываем ЗавершитьРаботуСистемы() для того, чтобы робот закончил работу.


3. Затем создаем нового пользователь под именем Robot и задаем ему пароль, например «12345678».

4. Ну и напоследок нам необходимо задать расписание, по которому будет выполняться наш робот. Сделаем это через стандартный Виндовский Планировщик задач. Для этого зададим командный файл для запуска 1С под пользователем «Robot», с паролем «12345678»
Пуск – Выполнить – notepad.
В открывшийся блокнот вбиваем строку запуска 1С
«C:Program Files1cv77Bin1cv7.exe» enterprise /D»D:1CBasebase» /NRobot /P12345678
Где
«C:Program Files1cv77Bin1cv7.exe» – путь к исполняемому файлу 1С
Enterprise – говорим что нужно запускать оболочку 1С
«D:1CBasebase» – путь к базе данных
Robot – пользователь, под которым надо заходить в 1С
12345678 – пароль пользователя
И сохраняем как исполняемый файл C:autoshluz.cmd
После чего настраиваем планировщик задач для выполнения созданного файла «autoshluz.cmd» по назначенному расписанию.
Пуск – Программы – Стандартные – Служебные – Назначенные задания – Добавить задание


5. Вот и все. Теперь по заданному расписанию будет стартовать 1С, выполнять обработку и завершать работу.
Рубрики: 1С, Вопросы и ответы
июля 28, 2010 at 16:55
Ну так сделай под Администратором, если стоит 2003 Server. Один фиг под амином на серверах никто не работает. И не в сеансе а явно. Почему нет?
июля 28, 2010 at 13:37
Добрый день.
Только если это не XP а сервер 2003 например, то пользователю «Робот» надо в «политиках» разрешить выполнять пакетные задания да еще и без явного логина в систему.
И самое главное у меня так и не заработало.
Процесс 1с в диспетчере задач висит, а обработка не выполняется. Выполняется только при явном логине от имени этого «робота». Мучался часа 3. плюнул.
p.s. Что бы отправить Комментарий справа от поля «Почта» стоит = Почта (не обязательно) (required).
В общем типа: «Кофе будешь?» – «Да нет наверное.»