0
1cUser015
17.08.17
✎
10:39
|
Добрый день!
Подскажите, пожалуйста, в чем может быть проблема, была ВПФ, печаталась для документов, теперь нужно сделать так, чтобы при вызове ВПФ открывалась форма с указанием нужного параметра, и уже с учетом этого параметра шла печать. Типа вручную выбрать подписанта.
Сделал такую форму по примеру, форма для указание сотрудника открывается, а вот кнопка печать не работает. Обобщенно выглядит так:
Модуль объекта ВПФ:
Функция Печать(МассивОбъектов) Экспорт
ОбъектыПечати = Новый СписокЗначений;
ОбъектыПечати.ЗагрузитьЗначения(МассивОбъектов);
ТабДок = Печать_ВП(МассивОбъектов, ОбъектыПечати);
Возврат ТабДок;
КонецФункции
Функция Печать_ВП(МассивОбъектов, ОбъектыПечати)
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("ТестВПСП");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Прием.Дата,
| Прием.ТаблицаДокумента.(
| ДатаДоговора
| )
|ИЗ
| Документ.Прием КАК Прием
|ГДЕ
| Прием.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", МассивОбъектов);
Выборка = Запрос.Выполнить().Выбрать();
Шапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
ВыборкаСотрудник = Выборка.ТаблицаДокумента.Выбрать();
Пока ВыборкаСотрудник.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
Шапка.Параметры.ДатаДокумента = Формат(Выборка.Дата, "ДЛФ=ДД");
Шапка.Параметры.ДатаДоговора = Формат(ВыборкаСотрудник.ДатаДоговора, "ДЛФ=ДД");
Шапка.Параметры.Сотрудник = Сотрудник;
ТабДок.Вывести(Шапка);
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
КонецЦикла;
ТабДок.ОтображатьСетку = Ложь;
ТабДок.АвтоМасштаб = Истина;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Ложь;
Возврат ТабДок;
КонецФункции
Модуль Формы:
&НаСервере
Функция ПечатьСерверная()
МассивДокументов = Параметры.ОбъектыНазначения;
ЭтотОбъектОбработка = РеквизитФормыВЗначение("Объект");
ТабДок =ЭтотОбъектОбработка.Печать(МассивДокументов);
Возврат ТабДок;
КонецФункции
&НаКлиенте
Процедура Печать(Команда)
ТабДок = ПечатьСерверная();
ТабДок.Показать();
КонецПроцедуры
Перебор (или недобор) МассиваОбъектов и ОбъектовПечати ?
Или что то еще, параметры формы заданы, кнопка(команда) тоже все есть, форма открывается(
С параметром "ВызовСерверногоМетода", печатается так:
Процедура Печать(МассивОбъектов,КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПРИЕМ_ТестВПСП";
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"ТестВПСП", "ТестВПСП", Печать_ВП(МассивОбъектов, ОбъектыПечати));
КонецПроцедуры
Спасибо!
|
|