Версия для печати темы (https://pro1c.org.ua/index.php?s=d22bd81b487c049b2a7803109ba47c86&showtopic=46251)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ Добавить кнопку Печать в самописный документ.

Автор: SpecAgent 14.06.18, 15:39

1С Бухгалтерия 2.0.8.3 . Платформа 8.3.9.2033 Только начал разбираться с этой бедой.

Есть самописный документ ТТН. Нужно добавить кнопку ПЕЧАТЬ.
Что сделал:
1) В Общих командах ДополнительныеПечатныеФормыОбъекта во вкладке 'Тип параметра команды' добавил свой документ
далее в модуле формы добавил

&НаСервере 
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
        
    УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма)    
    
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)
    
    УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Объект)
    
КонецПроцедуры


в модуле менеджера
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт 

    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.Идентификатор = "ТТН2014";
    КомандаПечати.Представление = "ТТН 2014";
    КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
    КомандаПечати.СписокФорм    = "ФормаСписка,ФормаДокумента";
    
КонецПроцедуры

Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт     
    
    ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ТТН2014") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ТТН2014", "ТТН2014",
            СформироватьНесколькоТТН(МассивОбъектов),"Документ.ТТН.ТТН2014");
    КонецЕсли;
    
    
КонецПроцедуры

Функция   СформироватьНесколькоТТН(МассивОбъектов)
    
    ТабДокумент = Новый ТабличныйДокумент;
    Для каждого Ссылка из МассивОбъектов Цикл
        ТабДокументОбъекта = СформироватьТТН(Ссылка);
        Если ТабДокумент.ВысотаТаблицы > 0 И ТабДокументОбъекта.ВысотаТаблицы > 0 Тогда
            ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц()
        КонецЕсли;
        ТабДокумент.Вывести(ТабДокументОбъекта)
    КонецЦикла;

    Возврат ТабДокумент

КонецФункции

Функция  СформироватьТТН(Ссылка)

    ТабДокумент = Новый ТабличныйДокумент;
    // подготовка ТабДокумента
    Возврат ТабДокумент

КонецФункции


2) Кнопка "печать" на форме в конфигураторе появилась, в режиме работы нет.

Что пропустил?

Собственно почему кнопка ПЕЧАТЬ не видится в режиме работы? Где-то еще нужно прописывать это документ?


 ! 

http://pro1c.org.ua/index.php?act=announce&id=2: 9
 

Автор: SpecAgent 14.06.18, 21:21

SpecAgent @ Сегодня, 16:39 * ,

вопрос снят

Автор: most_fucking 01.07.19, 14:27

SpecAgent @ 14.06.18, 16:39 * ,

Обычно пишут в чем была ошибка, друг у кого-то похожая ситуация

Автор: Vladal 18.11.19, 14:57

most_fucking @ 01.07.19, 14:27 * ,

Как вариант - в модуле формы отсутствует обработчик

&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)
    
    УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Объект);
    
КонецПроцедуры

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua