Имя: Пароль:
1C
1С v8
БП2 печать из внешней ПФ
0 olegves
 
25.08.15
15:44
В БП2 добавлен нетиповой документ, установлен для него запрет Проведения.
В модуль формы добавлены стандартные процедуры кнопок печати:
// Процедура устанавливает подменю "Печать" и кнопку "Печать по умолчанию" при необходимости
//
Процедура УстановитьКнопкиПечати()
    
    мДеревоМакетов = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(Ссылка, Неопределено, Новый Действие("ОсновныеДействияФормыПечать"), Новый Действие("ОсновныеДействияФормыУстановитьПечатьПоУмолчанию"));

    УниверсальныеМеханизмы.УстановитьПодменюПечати    (мПодменюПечати, ЭлементыФормы.ОсновныеДействияФормы, мДеревоМакетов.Строки.Количество() > 0);
    УниверсальныеМеханизмы.УстановитьПечатьПоУмолчанию(мПечатьПоУмолчанию, ЭлементыФормы.ОсновныеДействияФормы, мДеревоМакетов, Метаданные().Имя,Новый Действие("ОсновныеДействияФормыПечатьПоУмолчанию"));

    Если НЕ мПодменюПечати = Неопределено Тогда
        УниверсальныеМеханизмы.СформироватьПодменю(мДеревоМакетов, мПодменюПечати, Истина, Истина);
    КонецЕсли;
    
КонецПроцедуры // УстановитьКнопкиПечати()

Кнопки печати на форме есть, но недоступны. Не подскажете, куда копать?
1 User_Agronom
 
25.08.15
15:50
У пользователя запрет печати непроведённых документов?
2 Kondarat
 
25.08.15
15:55
А процедура ОсновныеДействияФормыПечатьПоУмолчанию в форме документа есть?
3 olegves
 
25.08.15
16:00
(2) нету, но ее нет и в типовых документах, откуда я копировал процедуры добавления кнопок печати
4 Kondarat
 
25.08.15
16:03
Да лана... Вот из РТУ БП 2.0
// Процедура - обработчик нажатия на кнопку "Печать по умолчанию"
//
Процедура ОсновныеДействияФормыПечатьПоУмолчанию(Кнопка)
    
    УниверсальныеМеханизмы.ПечатьПоДополнительнойКнопке(мДеревоМакетов, ЭтотОбъект, ЭтаФорма, Кнопка.Текст);
    
КонецПроцедуры

// Процедура - обработчик нажатия на кнопку "Печать"
//
Процедура ОсновныеДействияФормыПечать(Кнопка)
    
    УниверсальныеМеханизмы.ПечатьПоДополнительнойКнопке(мДеревоМакетов, ЭтотОбъект, ЭтаФорма, Кнопка.Текст);
    
КонецПроцедуры

// Процедура - обработчик нажатия на кнопку "Установить печать по умолчанию"
//
Процедура ОсновныеДействияФормыУстановитьПечатьПоУмолчанию(Кнопка)
    
    Если УниверсальныеМеханизмы.НазначитьКнопкуПечатиПоУмолчанию(мДеревоМакетов, Метаданные().Имя) Тогда
        
        УстановитьКнопкиПечати();
        
    КонецЕсли;
    
    
КонецПроцедуры
5 olegves
 
25.08.15
16:07
(4) это ж надо было нарваться на СписаниеОС, где есть процедуры кнопок печати, но нет Процедур действий...

Спасибо, Kondarat
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший