Как скрыть отображение кнопки печать в модуле внешней обработки при определенном условии?
Вот код:
Вот код:
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ЗаявкаНаПломбиры", "Заявка на пломбиры", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
КонецПроцедуры // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
МакетОбработки = ПолучитьМакет("МакетПломбиры");
ОбластьШапки = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапки.Параметры.НомерЗаказа = СсылкаНаОбъект.Номер;
ОбластьШапки.Параметры.Покупатель = СсылкаНаОбъект.Покупатель;
ОбластьШапки.Параметры.Дата = Формат(СсылкаНаОбъект.Дата,"ДФ=dd.MM.yyyy" );
ОбластьШапки.Параметры.ДатаВыдачи = Формат(СсылкаНаОбъект.ДатаВыдачи,"ДФ=dd.MM.yyyy" );
ОбластьШапки.Параметры.Дата1 = Формат(СсылкаНаОбъект.Дата, "ДЛФ=T");
ОбластьШапки.Параметры.ДатаВыдачи1 = Формат(СсылкаНаОбъект.ДатаВыдачи,"ДЛФ=T" );
ОбластьШапки.Параметры.ПокупательФИО = СсылкаНаОбъект.Покупатель.ФИО;
ОбластьШапки.Параметры.ПокупательТел = СсылкаНаОбъект.Покупатель.НомерТелефона;
Для каждого ТекущаяСтрока Из СсылкаНаОбъект.ТЧПломбиры Цикл
ОбластьШапки.Параметры.Номенклатура = ТекущаяСтрока.Номенклатура;
ОбластьШапки.Параметры.ИзображениеНаПломбире = ТекущаяСтрока.ИзображениеНаПломбире;
ОбластьШапки.Параметры.ТекстВЦентре = ТекущаяСтрока.ТекстВЦентре;
ОбластьШапки.Параметры.ТекстПоКругу = ТекущаяСтрока.ТекстПоКругу;
ОбластьШапки.Параметры.ТекстНаВерхнейПлашке = ТекущаяСтрока.ТекстНаВерхнейПлашке;
ОбластьШапки.Параметры.ТекстНаНижнейПлашке = ТекущаяСтрока.ТекстНаНижнейПлашке;
ОбластьШапки.Параметры.Номенклатура1 = ТекущаяСтрока.Номенклатура;
ОбластьШапки.Параметры.Номер1 = ТекущаяСтрока.НомерСтроки;
КонецЦикла;
ОбластьШапки.Параметры.Комментарий = СсылкаНаОбъект.Комментарий;
ОбластьШапки.Параметры.Примечание = СсылкаНаОбъект.Примечание;
ОбластьШапки.Параметры.Менеджер = СсылкаНаОбъект.Менеджер;
ОбластьШапки.Параметры.Партия = СсылкаНаОбъект.ЦенаРозничная;
ОбластьШапки.Параметры.Изделие = СсылкаНаОбъект.ЦенаРозничная / СсылкаНаОбъект.ТиражМакет;
ОбластьШапки.Параметры.Итого = СсылкаНаОбъект.ЦенаРозничная;
ОбластьШапки.Параметры.Колво = СсылкаНаОбъект.ТиражМакет;
Если МакетОбработки = ПолучитьМакет("МакетПломбиры") Тогда ТабличныйДокумент.Вывести(ОбластьШапки)
КонецЕсли;
Если СсылкаНаОбъект.НаправленияДляРассчета = "Пломбиры" Тогда ТабличныйДокумент.Вывести(ОбластьШапки)
КонецЕсли;
Возврат ТабличныйДокумент;
КонецФункции // СформироватьПечатнуюФорму()
ПоказатьПрикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(10) Как нет формы? А на скрине что?
Если команды добавляются динамически, то можно так
ПриСозданииНаСервере
Если команды добавляются динамически, то можно так
ПриСозданииНаСервере
Если СсылкаНаОбъект.НаправленияДляРассчета <> "Пломбиры" Тогда
Для Каждого КомандаПечати Из ЭтаФорма.Команды Цикл
Если КомандаПечати.Заголовок = "Заявка на пломбиры" Тогда
ЭтаФорма.Элементы[КомандаПечати.Имя].Видимость = Ложь;
КонецЕсли;
КонецЦикла;
КонецЕсли;
(11)Я загрузил ВПФ в дополнительные отчеты и обработки, а там нет формы, с помощью процедуры печать появляется кнопка с выбором ВПФ в форме документа. Мне надо, чтобы в процедуре печать при определенном условии пряталась кнопка, т.е. есть разные заявки, в заявке на пломбиры только кнопка печать пломбиры, больше никакой кнопки быть не должно.
(12) Команда печати вашей ВПФ добавляется на форму(та что на скрине). Вот в этой форме и надо проверять нужна эта команда печати или нет.
Форму в расширение и там в ПриСозданииНаСервереПосле вставляете условие (11) Только там не СсылкаНаОбъект будет, а просто Объект
В самой ВПФ такое условие не получится сделать. Команда в любом случае появится на вашей форме.
Форму в расширение и там в ПриСозданииНаСервереПосле вставляете условие (11) Только там не СсылкаНаОбъект будет, а просто Объект
В самой ВПФ такое условие не получится сделать. Команда в любом случае появится на вашей форме.
(15)Написал код в Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка,ФорматБумагиНоменклатура), потом поставил точку останова и пошел через отладку проверять, вроде все норм ищет, но че-то не хочет.
Если Объект.НаправленияДляРассчета <> "Пломбиры" Тогда
Для Каждого КомандаПечати Из ЭтаФорма.Команды Цикл
Если КомандаПечати.Заголовок = "Заявка на пломбиры" Тогда
ЭтаФорма.Элементы[КомандаПечати.Имя].Видимость = Ложь;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот