Имя: Пароль:
1C
1С v8
Траблы с внешней печатной формой
,
0 Родом из детства
 
02.11.21
15:04
Всем привет. Перед печатью нужно чтобы пользователь указал, какой вид цены использовать. Им легче ориентироваться по документам "Инвентаризационная опись". Реализовал это так:
В команды печати добавил команду с типом "ВызовКлиентскогоМетода". На форме внешней обработки имеется экспортная клиентская процедура "Печать(ИдентификаторКоманды, МассивОбъектов)". На форму добавил реквизит "АдресВременногоХранилища". Во временное хранилище помещаю массив объектов, далее открываю форму выбора документов(владелец - "ЭтаФорма"). Создаю обработчик ОбработкаВыбора, из него уже получаю выбранную Инв.Опись и формирую табличный документ(экспортная процедура в модуле объекта обработки).
Трабл в том, что ОбработкаВыбора не срабатывает(
Код:

&НаКлиенте
Процедура Печать(ИдентификаторКоманды, МассивОбъектов) Экспорт
    АдресВрХранилища = ПоместитьВоВременноеХранилище(МассивОбъектов);
    Сообщить(АдресВрХранилища);
    ПараметрыВыбора = Новый Структура("РежимВыбора",Истина);
    ОткрытьФорму("Документ.ИнвентаризационнаяОпись.ФормаВыбора",ПараметрыВыбора, ЭтаФорма);
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора) Экспорт
        Сообщить("ад: " + АдресВрХранилища); // не срабатывает
        ТабДок = ПолучитьТабличныйДокумент(ВыбранноеЗначение);
        ТабДок.Показать();
КонецПроцедуры

&НаСервере
Функция ПолучитьТабличныйДокумент(ИнвентаризационнаяОпись)
    Сообщить("ад: " + АдресВрХранилища); // не срабатывает
    Обработка = РеквизитФормыВЗначение("Объект");
    мОбъектов = ПолучитьИзВременногоХранилища(АдресВрХранилища);
    ТабДок = Обработка.ПечатьМХ14(мОбъектов, мОбъектов, ИнвентаризационнаяОпись);
    
    Возврат ТабДок;
КонецФункции
1 SuperMario
 
02.11.21
15:29
Новый ОписаниеОповещения
2 серый КТУЛХУ
 
02.11.21
15:40
да, м.б. надо через оповещение. т.к. ты в принципе с этой всей бедой "снаружи работаешь - и оно клиентскую "внутреннюю" обработку события не отлавливает. а через оповещение (с экспорт-процедурой) как бы должно.
ну или я гоню (в смысле догадки мои ошбочные). но проверить - несложно, тем более что ты заинтересованное лицо. поделишься потом?..
3 Родом из детства
 
02.11.21
15:44
(1) Да, спасибо, сработало. Прост когда вручную запускал и с обработкой выбора срабатывало
4 Родом из детства
 
02.11.21
15:44
(2) Через оповещение сработало
5 SuperMario
 
02.11.21
15:48
(3) А обработку выбора в события формы включили?
6 серый КТУЛХУ
 
02.11.21
15:52
(4): кк, спасибо, познавательно.
(мой внктренний голос меня не обманул, надо себя теперь за это премировать как-нибудь))

(5): куда? это не нуно, открытие из клиента формы в режиме выбора - гарантирует отработку (в модуле формы, из которой открыт этот выбор) клиентской процедуры "ОбработкаВыбора" (там по параметрам распознается - откуда и что в выборе прилетело)
7 SuperMario
 
02.11.21
16:02
(6) Нет