Имя: Пароль:
1C
 
Регламентные задания в файловом варианте
0 Dzam
 
09.02.09
04:45
Много уже было про них вопросов и везде почти один совет.
Процедура ОбработкаЗаданий()
   ВыполнитьОбработкуЗаданий();
КонецПроцедуры;
ПодключитьОбработчикОжидания("ОбработкаЗаданий", 5);

Но скажите как тогда работает автообмен в стандартной УТ? В режиме предприятия настраивал, сам видел как периодически запускается отправляет и получает данные. Вот бы еще в фоне все это сделать. Подскажите как?
1 SUA
 
09.02.09
05:48
и?
запускается и выполняет и все счастливы
2 Serg_1960
 
09.02.09
08:41
Вспомнил (улыбнулся) как я с регламентом разбирался (снисходительно улыбаясь) :)
v8: Эй ты, регламентная зараза, бой курантов слышишь, - запускайся!
3 Dzam
 
09.02.09
23:16
(2) Читал эту статью. Немного не то что мне необходимо.
Вот пишу вот такой код.

РЗ = РегламентныеЗадания.СоздатьРегламентноеЗадание( "ПроверкаОплат" );
РЗ.Использование = Истина;
РЗ.ИмяПользователя = ПараметрыСеанса.ТекущийПользователь;
   
ДиалогРасписания = Новый ДиалогРасписанияРегламентногоЗадания(Рз.Расписание);
   ДиалогРасписания.ОткрытьМодально();
РЗ.Расписание = ДиалогРасписания.Расписание;
РЗ.Записать();

Потом делаю
МассивЗаданий = ФоновыеЗадания.ПолучитьФоновыеЗадания();
   
Для Сч = 0 По МассивЗаданий.Количество() - 1 Цикл
   Сообщить( МассивЗаданий.Получить( Сч ).РегламентноеЗадание );
КонецЦикла;

И моего РЗ там нет. Почему?
4 Dzam
 
09.02.09
23:35
Вот так все заработало:

Перем РЗ;

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


Процедура КнопкаВыполнитьНажатие(Кнопка)
       
   РЗ = РегламентныеЗадания.СоздатьРегламентноеЗадание( "ПроверкаОплат" );
   РЗ.Использование = Истина;
   РЗ.ИмяПользователя = ПараметрыСеанса.ТекущийПользователь;
   
   ДиалогРасписания = Новый ДиалогРасписанияРегламентногоЗадания(Рз.Расписание);
   ДиалогРасписания.ОткрытьМодально();
   РЗ.Расписание = ДиалогРасписания.Расписание;
   РЗ.Записать();
   
   ПодключитьОбработчикОжидания( "ПроизвестиПроверкуОплат", глЗначениеПеременной("глКоличествоСекундОпросаОбмена") );
   
КонецПроцедуры

И это не смотря на то что в Массиве фоновых заданий меня все равно нету.
Текст модуля написан во внешней обработке. Дополнительно в конфигураторе добавлено РегламентноеЗадание "ПпроверкаОплат", которое ссылается на процедуру, в этой процедуре и происходит все что необходимо для полного счастья. :)
5 ZyXEL
 
09.02.09
23:37
(4) тут уже не регламентное задание.... а  просто ОбработчикОжидания... это немного разное...
6 Dzam
 
09.02.09
23:44
Обработчик ожидания запускает регламентированное задание. Так то разное. Но у меня и вопрос был почему РЗ не работали. А не работали потому что не было ОбработчикаОжидания, который бы все это дело выполнял. Я теперь не пойму как весь список РЗ просмотреть. В отладчике вижу, что уже кучу РЗ насоздавал, а через что их удалить можно не пойму... Можно конечно программно, но где то они должны быть в пользовательском режиме.
7 Serg_1960
 
10.02.09
00:19
В типовых конфах, специально для файловых версиях, есть константа типа "Пользователь для запуска регламентных заданий". Если в ней указать пользователя и запустить сеанс программы "под" этим пользователем, то конфа автоматически запускает обработчик ожидания. Этот обработчик "имитирует" работу планировщика заданий. Планировщик заданий проверяет расписание регламентных заданий и (если это необходимо) - запускает их. С помощью внешней обработки "Консоль регламентных заданий" с диска ИТС можно создавать рег.задания, изменять их расписание, запускать и останавливать их работу. Вопрос: автор, а что у вас не так?. Найдите три отличия :)

PS: от автора я не услышал ни слова про то, что отличает рег.задание от "простого" фонового задания... Я не услышал ни слова про РАСПИСАНИЕ. Имхо, автор ещё не дорос до этого понятия или был невнимателен, читая предложенную ссылку :(
8 Dzam
 
10.02.09
05:42
(7) ЗА информацию про обработку спасибо. Вы простите меня но ваш язык общения для меня немного не понятен ВЫ как будто инопланетянен :). Меня не интересует расписане на котором вы зациклились :), оно у меня работает. Меня не интересует Пользователь, я его с самого начала проставлял (см 3 пост). Я задавал кокретный вопрос с конкретным кодом. А про отличия Ргламентного задания от фонового сам бы хотел услышать так как не понимаю что такое фоновые задания.
9 luns
 
10.02.09
07:15