Отбор для внешней печатной формы в ЗУП 3.1

1. Redinternational 86 14.11.17 07:37 Сейчас в теме
Написал внешнюю печатную форму для ЗУП 3.1.3.224, открываемая через word. Настроил видимость (указал в каком объекте можно будет вызвать). В ЗУП 2.5 была помимо всего прочего возможность указать принадлежность печатной формы, тоесть если это справочник сотрудники то возможно было применить отбор по "Организации", "Занимаемой ставке", "Подразделению". Теперь вопрос, возможно ли применение таких отборов уже в ЗУП 3.1? К примеру у меня несколько юр. лиц, на каждое юр. лицо своя внешняя печатная форма. Информации в сети по данной проблеме не нашел....
По теме из базы знаний
Найденные решения
2. mifka186 8 14.11.17 09:41 Сейчас в теме
Настройки принадлежности печатной формы как в 2.5 я не вижу, но можно в процедуре модуля ВПФ "Печать" проверять массив объектов, и в зависимости от принадлежности элементов выводить различные печатные формы. Пример кода

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПечататьЛицСторону") Тогда
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПечататьЛицСторону",
		"Печатать лиц. сторону ", ПечататьЛицСторону(МассивОбъектов, ОбъектыПечати));
	Иначе
		Возврат;
	КонецЕсли;
	
КонецПроцедуры
Показать
4. mifka186 8 14.11.17 10:17 Сейчас в теме
(2) Можно еще попробовать при подключении ВПФ регистрировать несколько команд печати, а в режиме Предприятия выбирать нужную. Но я так не делал еще.
	// Добавление команд печати.
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление 		= НСтр("ru = 'Печатать лиц. сторону'");
    НоваяКоманда.Идентификатор 		= "ПечататьЛицСторону";
    НоваяКоманда.Использование 		= ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    НоваяКоманда.Модификатор 		        = "ПечатьMXL";
    НоваяКоманда.ЗаменяемыеКоманды 	= "ПечататьЛицСторону";
	
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление 		= НСтр("ru = 'Печатать обр. сторону'");
    НоваяКоманда.Идентификатор 		= "ПечататьОбрСторону";
    НоваяКоманда.Использование 		= ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    НоваяКоманда.Модификатор 		        = "ПечатьMXL";
    НоваяКоманда.ЗаменяемыеКоманды 	= "ПечататьОбрСторону";
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. mifka186 8 14.11.17 09:41 Сейчас в теме
Настройки принадлежности печатной формы как в 2.5 я не вижу, но можно в процедуре модуля ВПФ "Печать" проверять массив объектов, и в зависимости от принадлежности элементов выводить различные печатные формы. Пример кода

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПечататьЛицСторону") Тогда
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПечататьЛицСторону",
		"Печатать лиц. сторону ", ПечататьЛицСторону(МассивОбъектов, ОбъектыПечати));
	Иначе
		Возврат;
	КонецЕсли;
	
КонецПроцедуры
Показать
4. mifka186 8 14.11.17 10:17 Сейчас в теме
(2) Можно еще попробовать при подключении ВПФ регистрировать несколько команд печати, а в режиме Предприятия выбирать нужную. Но я так не делал еще.
	// Добавление команд печати.
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление 		= НСтр("ru = 'Печатать лиц. сторону'");
    НоваяКоманда.Идентификатор 		= "ПечататьЛицСторону";
    НоваяКоманда.Использование 		= ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    НоваяКоманда.Модификатор 		        = "ПечатьMXL";
    НоваяКоманда.ЗаменяемыеКоманды 	= "ПечататьЛицСторону";
	
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление 		= НСтр("ru = 'Печатать обр. сторону'");
    НоваяКоманда.Идентификатор 		= "ПечататьОбрСторону";
    НоваяКоманда.Использование 		= ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    НоваяКоманда.Модификатор 		        = "ПечатьMXL";
    НоваяКоманда.ЗаменяемыеКоманды 	= "ПечататьОбрСторону";
Показать
8. Redinternational 86 14.11.17 11:28 Сейчас в теме
(4)не совсем понятно, можно поподробней? что за команды печати?
9. mifka186 8 14.11.17 11:42 Сейчас в теме
(8)При регистрации ВПФ создаётся команда печати с уникальным идентификатором. На одну ВПФ может быть несколько команд печати. Эти команды можно отображать в документе или скрыть. Может быть настроена замена типовых команд печати. ИТС. БСП ВПФ
10. Redinternational 86 14.11.17 11:43 Сейчас в теме
(9)ок, спасибо! буду курить БСП
7. Redinternational 86 14.11.17 11:18 Сейчас в теме
(2)в принципе у самого была подобная идея, в зависимости от условий выводить тот или иной макет, но если к примеру юр лиц свыше 90 в базе? и для как минимум 30 нужны различные договоры в зависимости от обособок и занимаемых ставок, а также доп соглашения и уведомления, слишком объемный кусок условий получается....
3. user633533_encantado 11 14.11.17 09:56 Сейчас в теме
Можно реализовать через открытие формы, перед печатью вызывается некая ваша формы, в ней вы вступаете в диалог с пользователем, после этого печатаете.
5. Redinternational 86 14.11.17 11:14 Сейчас в теме
(3)слишком муторно, тем более если пользователь ошибется с организацией или ставкой или подразделением - напечатается не тот макет, должна быть проверка от дурака...
6. user633533_encantado 11 14.11.17 11:17 Сейчас в теме
(5) Тогда как в (4) несколько команд для одной обработки.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот