Версия для печати темы (https://pro1c.org.ua/index.php?s=fc79d798be2bfa4c86c31cc4d5ae8852&showtopic=7340)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ Регламентное задание
Автор: Irina_ 14.05.12, 10:36
Здравствуйте
Платформа 8,2,15,294
Конфигурация самописная.
Возник вопрос в создании регламентного задания по загрузке погоды. Данные берутся с Гисметео, в обработке идет подключение к сайту, берется XML, разбирается и записывается все это дело в регистр сведений.
Данные на сайте обновляются через каждых 6 часов.
Создала регламентное задание, нарисовала ему расписание.
Создала общий модуль и туда поместила код программы по загрузке данных.
Интуитивно понимаю что нужно где-то этот модуль вызывать, и наверно подключать какие-то обработчики ожидания (во как умнО все )))
Но что подключать и где, учитывая что база самописная, не совсем понимаю ))
Помогите кто чем может )
Автор: logist 14.05.12, 11:20
Цитата(Irina_ @ 14.05.12, 11:36)
что нужно где-то этот модуль вызывать
В свойствах регл.задания - Имя метода - указать процедуру которая инициирует получение данных.
Автор: Ardi 14.05.12, 11:23
logist
Нужно ли устанавливать 1с сервер?
Автор: logist 14.05.12, 12:01
Цитата(Ardi @ 14.05.12, 12:23)
Нужно ли устанавливать 1с сервер?
Если 1С будет все время открыта (и у открытого сеанса будет возможность запускать регл.задания) то нет.
Автор: Ardi 14.05.12, 12:11
logist
А если сервер не установлен.
И запущено 10 экземпляров 1с - оно как-то разруливает что одно задание только один раз на всех 10 экземплярах должно отработать или нет?
Видит ли что на другом экземпляре задание уже начало выполняться но ещё не выполнено/отменено?
Автор: logist 14.05.12, 12:50
Цитата(Ardi @ 14.05.12, 13:11)
оно как-то разруливает что одно задание только один раз на всех 10 экземплярах должно отработать или нет?
Как-то разруливает, конечно))
Автор: Vofka 14.05.12, 13:09
Цитата(logist @ 14.05.12, 13:01)
Если 1С будет все время открыта (и у открытого сеанса будет возможность запускать регл.задания) то нет.
При выполнении всех выше указанных условий всёравно ничего не произойдет. Не произойдет, пока не выполним:
Цитата
Глобальный контекст (Global context)
ВыполнитьОбработкуЗаданий (ProcessJobs)
Синтаксис:
ВыполнитьОбработкуЗаданий(<ВремяОбработки>)
Параметры:
<ВремяОбработки> (необязательный)
Тип: Число.
Время в секундах обработки очередной порции заданий. Если время не задано, будет выполнен только один цикл обработки.
Описание:
Вызывает обработку текущих заданий. Имеет смысл только для файлового варианта.
В управляемом режиме в толстом, тонком и веб-клиентах приводит к появлению диалога, содержащего сообщение о выполнении обработки заданий и кнопку "Прервать", нажатие на которую приводит к прерыванию цикла обработки заданий.
Доступность:
Тонкий клиент, веб-клиент, толстый клиент.
Автор: Batchir 14.05.12, 13:40
Цитата(logist @ 14.05.12, 13:50)
Как-то разруливает, конечно))
Не забываем, "как-то разруливает" описано в типовых конфигурациях, а тут дело имеем с самописной конфигурацией.
И почему то мне кажется что раз с регламентными заданиями идет знакомство, то оно никак не разруливает.
Автор: Vofka 14.05.12, 13:48
Как написал Batchir, механизм разруливания описан в самой конфе. Но там все просто: есть константа, в которой хранится пользователь для выполнения регламетных заданий. При запуске система проверяет не текущий ли это пользователь. Если текущий, то вызывает метод, который я привёл выше.
Автор: Irina_ 14.05.12, 14:04
Ну константу добавить не проблема, а как проверить пользователя при запуске системы?
В модуле управляемого приложения ни ПараметрыСеанса ни ПользователиИнформационнойБазы при запуске не определяются, матюкается вобщем
появилась идея запускать обработку при входе в систему под определенным служебным пользователем, и в настройках самой винды создать расписание и по нему заходить в 1С под данным пользователем через те же 6 часов (ну как-то так) ))
Автор: pablo 14.05.12, 14:17
У меня в типовой конфе допиленной на УФ есть регламентные задания, выполняющиеся только на сервере. Выполняться они начали только после установки галочки "Предопределенное" в свойствах регламентного задания
Автор: Vofka 14.05.12, 14:30
Цитата(pablo @ 14.05.12, 15:17)
Выполняться они начали только после установки галочки "Предопределенное" в свойствах регламентного задания
Потому что само по себе регламентное задание - это информация о намерении с ним работать. Если оно помечено как "предопределенное", то оно стартует само, а иначе его надо стартовать программно.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua