|
Печатная форма в УФ с формой (выбор подписи пользователем!) | ☑ | ||
---|---|---|---|---|
0
Diamond905
23.02.14
✎
17:56
|
Как сделать на управляемой форме (УТ 11 и БП 3), чтобы можно было при выборе печати сначала вызвать форму, где пользователь что то выберет, а потом это будет использоваться при печати? На обычных просто все было - в процедуре печати вызываешь форму модально, выбираешь что нужно и вуаля используешь реквизиты формы.
На управляемой печать вроде как на сервере, модуль объекта же. Пробовал и так и сяк. Добился того что сначала появляется форма: ДобавитьКоманду(ТаблицаКоманд, "Счет-Фактура с выбором уполномоченных лиц", "ВПФ_MXL_СчетФактура1137", "ОткрытиеФормы", Истина, "ПечатьMXL"); Но дальше то при попытке печати с формы: &НаКлиенте Процедура ОК(Команда) ВыполнитьОткрытиеПечатнойФормы(); ЭтаФорма.Закрыть(); КонецПроцедуры &НаКлиенте Процедура ВыполнитьОткрытиеПечатнойФормы() МассивОбъектов = новый Массив; Для Каждого Строка из ОбъектыПечати Цикл МассивОбъектов.Добавить(Строка.Значение); КонецЦикла; СтандартнаяОбработка = Истина; ДополнительныеОтчетыИОбработкиКлиентПереопределяемый.ПередВыполнениемКомандыПечатиВнешнейПечатнойФормы( МассивОбъектов, СтандартнаяОбработка); Отказ = Ложь; Если СтандартнаяОбработка И Не УправлениеПечатьюКлиент.ПроверитьДокументыПроведены(МассивОбъектов) Тогда Отказ = Истина; КонецЕсли; Если Не Отказ Тогда ПараметрыОткрытия = Новый Структура("ИсточникДанных, ПараметрыИсточника"); ПараметрыОткрытия.ИсточникДанных = ДополнительнаяОбработкаСсылка; ПараметрыОткрытия.ПараметрыИсточника = Новый Структура("ИдентификаторКоманды, ОбъектыНазначения"); ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды = ИдентификаторКоманды; ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения = МассивОбъектов; ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия); КонецЕсли; //ПоказатьРезультатВыполненияОбработки(); КонецПроцедуры выходило что при печати создается новый экземпляр обработки и там ему пофиг что выбрано в исходной форме. Как правильно то сделать этот механизм в этих великих управляемых формах с их клиент-серверной невозможностью работать с нормальным логичным алгоритмом??? |
|||
1
Dmitry1c
23.02.14
✎
18:00
|
(0) это очень сильное колдунство.
|
|||
2
marvak
23.02.14
✎
18:38
|
(0)
Я в доп. команде печати в заказе клиента (УТ 11.1.2.28) слелал так: Если УправлениеПечатьюКлиент.ПроверитьДокументыПроведены(ПараметрКоманды, ПараметрыВыполненияКоманды.Источник) Тогда ПараметрыПечати = Новый Структура; СписокВыбора = ПолучитьСписокВыбора(ПараметрКоманды); Если СписокВыбора.Количество() > 0 Тогда ВыбранныйЭлемент = СписокВыбора.ВыбратьЭлемент("Выберите представителя организации в договоре."); Если ВыбранныйЭлемент <> Неопределено Тогда ПараметрыПечати.Вставить("ОтветственноеЛицо", ВыбранныйЭлемент.Значение); УправлениеПечатьюКлиент.ВыполнитьКомандуПечати( "Документ.ЗаказКлиента", "ПремьерПакДоговор", ПараметрКоманды, Неопределено, ПараметрыПечати); КонецЕсли; КонецЕсли; КонецЕсли; &НаСервере Функция ПолучитьСписокВыбора(ПараметрКоманды) СписокВыбора = Новый СписокЗначений; ОтборОтветственныхЛиц = Новый Структура; Если ПараметрКоманды.Количество() > 0 Тогда СсылкаНаЗаказ = ПараметрКоманды[0]; ОтборОтветственныхЛиц.Вставить("Организация", СсылкаНаЗаказ.Организация); КонецЕсли; ОтборОтветственныхЛиц.Вставить("ОтветственноеЛицо", Перечисления.ОтветственныеЛицаОрганизаций.Руководитель); ТаблицаОтветственныхЛиц = ОтветственныеЛицаСервер.ПолучитьТаблицуОтветственныхЛицПоОтбору(ОтборОтветственныхЛиц); ТаблицаОтветственныхЛиц.Сортировать("Должность Убыв"); Для каждого СтрокаТЗ Из ТаблицаОтветственныхЛиц Цикл ФИОФизлица = ФизическиеЛица.ФамилияИнициалыФизЛица(СтрокаТЗ.ФизическоеЛицо); СписокВыбора.Добавить(СтрокаТЗ.Ссылка, СтрокаТЗ.Должность + " " + ФИОФизлица); КонецЦикла; Возврат СписокВыбора; КонецФункции // () |
|||
3
Мимохожий Однако
23.02.14
✎
18:46
|
Удобнее делать выбор не во время печати, а до. Нужную подпись можно хранить в регистре сведений. Например "Уполномоченные лица организации". Или на худой конец в дополнительном реквизите документа.
|
|||
4
Мимохожий Однако
23.02.14
✎
18:47
|
(0)Как это будет выглядеть при групповой печати документов на 100? ))
|
|||
5
Diamond905
23.02.14
✎
18:47
|
Эм, господа, смысл в том что это ВНЕШНЯЯ Печатная форма и менять модули нельзя. С заменой в конфе и я горазд
|
|||
6
Diamond905
23.02.14
✎
18:47
|
(4) никак, ее не будет
|
|||
7
Diamond905
23.02.14
✎
18:53
|
(3) о, идея - может в хранилище сохранять?
|
|||
8
Мимохожий Однако
23.02.14
✎
18:58
|
(6)У пользователя может быть другое мнение, т.к. он всегда прав.
(7)Уже как минимум 3 варианта подсказали. Можешь и так. А можешь для каждой подписи свою форму накидать )) |
|||
9
Diamond905
23.02.14
✎
19:13
|
(8) Суть то печатной формы чтоб конфиг не менять, мне ж нужен был вариант как на управляемых. Но хоть и косвенно идею то вы подали. Вот так все получилось!
&НаКлиенте Процедура ОК(Команда) СохранитьВХранилищеРеквизиты(); ВыполнитьОткрытиеПечатнойФормы(); ЭтаФорма.Закрыть(); КонецПроцедуры &НаСервере Процедура СохранитьВХранилищеРеквизиты() ХранилищаНастроек.ХранилищеБуфераОбмена.Сохранить("ВПФ","РуководительДляВПФСчетФактуры",Объект.Руководитель); ХранилищаНастроек.ХранилищеБуфераОбмена.Сохранить("ВПФ","ГлавныйБухгалтерДляВПФСчетФактуры",Объект.ГлавныйБухгалтер); КонецПроцедуры Потом при формировании: Процедура ЗаполнитьРеквизитыПодвалаСчетФактура(ОбластьПодвала, ДанныеПечати, СведенияОбОрганизации) Руководитель = ХранилищаНастроек.ХранилищеБуфераОбмена.Загрузить("ВПФ","РуководительДляВПФСчетФактуры"); ГлавныйБухгалтер = ХранилищаНастроек.ХранилищеБуфераОбмена.Загрузить("ВПФ","ГлавныйБухгалтерДляВПФСчетФактуры"); Если СведенияОбОрганизации.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда ОбластьПодвала.Параметры.ФИОРуководителя = ?(ЗначениеЗаполнено(Руководитель),Руководитель, ДанныеПечати.Руководитель); ОбластьПодвала.Параметры.ФИОГлавногоБухгалтера = (ЗначениеЗаполнено(ГлавныйБухгалтер),ГлавныйБухгалтер , ДанныеПечати.ГлавныйБухгалтер); Иначе ОбластьПодвала.Параметры.ФИОПБОЮЛ = ДанныеПечати.Руководитель; ОбластьПодвала.Параметры.Свидетельство = СведенияОбОрганизации.Свидетельство; КонецЕсли; КонецПроцедуры |
|||
10
Холст
23.02.14
✎
19:16
|
1. модальные формы под запретом же говорят в УФ
2. смена последовательности с Док - ОбрПечати - ОбрВыбора - ОбрПечати на Док - ОбрВыбора - ОбрПечати |
|||
11
Мимохожий Однако
23.02.14
✎
19:31
|
(9)Хороший велосипед. При нормальной настройке достаточно типовых настроек. Открой демо УТ и увидишь, что и руководитель и бухгалтер попадают нормально и в ТОРГ12 и в Счет-фактуру.
|
|||
12
Diamond905
23.02.14
✎
19:42
|
(11) мне нужен был скорее универсальный механизм для подобных конструкций. Этот вроде подходит
|
|||
13
Поpyчик-4
24.02.14
✎
09:17
|
(0) Передача параметров/значений во внешнюю печатную форму для конфигураций на БСП
http://infostart.ru/public/191796/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |