Как выполнить модуль формы документа из внешней обработки #458420


#0 by Kell
имея ссылку на документ. И вообще, это возможно?
#1 by Варвар
А как вообще возможно выполнить модуль формы документа? Покажите пример
#2 by DUDE
Ну если открыть форму документа из ссылки, то сможешь обращаться к ее экспортным процедурам.
#3 by Kell
как получу результат - покажу)
#4 by Kell
спасибо. пробую)
#5 by Kell
ну вот, сделала процедуру экспортной и получила:
#6 by Kell
получила - Метод объекта не обнаружен (имяПроцедуры)
#7 by EasyRider
А она экспортная там?
#8 by DUDE
напиши, как ты обращаешься
#9 by amiko-k
ДокументСсылка - реквизит формы типа ДокументСсылка[ИмяДокумента]. Печать - экспортная процедура из модуля документа.
#10 by EasyRider
+Ой,не увидел
#11 by also
писатель? про модуль формы речь..
#12 by DUDE
у автора речь о функции формы документа. ч
#13 by also
Код кажи..
#14 by Дикообразко
можно и не экспортую вызвать
#15 by Kell
для Каждого ТекущаяСтрока из ТаблицаДокументов Цикл
#16 by Kell
Процедура РаботникиОрганизацииСотрудникОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Экспорт
#17 by DUDE
если РаботникиОрганизацииСотрудникОбработкаВыбора твоя функция формы, то тебе сначала нужно получить форму документа, в которой она содержится.
#18 by Дикообразко
бугуга...а форму кто создавать будет?
#19 by Mitriy
извращенцы...
#20 by also
мда..а где ПолучитьФорму
#21 by Kell
Спасибо
#22 by DUDE
+ вряд ли она у тебя корректно сработает. Если тебе нужно сделать заполнение документа из формы, то проще было бы прицепить внешнюю обработку заполнения через станд. механизм типовых. Либо использовать код, который отрабатывает при вызове функции, а здесь, видимо, смысл функции в проверке добавляемой строки в таб.часть документа, а не обработки (в общем у вас не сработает нормально). Пишите свою процедуру проверки и добавления строки в ТЗ.
#23 by DUDE
Хочу извиниться за корявость, проморгал, что тзРаб - таб.часть документа.
#24 by Kell
дело в том, что надо удалить данные из табличной части документа и заново их перевыбрать. И нужен именно тот стандартный код который срабатывает при интерактивном заполнении. Зачем изобретать велосипед. Может вы тогда еще один косяк поможете исправить) Думаю, там тоже какая-нить глупая ошибка: в процедуру формы передается параметр "элемент", который как я поняла содержит значение "полеВвода", которое на форме документа находится. Как правильно обратиться к этому полю...
#25 by Mitriy
Элемент.Значение
#26 by DUDE
Если очень хочется воспользоваться этой процедурой, то вам нужно делать обход самого элемента формы (табличного поля), чтоб получать в качестве новаяСтрокаРаб не строку таб.части, а элемент формы (текущую строку таб.поля). Я бы предложил такой алгоритм: 1. создаете пустую ТЗ со структурой таб.части (под данные) 2. прогоняете обработку таб.части и подходящие строки закидываете в ТЗ из 1. 3. чистите таб.часть документа и заполняете данными из ТЗ. (не уверен, что вы корректно сможете обойти таб.часть если сразу же в цикле "Для каждого" будете удалять строки, если уж удалять сразу, то обходить лучше используя "Цикл счк = 0 по КолвоСтрокТЧ-1 Цикл..." и удалять строки начиная с последней, то есть ТекСтрока = Табчасть[КолвоСтрокТЧ - счк]).
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С