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

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

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

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

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

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

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

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

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

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

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