Имя: Пароль:
1C
1С v8
Отладка регламентного задания
0 Mikhail Volkov
 
17.10.12
16:50
Есть внешняя работающая обработка, которую понадобилось запускать автоматом по расписанию. База файловая (пока) УТ10.3.
1. В константе ПользовательДляВыполненияРегламентныхЗаданийВФайловомВарианте указал пользователя Робот.
2. В конфигураторе создал регламентное задание ВыгрузитьОстаткиТовараДляСуперМАГ:
- расписание задал: каждый день, поторять через 10 минут (для отладки)
- галку Использование поставил
- прописал МодульРегламентныхЗаданий.ВыгрузитьОстаткиТовараДляСуперМАГ:

// Выгружать остатки товара для СуперМАГ по рассписанию.
// 17.10.2012 МВ.
Процедура ВыгрузитьОстаткиТовараДляСуперМАГ() Экспорт
   
   Сообщить("Запуск обработки выгрузки 'Остатки товара для супер МАГ' под пользователем " + ПараметрыСеанса.ТекущийПользователь, СтатусСообщения.Важное);
   Обработка = Справочники.ВнешниеОбработки.НайтиПоНаименованию("Остатки товара для супер МАГ");
   
   Если Обработка = Неопределено Тогда
       Сообщить("Не найдена обработка 'Остатки товара для супер МАГ'!", СтатусСообщения.Важное);
       Возврат;
   КонецЕсли;
   
   ИмяФайла = ПолучитьИмяВременногоФайла();
   ДвоичныеДанные = Обработка.ХранилищеВнешнейОбработки.Получить();
   ДвоичныеДанные.Записать(ИмяФайла);
   Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
   Форма.Открыть();
           
КонецПроцедуры

3. Запускаю прогу под Робот, смотрю отладчиком, дохожу до

Процедура ПоддержкаРегламентныхЗаданиеДляФайловойВерсии() Экспорт
   
   Сообщить("Запуск процедуры 'ВыполнитьОбработкуЗаданий()' под пользователем " + ПараметрыСеанса.ТекущийПользователь, СтатусСообщения.Важное);
   ВыполнитьОбработкуЗаданий();
   
КонецПроцедуры

А в свою процедуру ВыгрузитьОстаткиТовараДляСуперМАГ() не попадаю, не говоря уже об обработки!?
Что упустил?
1 Нуф-Нуф
 
17.10.12
16:56
2 pumbaEO
 
17.10.12
16:59
(1) Чукча писатель?
[База файловая (пока) УТ10.3]
3 Mikhail Volkov
 
17.10.12
17:00
(1) Специально базу в файловый вариант перевел, чтобы отладить.
4 Mikhail Volkov
 
17.10.12
17:05
В Отладке - Подключение- Автоматическое подключение- Фоновые задания галочку поставил.
5 NDN
 
17.10.12
17:07
Я писал обработку и из нее запускал процедуру с регл заданием. Так и отлаживал.
6 hhhh
 
17.10.12
17:08
я еще такую процедуру запускаю вначале

       ОбъектЗадания = РегламентныеЗадания.СоздатьРегламентноеЗадание("ЗагрузкаЗаказовКлиентов");
                           
   //    ОбъектЗадания.Наименование = Наименование;
       ОбъектЗадания.Использование = Истина;
                       
       Попытка
           ОбъектЗадания.Записать();
           РеквизитЗадания = Строка(ОбъектЗадания.УникальныйИдентификатор);
       Исключение
           ВызватьИсключение "Произошла ошибка при сохранении расписания загрузки заказов.  
               |Подробное описание ошибки: " + ОписаниеОшибки();
       КонецПопытки;
7 Mikhail Volkov
 
17.10.12
17:12
(6) В ПриНачалеРаботыСистемы()?
8 Mikhail Volkov
 
17.10.12
17:16
МодульРегламентныхЗаданий кто запускает

Процедура ПоддержкаРегламентныхЗаданиеДляФайловойВерсии() Экспорт
   
   Сообщить("Запуск процедуры 'ВыполнитьОбработкуЗаданий()' под пользователем " + ПараметрыСеанса.ТекущийПользователь + " в " + ТекущаяДата(), СтатусСообщения.Важное);
   ВыполнитьОбработкуЗаданий();
   
КонецПроцедуры

Это? Каждые 10 минут выдает сообщения
9 Mikhail Volkov
 
18.10.12
16:14
В файловом варианте отладил (в расписании накосячил), теперь вернулся в серверный вариант УТ10.3.
Вопрос: можно ли в серверном варианте не использовать фоновый режим? Пусть как файловом постоянно весит открытый сеанс под Роботом...
Это надо по следующим причинам:
1. Обработки, которые сейчас надо запускать по расписанию, не мои, писались под клиент. Фоновое задание запускается на сервере 1С, придется их переписывать.
2. Переписывать их придется тщательно, т.к. их зависание на сервере чревато плохими последствиями.
3. Обработки имеют параметры, которые могут меняться. В файловом варианте они сохраняются под Роботом. А в фоновом режиме под кем?

Есть возможность в серверном варианте не использовать фоновый режим?