Как автоматически запускать процедуру по расписанию

1. j_a_mmm 24.03.17 07:11 Сейчас в теме
Добрый день!
Абсолютный новичок в разработке 1С. Версия: 8.3.
Имеется обработка, которая открывает форму для выгрузки данных из базы в текстовый файл. Этот механизм сейчас работает в ручном режиме: задается руками период выгрузки (начало текущего месяца - текущая дата), указывается имя и путь к выгружаемому файлу и нажимается кнопка выполнения.
Сейчас поступило задание организовать запуск этого процесса в автоматическом режиме по расписанию каждые 10 минут. Что для этого нужно сделать?
Посмотрел в Конфигураторе модуль объекта - нашел в нем процедуру, реализующую данный механизм. Я так понимаю, что в ней надо:
1) программно рассчитать период выгрузки, типа:
Сообщить(ТекущаяДата());
	Сообщить(НачалоМесяца(ТекущаяДата()));
	НачалоПериода = НачалоМесяца(ТекущаяДата());
	КонецПериода = ТекущаяДата();

2) указать имя и путь к выгружаемому файлу, типа:
ФайлДанных.Записать("s:\export.txt", КодировкаТекста.ANSI); 

3) как-то ее запускать по расписанию без открытия формы?
Собственно, прошу помочь с третьим пунктом, если остальные я прописал верно.
+
По теме из базы знаний
Найденные решения
2. DmitriyPopow 33 24.03.17 08:27 Сейчас в теме
(1) создаешь регламентное задание, в общий модуль (можешь свой создать) пишешь процедуру выгрузки т.е. из формы обработки переносишь в этот модуль и программно прописываешь параметры необходимые, и для регламентного задания указываешь расписание выгрузки. это если база серверная. если файловая то обработчик ожидания наверное использовать, но с общим модулем смысл тот же.
j_a_mmm; +1
11. ipoloskov 162 30.03.17 13:31 Сейчас в теме
Папка с:\files\ на сервере существует? Права на запись в нее у пользователя USR1CV8 есть?
Ключ тут совершенно ни при чем
j_a_mmm; +1
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DmitriyPopow 33 24.03.17 08:27 Сейчас в теме
(1) создаешь регламентное задание, в общий модуль (можешь свой создать) пишешь процедуру выгрузки т.е. из формы обработки переносишь в этот модуль и программно прописываешь параметры необходимые, и для регламентного задания указываешь расписание выгрузки. это если база серверная. если файловая то обработчик ожидания наверное использовать, но с общим модулем смысл тот же.
j_a_mmm; +1
6. j_a_mmm 30.03.17 11:20 Сейчас в теме
(2) Сделал всё по твоему совету - регламентное задание не срабатывает. Ставил в нем галочки "Предопределенное", "Использование" во всех вариациях. Для проверки создал обработку, в ней - форму, на форме - кнопку, по нажатию которой необходимая процедура (точно такая же как в созданном общем модуле) должна сработать и файл выгрузить. Всё работает отлично.
Куда еще посмотреть?
(4) В книге посмотрел про создание регламентных заданий и делал аналогично.
+
8. olegmedvedev 65 30.03.17 11:36 Сейчас в теме
(6) база файловая или SQL? если SQL то посмотрите в Агенте администрирования серверов 1С - не стоит ли галочка "блокировка регламентированных заданий"
+
9. Boneman 298 30.03.17 11:44 Сейчас в теме
(6) регламентное не запускается, или запускается но не делает то, что нужно ?
В консоли фоновых и регламентных заданий, добавил ? Расписание настроил ? Там должно четко быть видно, что оно запускается...и если там что-то не отрабатывает, то видно что завершилось с ошибкой, или успешно.
+
10. j_a_mmm 30.03.17 13:25 Сейчас в теме
(9) В Консоли заданий состояние моего регламентного задания: "Задание завершено с ошибкой".
Ошибка фонового задания: "Недостаточно фактических параметров для метода фонового задания". Попробовал убрать в объявлении процедуры параметры (НачалоПериода и КонецПериода) - теперь в консоли: "Ошибка при вызове метода контекста (Записать)".
Файл пытался уже писать не на сетевой диск, а на сам сервер двумя способами:
1) ФайлДанных.Записать("с:\files\export.txt", КодировкаТекста.ANSI);
2) ФайлДанных.Записать("\\server\files\export.txt", КодировкаТекста.ANSI);
В обоих случаях вылезает вышеуказанная ошибка.
Что интересно: в Консоли заданий есть еще другое регламентное задание, выполняемое без ошибок и тоже на сервере, и у него заполнено поле "Ключ", в отличие от моего задания.
+
12. Boneman 298 30.03.17 13:37 Сейчас в теме
(10)
Ошибка фонового задания: "Недостаточно фактических параметров для метода фонового задания".

Значит оно все-таки запускается. Это твой код не работает.
Ну тут уже смотреть по факту надо. Это не в файледанныхЗаписать проблема. там была бы другая ошибка.

Явно в твоем коде вызывается процедура, где должны быть обязательные параметры но их нет.
Выкладывай тогда тексты твоего творения полностью, чтобы можно было понять.
+
4. kolya_tlt 86 24.03.17 08:49 Сейчас в теме
(1) 1. купить книгу http://v8.1c.ru/metod/books/book.jsp?id=401
2. открыть книгу
3. прочитать главу с рег заданиями
ipoloskov; necropunk; +2
3. binex 277 24.03.17 08:40 Сейчас в теме
По-моему, сейчас в типовых конфигурациях имеется возможность штатно запускать обработки по расписанию, которые зарегистрированы во внешних обработках.
+
5. Octopus 337 24.03.17 15:58 Сейчас в теме
Надо понимать, что регламентные задания выполняются на стороне сервера. Так что забудьте про Сообщить(), Предупреждение() и прочие уведомления на уровне интерфейса. Но запись в файл сработает.
+
7. ipoloskov 162 30.03.17 11:32 Сейчас в теме
Если база не файловая, то "s:\export.txt" нужно искать на сервере
А вообще смотрите журнал регистрации с отбором по ошибкам
+
11. ipoloskov 162 30.03.17 13:31 Сейчас в теме
Папка с:\files\ на сервере существует? Права на запись в нее у пользователя USR1CV8 есть?
Ключ тут совершенно ни при чем
j_a_mmm; +1
13. j_a_mmm 30.03.17 13:44 Сейчас в теме
(11) Спасибо! Действительно у пользователя USR1CV8 не было прав на запись в папку. Сейчас всё выгружается без ошибок.
+
Внимание! Тема сдана в архив

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