Имя: Пароль:
1C
1С v8
УТ11 обращение к форме внешней обработки из регламентного задания
0 ildary
 
10.07.17
09:46
Уважаемые специалисты, подскажите пожалуйста возможно ли такое: есть внешняя обработка, которая закрывает резервы, для успешной работы (эмуляция табличной части документа) - в ней есть своя табличная часть, к которой идет обращение из формы обработки.

Все работает, теперь хочется эту внешнюю обработку вызывать из регламентного задания (чтобы не человек нажимал кнопку "Снять старые резервы", а ночью все само делалось).

Проблема в том, что в рег. заданиях есть только серверные процедуры, форм нет и непонятно, как обратиться к нужной процедуре формы из рег.задания. Переписать обработку целиком на серверную процедуру не получается - т.к. табличная часть обработки перестает себя вести так Т.Ч формы - не работает процедура ПолучитьИдентификатор().
1 mehfk
 
10.07.17
09:48
(0) Нужно перебороть себя и переписать код для работы на сервере.
2 senior
 
10.07.17
09:48
(0) Неправильная архитектура, в формах должно быть только то, что относится к интерфейсу, надо переносить в модуль обработки.
3 PuhUfa
 
10.07.17
09:49
(0) Зачем тебе в регламентом задании вообще форма? ТЗ тебя спасет
4 ildary
 
10.07.17
09:54
(1)..(3) я понимаю, что так и надо сделать - перенести все на сервер, но не понимаю чем заменить сравнение идентификаторов у двух Т.Ч. - без формы не работает функция ПолучитьИдентификатор().
5 butterbean
 
10.07.17
09:57
(4) ПолучитьИдентификатор() — это зло при обработке данных, переделывай все на индексы таблиц и т.п.
6 ildary
 
10.07.17
10:01
(5) спасибо за пинок в нужном направлении.
7 ildary
 
10.07.17
10:41
Эх не так все просто - метод ОбеспечениеСервер.ТаблицаЗаполнениеОбеспечения() и ВыделенныеСтрокиВТаблицу() требует идентификатор, а тянуть еще и их - это тянуть и переписывать все прочие зависимости.
8 butterbean
 
10.07.17
10:53
(7) передавай индексы строк вместо идентификаторов
9 ildary
 
10.07.17
10:59
(8) бесполезно, так как в  ОбеспечениеСервер.ВыделенныеСтрокиВТаблицу() используется ТаблицаТовары.НайтиПоИдентификатору(Идентификатор); а ТаблицаТовары - не из формы вызывается (где НайтиПоИдентификатору() работает, а из серверной процедуры). А тянуть все процедуры с переписыванием очень не хочется, так как впереди апгрейд на 11.3 (а в перспективе и на 11.4).
10 mehfk
 
10.07.17
11:01
(9) Не хочешь или не можешь сам - делегируй это кому-нибудь другому.
11 ildary
 
10.07.17
11:03
(10) не хочу рожать монстра, перетягиванием кучи процедур из общих модулей. Договорились, что специально обученный человек будет изредка запускать эту обработку вручную.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn