|
Как передать параметр из внешней печатной формы на упр.форму? | ☑ | ||
---|---|---|---|---|
0
wms
01.03.16
✎
12:57
|
УТ11.
Для договора создал внешнюю печатную форму. На форме есть реквизит "ДоговорКонтрагента" надо его заполнить из договора из которого нажали на "Печать договора контрагента". т.к. в зависимости от договора и еще др. выбранных пользователем реквизитов формы далее будет формироваться нужная печатная форма. Во внешней печ. форме изпользуются такие команды: НоваяСтрока = Команды.Добавить(); НоваяСтрока.Идентификатор = "Печать договора контрагента"; НоваяСтрока.Представление = "Печать договора контрагента(Внешняя печатная форма)"; НоваяСтрока.Модификатор = ""; НоваяСтрока.ПоказыватьОповещение = Ложь; НоваяСтрока.Использование = "ОткрытиеФормы"; |
|||
1
wms
01.03.16
✎
13:00
|
или надо делать
НоваяСтрока.Идентификатор = "ВызовСерверногоМетода"; и уже из процедуры модуля объекта Процедура Печать(МассивОбъектов,КоллекцияПечатныхФорм,ОбъектыПечати,ПараметрыВывода) Экспорт открывать форму? |
|||
2
ЧеловекДуши
01.03.16
✎
13:34
|
(0) ЧиТО?
Код покажи, где затык случился? |
|||
3
wms
01.03.16
✎
13:54
|
(2)в форме кода нет.
она автоматически открывается в модуле обекта стандартная функция Функция СведенияОВнешнейОбработке() Экспорт которая с помощью команды НоваяСтрока.Использование = "ОткрытиеФормы"; открывает форму Вот мне нужно как то при открытии формы получить договор |
|||
4
LordCMEPTb
01.03.16
✎
14:15
|
Осталось понять, какой из договоров брать: первый, последний или случайный.
Если память не изменяет, в параметрах при создании формы можно отловить массив "ОбъектыНазначения", в котором будут все договоры, для которых вызывается эта форма. |
|||
5
wms
01.03.16
✎
14:25
|
(4)первый т.к. будут еще параметры задавать перед печатью и по одному будут печатать .спасибо за наводку щас поищу.
еще бы понять как в отладчике посмотреть. Что там за команда вызывает внешнюю обработку печати?Реально там отладить? |
|||
6
wms
01.03.16
✎
15:01
|
Хочу увидеть параметры открывая обработку через меню файл-открыть, даже добавил туда вручную параметр "ОбъектыНазначения_"
что то в параметрах пусто http://s010.radikal.ru/i311/1603/e7/93ec0e625a2c.png как его увидеть? |
|||
7
Defender aka LINN
01.03.16
✎
15:08
|
(0) "На форме есть реквизит "ДоговорКонтрагента" надо его заполнить" - то неловкое чувство, когда печатная форма должна бы превратиться в обработку заполнения, но нет.
|
|||
8
aleks_default
01.03.16
✎
15:17
|
(6) Через файл-открыть ты ничего не увидишь. Читай про отладку внешних печатных форм в гугле.
|
|||
9
wms
02.03.16
✎
01:24
|
сделал так. Для заметки.
&НаКлиенте Процедура Печать(ИдентификаторКоманды,ОбъектыНазначения) Экспорт открытьформумодально("ВнешняяОбработка.ПечатьДоговораКонтрагента.Форма.ФормаПараметры",,этаформа); Если не объект.ВвелиПараметры Тогда возврат; //отмену нажали КонецЕсли; Если объект.ВидПечатнойФормы=1 Тогда //Отсрочка ИмяМакета="МакетОтсрочка"; иначе //2 предоплата ИмяМакета="МакетПредоплата"; КонецЕсли; Для Каждого ДоговорКонтрагента Из ОбъектыНазначения Цикл СтруктураДанных=ПолучитьДанныеДляПечатиДоговора(ДоговорКонтрагента); ПолноеИмяФайла = ПолучитьИмяВременногоФайла("doc"); МакетХ = ВернутьМакет(ИмяМакета); МакетХ.Записать(ПолноеИмяФайла); Попытка Word = Новый COMОбъект("Word.Application"); NewDoc=Word.Documents; Док = NewDoc.Add(ПолноеИмяФайла); Исключение Сообщить("Ошибка.Возможно не установлен Word ? Ошибка:"+ОписаниеОшибки()); КонецПопытки; Для каждого Стр Из СтруктураДанных Цикл ЗаменаТекста(Док.Content.Find,"%"+сокрлп(стр.ключ)+"%",сокрлп(Стр.Значение)); КонецЦикла; Док.Application.Visible = Истина; Док.Activate(); Попытка Если сокрлп(ПолноеИмяФайла)<>"" Тогда удалитьфайлы(ПолноеИмяФайла); КонецЕсли; Исключение КонецПопытки; КонецЦикла КонецПроцедуры т.е. открываю в режиме "ВызовКлиентскогоМетода" и далее открываю доп.форму для ввода параметров |
|||
10
los_hooliganos
02.03.16
✎
06:30
|
Почему-то не могу сюды код отправить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |