Внешняя обработка как печатная форма документов и как отчет в пользовательском интерфейсе. Возможно ли?

1. ipoloskov 164 03.05.18 11:36 Сейчас в теме
Сделал доп. обработку печатной формы документов. Возможно ли ее же вывести в пользовательский интерфейс как отдельный отчет?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user790607 03.05.18 11:37 Сейчас в теме
(1) уточнили бы хоть что за платформа/конфигурация...
3. ipoloskov 164 03.05.18 11:37 Сейчас в теме
(2) 8.3, управляемые формы
Вид = ВидОбработкиПечатнаяФорма()
4. user790607 03.05.18 11:44 Сейчас в теме
(3) уже лучше, а что за конфигурация?
5. ipoloskov 164 03.05.18 11:46 Сейчас в теме
6. user790607 03.05.18 11:54 Сейчас в теме
(5) любую внешнюю обработку можно вывести в избранное(звёздочка в правом верхнем углу), только она там будет иметь подраздел "Дополнительные отчёты/обработки". чтобы встроить прям в стандартные менюшки, например в определённую форму, то это всё указывается в коде в разделе "Сведения о внешней обработке". Тут наверное ещё конкретней нужно описать что за обработка и для чего, что бы понять как её удачнее вывести.
7. ipoloskov 164 03.05.18 12:14 Сейчас в теме
(6)
вывести в избранное(звёздочка в правом верхнем углу)

Если можно, напишите, как это сделать. В интернетах не нашел.

Тут наверное ещё конкретней нужно описать что за обработка и для чего

Это печатная форма этикеток. Вид - открытие формы, то есть при вызове из документа, открывается форма, в которой можно установить/изменить какие-то параметры и нажать кнопку "Печать".
Пользователям хочется, чтобы эта печатная форма вызывалась не только из документов, но и отдельно. В этом случае все параметры (номенклатура и проч.) пользователь будет указывать вручную.
8. user790607 03.05.18 12:41 Сейчас в теме
(7) По первой части:
ERP у меня под рукой к сожалению нет, но вот на примере ЗИКГУ 3.0 могу обрисовать. По идее функционал внешних обработок не должен отличаться:
Администрирование->Печатные формы, отчёты и обработки->Дополнительные отчёты и обработки, далее открываем нашу обработку(если она подгружена, если нет, то подгружаем). Чуть выше табличной части будет строка "Размещение:..." там указываем подразделы где будет лежать эта обработка в дополнительных отчётах. Сохраняем и вуаля, в разделе "дополнительные отчеты/обработки" будет наша отчёт. Этот раздел уже можно будет закрепить в "Избранное".

По второй: так сложно что-то объяснить, нужно видеть форму документа, но описанием сведений о внешней обработке можно вполне легко вывести рядом со стандартным функционалом формы свою форму. Подсказал бы пошагово, но ни ерп, ни вашей обработки нет )

В случае вызова из любого места программы, вам конечно же больше подойдёт добавление в избранного доп. обработок.

У меня так вызывается внешний расчётный листок и справка.
Прикрепленные файлы:
9. ildary 21 03.05.18 12:47 Сейчас в теме
(7) я для похожих случаев делал две обработки - первая вызывается из общего меню (например Продажи-Отчеты по продажам в УТ11-РезервыНезакрытые.erf), а вторая обработка - является стартером первой и называется РезервыНезакрытыеВызов.erf - она вызывается из нужного документа и вызывает первую обработку с передачей в неё параметров.
ipoloskov; +1 Ответить
11. ipoloskov 164 03.05.18 16:06 Сейчас в теме
(9)
(10)
Пожалуй, так и сделаю.
Если не сложно, подскажите: как открыть форму внешней обработки. В обработке-стартере написал такой код
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	НаименованиеВСправочнике = "Печать этикеток коробок";
	
	ОбработкаСсылка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(НаименованиеВСправочнике);
	Если ОбработкаСсылка.Пустая() Тогда
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не найдена внешняя обработка """ + НаименованиеВСправочнике + """");
		Отказ = Истина;
	КонецЕсли;
	
	ИмяОбработки = ДополнительныеОтчетыИОбработки.ПодключитьВнешнююОбработку(ОбработкаСсылка);            
	
	ОбъектВнешнейОбработки = ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(ОбработкаСсылка);
	
	ФормаОбработки = ОбъектВнешнейОбработки.ПолучитьФорму();
	
КонецПроцедуры
Показать

И не пойму, что делать дальше. ОбъектВнешнейОбработки у меня находится на сервере, а форму надо открывать на клиенте. Как-то передавать ФормаОбработки на клиент, или вообще неправильно делаю?

UPD. Разобрался
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("ДополнительнаяОбработкаСсылка", ОбработкаСсылка);
	ИмяОбработки = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(ОбработкаСсылка);
	ФормаОбработки = ОткрытьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма", ПараметрыФормы);
	
КонецПроцедуры


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	НаименованиеВСправочнике = "Печать этикеток коробок";
	
	ОбработкаСсылка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(НаименованиеВСправочнике);
	Если ОбработкаСсылка.Пустая() Тогда
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не найдена внешняя обработка """ + НаименованиеВСправочнике + """");
		Отказ = Истина;
	КонецЕсли;
	
КонецПроцедуры
Показать
10. user633533_encantado 11 03.05.18 14:54 Сейчас в теме
При определении обработки мы указываем ее вид "Доп. обработка" или "Печатная форма". Поэтому одну сделать и так и так нельзя.
Но по сути это не нужно: если не хочется писать код два раза, то просто из первой обработки можно вызвать процедуру формирования печатной формы для второй.
ipoloskov; +1 Ответить
Оставьте свое сообщение

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