Добрый день!
Абсолютный новичок в разработке 1С. Версия: 8.3.
Имеется обработка, которая открывает форму для выгрузки данных из базы в текстовый файл. Этот механизм сейчас работает в ручном режиме: задается руками период выгрузки (начало текущего месяца - текущая дата), указывается имя и путь к выгружаемому файлу и нажимается кнопка выполнения.
Сейчас поступило задание организовать запуск этого процесса в автоматическом режиме по расписанию каждые 10 минут. Что для этого нужно сделать?
Посмотрел в Конфигураторе модуль объекта - нашел в нем процедуру, реализующую данный механизм. Я так понимаю, что в ней надо:
1) программно рассчитать период выгрузки, типа:
(1) создаешь регламентное задание, в общий модуль (можешь свой создать) пишешь процедуру выгрузки т.е. из формы обработки переносишь в этот модуль и программно прописываешь параметры необходимые, и для регламентного задания указываешь расписание выгрузки. это если база серверная. если файловая то обработчик ожидания наверное использовать, но с общим модулем смысл тот же.
(1) создаешь регламентное задание, в общий модуль (можешь свой создать) пишешь процедуру выгрузки т.е. из формы обработки переносишь в этот модуль и программно прописываешь параметры необходимые, и для регламентного задания указываешь расписание выгрузки. это если база серверная. если файловая то обработчик ожидания наверное использовать, но с общим модулем смысл тот же.
(2) Сделал всё по твоему совету - регламентное задание не срабатывает. Ставил в нем галочки "Предопределенное", "Использование" во всех вариациях. Для проверки создал обработку, в ней - форму, на форме - кнопку, по нажатию которой необходимая процедура (точно такая же как в созданном общем модуле) должна сработать и файл выгрузить. Всё работает отлично.
Куда еще посмотреть?
(4) В книге посмотрел про создание регламентных заданий и делал аналогично.
(6) регламентное не запускается, или запускается но не делает то, что нужно ?
В консоли фоновых и регламентных заданий, добавил ? Расписание настроил ? Там должно четко быть видно, что оно запускается...и если там что-то не отрабатывает, то видно что завершилось с ошибкой, или успешно.
(9) В Консоли заданий состояние моего регламентного задания: "Задание завершено с ошибкой".
Ошибка фонового задания: "Недостаточно фактических параметров для метода фонового задания". Попробовал убрать в объявлении процедуры параметры (НачалоПериода и КонецПериода) - теперь в консоли: "Ошибка при вызове метода контекста (Записать)".
Файл пытался уже писать не на сетевой диск, а на сам сервер двумя способами:
1) ФайлДанных.Записать("с:\files\export.txt", КодировкаТекста.ANSI);
2) ФайлДанных.Записать("\\server\files\export.txt", КодировкаТекста.ANSI);
В обоих случаях вылезает вышеуказанная ошибка.
Что интересно: в Консоли заданий есть еще другое регламентное задание, выполняемое без ошибок и тоже на сервере, и у него заполнено поле "Ключ", в отличие от моего задания.
Ошибка фонового задания: "Недостаточно фактических параметров для метода фонового задания".
Значит оно все-таки запускается. Это твой код не работает.
Ну тут уже смотреть по факту надо. Это не в файледанныхЗаписать проблема. там была бы другая ошибка.
Явно в твоем коде вызывается процедура, где должны быть обязательные параметры но их нет.
Выкладывай тогда тексты твоего творения полностью, чтобы можно было понять.
Надо понимать, что регламентные задания выполняются на стороне сервера. Так что забудьте про Сообщить(), Предупреждение() и прочие уведомления на уровне интерфейса. Но запись в файл сработает.