Опубликован: 06.12.2011 | Доступ: свободный | Студентов: 3565 / 750 | Оценка: 4.50 / 4.39 | Длительность: 03:42:00
Лекция 7:

Построение распределенных информационных систем, поиск, регламентные задания, функциональные опции

< Лекция 6 || Лекция 7: 12345678910

Откроем код модуля и введем туда следующий код:

Процедура ПроверкаЗадания() Экспорт
  Сообщить("Задание работает, сейчас "+ТекущаяДата());  
КонецПроцедуры

Теперь укажем данную процедуру в настройках задания, в поле Имя метода, и перейдем к редактированию расписания. Расписание запуска настраивается с помощью нескольких вкладок окна Расписание, итоговый результат отображается в нижней части окна. На вкладке Общее установим в поле Повторять каждыезначение 1 дн., рис. 7.20.

Окно настройки расписания, вкладка Общее

Рис. 7.20. Окно настройки расписания, вкладка Общее

На вкладке Дневное мы можем настроить дневное расписание выполнения задания. Установим параметр Повторять через в значение 30 сек, то есть задание будет повторяться каждые 30 секунд после запуска, рис. 7.21.

Окно настройки расписания, вкладка Дневное

Рис. 7.21. Окно настройки расписания, вкладка Дневное

На вкладке Недельное можно задать расписание запуска по неделям, на вкладке Месячное – расписание по месяцам.

Ограничимся в настройках расписания вышеприведенными изменениями, закроем окно нажатием на кнопку ОК.

Мы работаем с информационной базой в файловом режиме. Если бы мы работали с серверным вариантом, то, для того, чтобы задание было запущено и выполнялось в соответствии с расписанием, нам нужно было бы лишь установить флажок Предопределенное в форме свойств задания. Для файлового варианта нам понадобятся некоторые дополнительные усилия (флажок Предопределенное мы так же установим).

А именно, создадим обработку с именем ОбработкаЗаданий. Включим ее в подсистему Администрирование. Создадим форму обработки, добавим на нее надпись "Обработка заданий. Закрыть для завершения", а в модуль обработки добавим следующий код:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
  ПодключитьОбработчикОжидания("ОбработкаЗаданий", 5);
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаЗаданий()
  ВыполнитьОбработкуЗаданий();
КонецПроцедуры

В этом коде мы подключаем обработчик ожидания формы при открытии формы. Он использует указанную при его вызове процедуру в качестве обработчика ожидания. Эта процедура будет вызываться каждый раз по истечению указанного при подключении интервала времени (в секундах).

В процедуре ОбработкаЗаданий() содержится вызов ВыполнитьОбработкуЗаданий() – этот метод глобального контекста может применяться только в файловом варианте работы базы (в серверном за обработку заданий отвечают другие механизмы), он вызывает обработку текущих заданий, которые выполняются в соответствии со своими расписаниями. На рис. 7.22. вы можете видеть окно программы с открытой формой обработки, ответственной за выполнение заданий. Как можно судить из окна служебных сообщений, наше регламентное задание выполняется каждые 30 секунд.

Форма обработки, ответственной за вызов метода ОбработкаЗаданий()

Рис. 7.22. Форма обработки, ответственной за вызов метода ОбработкаЗаданий()

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

< Лекция 6 || Лекция 7: 12345678910
Константин Павлов
Константин Павлов

Почему в лекции 1 "Основы организации бухгалтерской подсистемы" курса "Разработка прикладных решений для платформы 1С:Предприятие 8.2 в режиме "Управляемое приложение"" совершенно нет информации о том что нужно на вкладке данные в табличной части создать табличную часть "ВидыСубконто" и также нет информации о том какие нужно добавить реквизиты и какие у этих реквизитов должен быть тип? Считаю лекцию 1 в данном вопросе недоработанной.

Надежда Федулкина
Надежда Федулкина