Как скрыть отображение кнопки.

1. skiopolitan 04.10.18 10:10 Сейчас в теме
Как скрыть отображение кнопки печать в модуле внешней обработки при определенном условии?
Вот код:
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
                        
          УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ЗаявкаНаПломбиры", "Заявка на пломбиры", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));   
  
КонецПроцедуры // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)
	  ТабличныйДокумент = Новый ТабличныйДокумент;
	  МакетОбработки = ПолучитьМакет("МакетПломбиры");
ОбластьШапки = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапки.Параметры.НомерЗаказа = СсылкаНаОбъект.Номер;
	ОбластьШапки.Параметры.Покупатель = СсылкаНаОбъект.Покупатель;
	  ОбластьШапки.Параметры.Дата = Формат(СсылкаНаОбъект.Дата,"ДФ=dd.MM.yyyy" );

	   ОбластьШапки.Параметры.ДатаВыдачи = Формат(СсылкаНаОбъект.ДатаВыдачи,"ДФ=dd.MM.yyyy" );
  ОбластьШапки.Параметры.Дата1 = Формат(СсылкаНаОбъект.Дата, "ДЛФ=T");
  ОбластьШапки.Параметры.ДатаВыдачи1 = Формат(СсылкаНаОбъект.ДатаВыдачи,"ДЛФ=T" );
  ОбластьШапки.Параметры.ПокупательФИО = СсылкаНаОбъект.Покупатель.ФИО;
  ОбластьШапки.Параметры.ПокупательТел = СсылкаНаОбъект.Покупатель.НомерТелефона;
  Для каждого ТекущаяСтрока Из СсылкаНаОбъект.ТЧПломбиры Цикл
  ОбластьШапки.Параметры.Номенклатура = ТекущаяСтрока.Номенклатура;
  ОбластьШапки.Параметры.ИзображениеНаПломбире = ТекущаяСтрока.ИзображениеНаПломбире;
  ОбластьШапки.Параметры.ТекстВЦентре = ТекущаяСтрока.ТекстВЦентре;
  ОбластьШапки.Параметры.ТекстПоКругу = ТекущаяСтрока.ТекстПоКругу;
  ОбластьШапки.Параметры.ТекстНаВерхнейПлашке = ТекущаяСтрока.ТекстНаВерхнейПлашке;
  ОбластьШапки.Параметры.ТекстНаНижнейПлашке = ТекущаяСтрока.ТекстНаНижнейПлашке;
  ОбластьШапки.Параметры.Номенклатура1 = ТекущаяСтрока.Номенклатура;
  ОбластьШапки.Параметры.Номер1 = ТекущаяСтрока.НомерСтроки;
  КонецЦикла;
  ОбластьШапки.Параметры.Комментарий = СсылкаНаОбъект.Комментарий;
  ОбластьШапки.Параметры.Примечание = СсылкаНаОбъект.Примечание;
  ОбластьШапки.Параметры.Менеджер = СсылкаНаОбъект.Менеджер;
  ОбластьШапки.Параметры.Партия = СсылкаНаОбъект.ЦенаРозничная;
  ОбластьШапки.Параметры.Изделие = СсылкаНаОбъект.ЦенаРозничная / СсылкаНаОбъект.ТиражМакет;
  ОбластьШапки.Параметры.Итого = СсылкаНаОбъект.ЦенаРозничная;
    ОбластьШапки.Параметры.Колво = СсылкаНаОбъект.ТиражМакет;
	Если МакетОбработки = ПолучитьМакет("МакетПломбиры") Тогда ТабличныйДокумент.Вывести(ОбластьШапки)
	КонецЕсли;
		Если СсылкаНаОбъект.НаправленияДляРассчета = "Пломбиры" Тогда ТабличныйДокумент.Вывести(ОбластьШапки)
						КонецЕсли;
Возврат ТабличныйДокумент;

КонецФункции // СформироватьПечатнуюФорму()
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
21. DrZombi 298 07.10.18 05:30 Сейчас в теме
(1) будь мужиком, добавь свой код через конфигуратор
2. Неопределено 91 04.10.18 10:21 Сейчас в теме
(1)
Если ОпределенноеУсловие Тогда
	ВидимостьКнопки = Истина;
Иначе
	ВидимостьКнопки = Ложь;
КонецЕсли;

Элементы.НашаКнопка.Видимость = ВидимостьКнопки;
3. user633533_encantado 11 04.10.18 10:27 Сейчас в теме
(2) Даешь меньше кода !

