Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ЗУП 3.1. Печатная форма работает из списка документов. Но не работает из самого документа

ЗУП 3.1. Печатная форма работает из списка документов. Но не работает из самого документа
Я
   Орбита
 
16.05.19 - 11:38
Печатная форма работает из списка документов. Но не работает из самого документа
Почему так может быть? Заранее спасибо))
В УправлениеПечатью.НужноПечататьМакет вообще не заходит

Вот код из модуля:

Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
    
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();    
    ПараметрыРегистрации.Версия = "1.0";
    ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаявкаНаПодборПерсонала");    
    ПараметрыРегистрации.Наименование = "Заявка на подбор персонала";
    ПараметрыРегистрации.Информация = "Заявка на подбор персонала";
    ПараметрыРегистрации.БезопасныйРежим = Истина;
        
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = НСтр("ru = 'Заявка на подбор персонала 1'");
    НоваяКоманда.Идентификатор = "Макет";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    НоваяКоманда.ПоказыватьОповещение = Истина;
    НоваяКоманда.Модификатор = "ПечатьMXL";    
            
    Возврат ПараметрыРегистрации;
    
КонецФункции

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

    
    ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Макет") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
            КоллекцияПечатныхФорм,
            "Макет",
            НСтр("ru = 'Заявка на подбор персонала"),
            СформироватьПечатнуюФорму(ПолучитьМакет("Макет"), МассивОбъектов, ОбъектыПечати));
    КонецЕсли;
        
КонецПроцедуры
 
 
   Filippov
 
1 - 16.05.19 - 11:54
При подключении обработки на первой закладке (Размещение) галочка "В форме элементов..." установлена?
   Орбита
 
2 - 16.05.19 - 12:15
(1) Не вижу такой галочки. Но по смыслу это не то. Сама обработка видна по кнопке "Печать" в форме документа.
Но если я на неё нажимаю, ничего не происходит. Не вызывается процедура "Печать" модуля обработки
   Filippov
 
3 - 16.05.19 - 12:22
(2) Администрирование/Печатные форы, отчеты, обработки/Дополнительные отчеты, обработки. Открыть описание нужной обработки, там в описании на первой вкладке галочки Показывать: В списках, В формах элементов
   Орбита
 
4 - 16.05.19 - 12:24
(3) Так она видна в форме документа
   Орбита
 
5 - 16.05.19 - 12:29
проблема не в видимости. При нажатии на кнопку обработки в списке - печатается, в документе - ничего не происходит. Даже не заходит в процедуру "Печать" модуля обработки
   sqr4
 
6 - 16.05.19 - 12:29
СформироватьПечатнуюФорму выложи
   Орбита
 
7 - 16.05.19 - 12:32
Функция СформироватьПечатнуюФорму(Макет, МассивОбъектов, ОбъектыПечати)
    
    ДокументРезультат = Новый ТабличныйДокумент;
    ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    ДокументРезультат.АвтоМасштаб = Истина;
    
    НомерСтрокиНачало = ДокументРезультат.ВысотаТаблицы + 1;
    
    ДокументРезультат.КлючПараметровПечати = "ПараметрыПечати_СправкаОбъективка";
    
    РезультатЗапроса = ПолучитьДанныеДляПечати(МассивОбъектов);
    
    Выборка = РезультатЗапроса.Выбрать();
    
    ПервыйПриказ = Истина;
    Пока Выборка.Следующий() Цикл
        
        НомерСтрокиНачало = ДокументРезультат.ВысотаТаблицы + 1;
        
        Если Не ПервыйПриказ Тогда
            ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
        Иначе
            ПервыйПриказ = Ложь;
        КонецЕсли;
        
        ОбластьНачало = Макет.ПолучитьОбласть("Начало");
        ОбластьНачало.Параметры.Заполнить(Выборка);
        ОбластьНачало.Параметры.Подразделение = ПолноеИмяПодразделения(Выборка.Подразделение);
        ОбластьНачало.Параметры.ПрямоеПодчинение = ДолжностьПозицииРуководителя(Выборка.Позиция);
        ДокументРезультат.Вывести(ОбластьНачало);
        
        
        ОбластьСередина = Макет.ПолучитьОбласть("Середина");
        ОбластьСередина.Параметры.Заполнить(Выборка);
        ДокументРезультат.Вывести(ОбластьСередина);
        
        
        ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
        ОбластьПодвал.Параметры.Заполнить(Выборка);
        ДокументРезультат.Вывести(ОбластьПодвал);
        
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ДокументРезультат, НомерСтрокиНачало, ОбъектыПечати, Выборка.Ссылка);
        
    КонецЦикла;
    
    Возврат ДокументРезультат;
    
КонецФункции
   Орбита
 
8 - 16.05.19 - 12:34
Только это ничего не даст. Отладка не доходит до этой процедуры.
Она даже в УправлениеПечатью.НужноПечататьМакет не была
   sqr4
 
9 - 16.05.19 - 12:35
(8) да верно.
1. ТИИ, кэш и вся херня
2. что то с формированием команды на форме элемента
   Filippov
 
10 - 16.05.19 - 12:37
(4) Всё-таки что стоит в справочнике описаний печатных форм/обработок?
   sqr4
 
11 - 16.05.19 - 12:37
(10) +
   Орбита
 
12 - 16.05.19 - 12:52
(10) не пойму где это
В "Размещение" выбирается только вид документа. Там нет в списке или в форме
   Орбита
 
13 - 16.05.19 - 12:53
но, повторюсь, саму кнопку я вижу
   Filippov
 
14 - 16.05.19 - 13:02
(13) Тогда что-то в Функции СведенияОВнешнейОбработке() (Вид, Использование, ...)
   Орбита
 
15 - 16.05.19 - 15:49
Всем спасибо, разобрались.
В самом документе не было БСПшных функций

#Область ОбработчикиКомандФормы


// СтандартныеПодсистемы.ПодключаемыеКоманды

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

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

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

// Конец СтандартныеПодсистемы.ПодключаемыеКоманды


#КонецОбласти

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