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

1С:Предприятие ::

Метки: 

Настройка печати в НЕ типовом документе ЗУП

Я
   LeoKeyn
 
01.04.18 - 10:34
Всем Здравствуйте! Помогите разобраться, пожалуйста.

Создал не типовой документ в ЗУП 2.0.17.4 (Для Казахстана) добавил в модуль формы элемента:

// Хранит дерево макетов печатных форм

Перем мДеревоМакетов;

// Хранит элемент управления подменю печати

Перем мПодменюПечати;

// Хранит элемент управления кнопку печать по умолчанию

Перем мПечатьПоУмолчанию;


// Процедура устанавливает подменю "Печать" и кнопку "Печать по умолчанию" при необходимости

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

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

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

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

    УстановитьКнопкиПечати();
    

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

// Процедура - обработчик нажатия на кнопку "Печать по умолчанию"

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

// Процедура - обработчик нажатия на кнопку "Печать"

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


А в Модуль объекта:

// Возвращает доступные варианты печати документа

//
// Вовращаемое значение:

//  Струткура, каждая строка которой соответствует одному из вариантов печати
//  

Функция ПолучитьСтруктуруПечатныхФорм() Экспорт
    
    Возврат Новый Структура("Приказ", "Приказ по личному составу");

КонецФункции// ПолучитьСтруктуруПечатныхФорм()


// Процедура осуществляет печать документа. Можно направить печать на 

// экран или принтер, а также распечатать необходмое количество копий.
//

//  Название макета печати передается в качестве параметра,
// по переданному названию находим имя макета в соответствии.

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

//  НазваниеМакета - строка, название макета.
//

Процедура Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт

    Если ЭтоНовый() Тогда
        Предупреждение("Документ можно распечатать только после его записи");
        Возврат;
    ИначеЕсли Не УправлениеПользователями.РазрешитьПечатьНепроведенныхДокументов(Проведен) Тогда
        Предупреждение("Недостаточно полномочий для печати непроведенного документа!");
        Возврат;
    КонецЕсли;

    //Если Не РаботаСДиалогами.ПроверитьМодифицированность(ЭтотОбъект) Тогда

    //    Возврат;

    //КонецЕсли;


    // Получить экземпляр документа на печать

    //Если ИмяМакета = "Приказ" Тогда

    //    ТабДокумент = ПечатьПриказа(ИмяМакета);

    //ИначеЕсли ИмяМакета = "ПриказСписком" тогда

    //    ТабДокумент = ПечатьПриказаСписком(ИмяМакета);

    //Иначе           

        ТабДокумент = ПечатьДополнительныхФорм(ИмяМакета, ЭтотОбъект);
    //КонецЕсли;


    УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, РаботаСДиалогами.СформироватьЗаголовокДокумента(ЭтотОбъект,"Приказ по личному составу"));

КонецПроцедуры// Печать


Функция ПечатьДополнительныхФорм(ИмяМакета, Объект) Экспорт
    
    Возврат Новый ТабличныйДокумент;
    
КонецФункции


И обычные формы вроде открываются. Но вот внешние печатные формы,
 которые я подключил в соответствующем справочнике, не 
срабатывают. В кнопке печати они появляются, но при нажатии ничего 
не происходит. Отладкой в процедуру Печать модуля объекта вообще
не попадает. Помогите, пожалуйста, понять чего тут не хвататет.
 
  Рекламное место пустует
   Cyberhawk
 
1 - 01.04.18 - 10:40
Отладки на сервере не хватает
   LeoKeyn
 
2 - 01.04.18 - 10:49
(1) Извините, не понял, поясните?
   Cyberhawk
 
3 - 01.04.18 - 10:50
Раз не понял, то и ответ пустым для тебя будет
   LeoKeyn
 
4 - 01.04.18 - 10:53
(3) это толстый клиент, клиент сервера тут нет, а база файловая, так про какой сервер вы говорите?
   Cyberhawk
 
5 - 01.04.18 - 10:58
Тогда отлаживай код на форме
   Cyberhawk
 
6 - 01.04.18 - 10:58
А то ощущение, что ты в ожидании чуда стоишь и ждешь в модуле объекта
   LeoKeyn
 
7 - 01.04.18 - 11:09
Разобрался, всем спасибо! :-)


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