Элементы.НашаКнопка.Видимость = ?(ОпределенноеУсловие, Истина, Ложь);
6. Неопределено 91 04.10.18 10:34 Сейчас в теме
(3) Это понятно, но там человек 7 дней в 1С. Он не готов к такому.
10. skiopolitan 04.10.18 11:38 Сейчас в теме
(3)У меня нет формы и это не кнопка, а процедура печать.
11. EVKash 15 04.10.18 11:41 Сейчас в теме
(10) Как нет формы? А на скрине что?

Если команды добавляются динамически, то можно так

ПриСозданииНаСервере

Если СсылкаНаОбъект.НаправленияДляРассчета <> "Пломбиры" Тогда
	Для Каждого КомандаПечати Из ЭтаФорма.Команды Цикл
		Если КомандаПечати.Заголовок = "Заявка на пломбиры" Тогда
			ЭтаФорма.Элементы[КомандаПечати.Имя].Видимость = Ложь;
		КонецЕсли;
	КонецЦикла;
КонецЕсли;
12. skiopolitan 04.10.18 11:48 Сейчас в теме
(11)Я загрузил ВПФ в дополнительные отчеты и обработки, а там нет формы, с помощью процедуры печать появляется кнопка с выбором ВПФ в форме документа. Мне надо, чтобы в процедуре печать при определенном условии пряталась кнопка, т.е. есть разные заявки, в заявке на пломбиры только кнопка печать пломбиры, больше никакой кнопки быть не должно.
13. EVKash 15 04.10.18 11:55 Сейчас в теме
(12) Команда печати вашей ВПФ добавляется на форму(та что на скрине). Вот в этой форме и надо проверять нужна эта команда печати или нет.
Форму в расширение и там в ПриСозданииНаСервереПосле вставляете условие (11) Только там не СсылкаНаОбъект будет, а просто Объект
В самой ВПФ такое условие не получится сделать. Команда в любом случае появится на вашей форме.
14. skiopolitan 04.10.18 13:20 Сейчас в теме
(13)Не помогло, не ругается, но видимость не срабатывает, как было видно так и есть.
15. EVKash 15 04.10.18 13:43 Сейчас в теме
(14) Значит надо отладчиком смотреть. Какое-то условие не срабатывает. Или условие отрабатывает до вставления команд печати на форму. Пишите подробно что делали. Чуть подробнее, чем "Не помогло"
17. skiopolitan 04.10.18 14:07 Сейчас в теме
(15)Написал код в Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка,ФорматБумагиНоменклатура), потом поставил точку останова и пошел через отладку проверять, вроде все норм ищет, но че-то не хочет.
Если Объект.НаправленияДляРассчета <> "Пломбиры" Тогда
    Для Каждого КомандаПечати Из ЭтаФорма.Команды Цикл
        Если КомандаПечати.Заголовок = "Заявка на пломбиры" Тогда
            ЭтаФорма.Элементы[КомандаПечати.Имя].Видимость = Ложь;
        КонецЕсли;
    КонецЦикла;
КонецЕсли;
Показать
20. EVKash 15 04.10.18 14:53 Сейчас в теме
(17) В конце процедуры ПриСозданииНаСервере?
Вычислить выражение "ЭтаФорма.Команды" - есть там ваши команды печати?
16. EVKash 15 04.10.18 13:55 Сейчас в теме
(14) НаправленияДляРассчета какой тип имеет? Строка? Или Перечисление какое-нибудь?
18. skiopolitan 04.10.18 14:08 Сейчас в теме
19. skiopolitan 04.10.18 14:22 Сейчас в теме
(16)Еще может один Объект заменять НаправленияДляРассчета - Объект.Номенклатура.КатегорияНоменклатуры.
4. skiopolitan 04.10.18 10:31 Сейчас в теме
Куда это именно вставлять и изменять?
5. DenisCh 04.10.18 10:33 Сейчас в теме
(4) Например в то место, где определяется ОпределенноеУсловие
7. skiopolitan 04.10.18 10:51 Сейчас в теме
УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(Что здесь написать надо, исходя из моего кода)?
8. user633533_encantado 11 04.10.18 11:03 Сейчас в теме
(7) Какое условие у вас конкретно ?
9. skiopolitan 04.10.18 11:11 Сейчас в теме
(8)
Если СсылкаНаОбъект.НаправленияДляРассчета = "Пломбиры" Тогда ТабличныйДокумент.Вывести(ОбластьШапки)
	КонецЕсли;
22. DrZombi 298 07.10.18 05:31 Сейчас в теме
т.е. добавь свои кнопки непосредственно в конфигурацию
хотя во внешних печатных формах есть условия печати, задаютя там же, где ты добавлял свою печатную форму, поищи
Оставьте свое сообщение

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