Имя: Пароль:
1C
1С v8
Внешняя печатная форма - неактивны кнопки печати
0 marydet
 
14.03.23
16:34
Здравствуйте! Знаю, что такой вопрос уже был, но я так и не поняла. Поясните, кто знает, пожалуйста, подробнее. Конфигурация УПП. Есть справочник, у него нет ни одной печатной формы. К этому справочнику создана внешняя печатная форма. При открытии формы справочника подменю печати формируется корректно. НО: кнопки печати неактивны (недоступны)! Права полные!

В модуле формы справочника прописала такие процедуры:

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    
    УстановитьКнопкиПечати();
        
КонецПроцедуры

Процедура УстановитьКнопкиПечати()
    
    ФормированиеПечатныхФорм.СоздатьКнопкиПечати(ЭтотОбъект, ЭтаФорма);  
        
КонецПроцедуры

В другом топике на подобную тему писали, что отсутствует действие на печать документов на форме. Но где и какое действие прописать, я не понимаю. Помогите!
1 Галахад
 
гуру
15.03.23
08:15
Добавить кнопку. Добавить процедуру обработчика кнопки:

УниверсальныеМеханизмы.ОткрытьФормуВыбораПечатныхФормОбъекта(ЭтотОбъект, ЭтаФорма);
2 marydet
 
15.03.23
10:34
Разобралась. Кнопки добавлять не надо, они добавляются автоматически процедурой:

Процедура УстановитьКнопкиПечати()
    
    ФормированиеПечатныхФорм.СоздатьКнопкиПечати(ЭтотОбъект, ЭтаФорма);  
        
КонецПроцедуры

А проблема была в том, что кнопки то добавились, а обработчиков на них не было, т.е. они как бы были пустые. Когда добавила обработчики, все запустилось.

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

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

Ну и УстановитьКнопкиПечати() в процедуру какую-нибудь засунуть и все:

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

    УстановитьКнопкиПечати();
    
КонецПроцедуры

Может кому пригодится. Спасибо )