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

1. ArikiteSun 16.09.13 14:13 Сейчас в теме
Исходная: УТ ред. 10.2 в файловом варианте.

Имеется внешняя обработка инициирующая загрузку данных из СRМ

Необходимо организовать автоматизацию загрузки по расписанию.

Почтеннейшие Гуру, нет ли у кого из Вас линка на мануальчик по сабжу...?

Или советом кто великодушно поделится )
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Dmitrii D 78 16.09.13 14:29 Сейчас в теме
(1) Arikite, ну и все методы регламентного задания должны быть серверные так как все выполняется в контексте сервера
2. Dmitrii D 78 16.09.13 14:28 Сейчас в теме
Создаешь регламентное задание в одном из общих модулей прописываешь запуск в виде процедуры экспортной, что-то типа такого ну и с помощью консоли регламентных заданий с диска ИТС задаешь все остальные нюансы. ну или в конфигураторе

Внешняя = ВнешниеОтчеты.Создать("D:\пусть.ерт);
Форма = Внешняя.ПолучитьФорму();
Форма.Открыть();

Когда кстати пишешь форма.выполнить() процедура выполнить должна быть экспортной!
smilemanrus; +1 Ответить
4. taiba 87 17.09.13 13:16 Сейчас в теме
(2) dmitriy29, "Форма.Открыть()" на сервере?
5. Dmitrii D 78 17.09.13 14:53 Сейчас в теме
(4) taiba, не открыть не надо)) надо процедуру обработки, правильное замечание
6. ArikiteSun 18.09.13 10:37 Сейчас в теме
Скуля нет, бд в файловом варианте ))
7. taiba 87 18.09.13 13:08 Сейчас в теме
(6) Arikite, если будет скуль, не надо будет переделывать
9. Dmitrii D 78 18.09.13 16:53 Сейчас в теме
(6) Arikite, тогда пользователь указывается под которым задание выполняется и у него 1с всегда открыта в то время когда задание стартует
8. fzt 18.09.13 13:45 Сейчас в теме
Внешняя обработка должна храниться в справочнике внешних обработок. Так не запутаешся в версиях.
Перед выполнением кода внешней обработки - выгрузить обработку на диск во временный файл.
Выставить глобальный флаг ака "РегламентноеЗадание1 = истина". Чтобы не запустить второе задание в момент работы первого.
Открыть внешний файл, запустить нужную цепочку функций.
Снять флаг "РегламентноеЗадание1", если необходимо вызвать это-же задание в конкретное время - рассчитать таймаут от текущего.
Выставить параметр "ВремяВыполненияРегламентногоЗадания1" = Дата,время.
Если задание периодечиное - Повторить собственный вызов через таймаут.
Убиться, нас вызовут через таймаут или когда поднимется сервер.

Самое удобное и выживаемое (отключение света, падение сервера) для сервера под виндой - создание пользователя ака "Служебный".
Под которым и будут выполнятся все регламентные задания.

Пользователь заходит - сразу отрабатывает код, который проверяет не были ли пропущены какие-либо регламентные задания по флагам "ВремяВыполненияРегламентногоЗадания1". Если пропустили тут уж кодом определяйся, какие запустить немедленно, какие в конкретное время.

Пользователь должен торчать в базе вечно, кроме времени бэкапов.
Расписание регламентных заданий настраивать виндовым планировщиком заданий.
Настроить его так: пытаться выполнить таск каждые 15 минут, если таск запущен, ничего не делать.
10. ncerber 1 12.10.13 16:33 Сейчас в теме
День добрый.
Я в своё время решил проблему следующим образом.
1. Создал на сервере отдельного пользователя. Под ним у нас будет запускаться 1С-ка с обработкой.
2. Дописываем в обработке
Процедура ПриОткрытии()
	Если Найти(ПараметрЗапуска,"-exchange")>0 Тогда		
		ВыполнитьОбменПоПараметрам(ПараметрЗапуска); // Это то что делает обработка
		ЗавершитьРаботуСистемы(Ложь);
	КонецЕсли;	
КонецПроцедуры

3. Делаем текстовый файлик
/F "Путь к файловой БД"
/N "Логин 1С"
/P "Пароль"
/DisableStartupMessages
/C-exchange("133",Y,Y)
/Execute "C:\Reglament\АвтОбменДанными.epf"

4. И бат файл
CD "Путь к 1С-ке"
Start 1cv8.exe /@Путь к файлику из пункта 3

5. Бат файл загоняем в планировщик винды. Под пользователем который мы создали в первом пункте.
sur0g; baltexpert_39; join2us; nano1c; atheist_hax; archi517; wunderland; +7 Ответить
11. zaoallat 20.04.17 10:09 Сейчас в теме
(10)

Думаю Ваше решение простое. Наверно возьму его на вооружение. Один момент контроль второго запуска и весь остальной контроль не доступен. Буду пробовать. Конфигурация не типовая думаю разберусь.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот