Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

БСП: подключить "Печать"

БСП: подключить "Печать"
Я
   dft2014
 
29.09.17 - 17:47
Сделала тестовое обновление с ЗУП 3.1.2 на 3.1.3 и обнаружила, что у самописных документов исчезла кнопка Печать, т.к. теперь в БСП (библиотека стандартных подсистем) по-другому подключаются команды печати. Сделала, как написано здесь, но не помогло: http://downloads.v8.1c.ru/content/SSL/2_3_5_44/change.htm


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


Теперь адаптировала к новой БСП, а кнопка Печать все равно не появляется:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецПроцедуры
 
 
   dft2014
 
1 - 29.09.17 - 17:48
Опечатка, читать так:

Теперь адаптировала к новой БСП, а кнопка Печать все равно не появляется:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 
   ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтаФорма);
КонецПроцедуры
   igork1966
 
2 - 29.09.17 - 17:50
(0) там же не только это еще в Подключаемый_
   Aloex
 
3 - 29.09.17 - 17:59
Тут допиши Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт
   dft2014
 
4 - 04.10.17 - 10:50
Ниже мой код, но он так и не заработал - команды печати не появились! В комментариях я указала, где я адаптировала код для новой БСП.


Код в модуле формы документа:

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

    ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтаФорма);  //адаптация к новой БСП

КонецПроцедуры


&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)
    
    Если Параметры.Ключ.Пустая() Тогда
        ДополнительныеПараметры = Новый Структура;
        ДополнительныеПараметры.Вставить("Команда", Команда);
        
        ТекстВопроса = НСтр("ru = 'Данные еще не записаны.
        |Выполнение печати возможно только после записи данных.
        |Данные будут записаны.'");
        
        ОписаниеОповещения = Новый ОписаниеОповещения("ВыполнитьПодключаемуюКомандуПечатиПодтверждениеЗаписи", ЭтотОбъект, ДополнительныеПараметры);
        ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, РежимДиалогаВопрос.ОКОтмена);
        Возврат;
    КонецЕсли;
    
    Если Команда.Имя = "ФормаКоманднаяПанельПодменюПечатьКомандаПечати1" Тогда  //ДополнительноеСоглашение

        НазваниеФайла = ПолучитьИмяВременногоФайла("doc");    
        Макет = ВернутьМакет(Команда.Имя);
        Макет.Записать(НазваниеФайла);
    ИначеЕсли Команда.Имя = "ФормаКоманднаяПанельПодменюПечатьКомандаПечати0" Тогда  //Смена графика

        Макет = ВернутьМакет(Команда.Имя);
    Иначе
        //    УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Объект);   //прежняя БСП

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

    КонецЕсли;
    
КонецПроцедуры



Код в модуле менеджера:

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
    
    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.Идентификатор = "ДополнительноеСоглашение";
    КомандаПечати.Представление = НСтр("ru = 'Дополнительное соглашение'");
    КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
    
    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.Представление = НСтр("ru = 'Смена графика'");
    КомандаПечати.Порядок = 10;
    КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;        

КонецПроцедуры
   RomaH
 
5 - 04.10.17 - 11:13
// Определяет объекты конфигурации, в модулях менеджеров которых размещена процедура ДобавитьКомандыПечати,

// формирующая список команд печати, предоставляемых этим объектом.
// Синтаксис процедуры ДобавитьКомандыПечати см. в документации к подсистеме.

//
// Параметры:

//  СписокОбъектов - Массив - менеджеры объектов с процедура ДобавитьКомандыПечати.
//

Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт
   dft2014
 
6 - 04.10.17 - 12:01
(5) Спасибо, куда эту процедуру вставлять и что в ней написать?
   DrShad
 
7 - 04.10.17 - 12:04
(6) она в одном из общих модулей, откроешь поймешь что дописывать
   dft2014
 
8 - 04.10.17 - 12:45
(5), (7) Кнопка Печать появилась, но печатная форма не формируется! Может быть еще что-то надо добавить?


Я добавила строчку в ОбщийМодуль.ЗарплатаКадрыРасширенный:

Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт
...
СписокОбъектов.Добавить(Документы.ДополнительноеСоглашение);  //адаптация к новой БСП
...
КонецПроцедуры
   dft2014
 
9 - 04.10.17 - 13:38
(8) Ап!
   Happy Bear
 
10 - 04.10.17 - 13:47
(9) А печатная форма внешняя? В меню Печать она появляется?
 
 Рекламное место пустует
   dft2014
 
11 - 04.10.17 - 14:18
(10) Нет, это не внешняя печатная форма. Печать я делаю из самописного документа "ДополнительноеСоглашение".
   makaorel
 
12 - 04.10.17 - 14:30
(8) УправлениеПечатьюПереопределяемый.ПриОпределенииОбъектовСКомандамиПечати
   dft2014
 
13 - 04.10.17 - 14:49
(12) УправлениеПечатьюПереопределяемый.ПриОпределенииОбъектовСКомандамиПечати скачет по процедурам и в итоге останавливается на ОбщийМодуль.ЗарплатаКадрыРасширенный.ПриОпределенииОбъектовСКомандамиПечати.

А там я уже прописала - см. (8).


ПОМОГИТЕ!!! Кнопка Печать появилась, но печатная форма не формируется!!!!
   Happy Bear
 
14 - 04.10.17 - 15:33
а режим во внешней печатной форме Безопасный?
   makaorel
 
15 - 04.10.17 - 15:39
(13) достаточно в написать в (12)
   dft2014
 
16 - 04.10.17 - 16:12
(14) Это не внешняя печатная форма!!! См.(11).
   Happy Bear
 
17 - 04.10.17 - 17:13
а, ну тогда модуль печати смотреть нужно - может там условие на документ стоит

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует