Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 00:40

УНФ кнопка для печати документа

Автор skillful, 29 окт 2018, 23:01

0 Пользователей и 1 гость просматривают эту тему.

skillful

Конфигурация УНФ (1.6.15.63). Создаю простейший документ в конфигураторе, все нормально, но не могу добиться того, чтоб кнопка печати появилась в этих самых документах.

Что нашел:

Взять допустим имеющийся документ "Увольнение"

В нем в модуле менеджера код такой:
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда



#Область ИнтерфейсПечати

Процедура СформироватьКадровыйПриказ(ОписаниеПечатнойФормы, МассивОбъектов, ОбъектыПечати) Экспорт
Перем Ошибки, ПервыйДокумент, НомерСтрокиНачало;

Макет = УправлениеПечатью.МакетПечатнойФормы(ОписаниеПечатнойФормы.ПолныйПутьКМакету);
ТабличныйДокумент = ОписаниеПечатнойФормы.ТабличныйДокумент;
ДанныеПечати = Новый Структура;

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);

Запрос.Текст =
"Выбрать
| ОбщиеСведенияОбУвольнение.Ссылка
| ,ОбщиеСведенияОбУвольнение.Номер
| ,ОбщиеСведенияОбУвольнение.Дата КАК ДатаДокумента
| ,ОбщиеСведенияОбУвольнение.Организация КАК Организация
| ,ОбщиеСведенияОбУвольнение.Организация.Префикс КАК Префикс
| ,ОбщиеСведенияОбУвольнение.Организация.КодПоОКПО КАК КодПоОКПО
| ,ОбщиеСведенияОбУвольнение.ПодписьРуководителя.Должность КАК ДолжностьРуководителя
| ,ОбщиеСведенияОбУвольнение.ПодписьРуководителя.РасшифровкаПодписи КАК РуководительРасшифровкаПодписи
|Из Документ.Увольнение КАК ОбщиеСведенияОбУвольнение
|Где ОбщиеСведенияОбУвольнение.Ссылка В(&МассивОбъектов)
|
|;Выбрать
| СведенияОСотрудниках.Период КАК ДатаУвольнения
| ,СведенияОСотрудниках.Сотрудник.Наименование КАК Работник
| ,СведенияОСотрудниках.Сотрудник.Код КАК ТабельныйНомер
| ,СведенияОСотрудниках.ОснованиеУвольнения КАК ОснованиеУвольнения
| ,СведенияОСотрудниках.Подразделение КАК Подразделение
| ,СведенияОСотрудниках.Должность КАК Должность
|Из Документ.Увольнение.Сотрудники КАК СведенияОСотрудниках
|Где СведенияОСотрудниках.Ссылка В(&МассивОбъектов)";

РезультатЗапроса = Запрос.ВыполнитьПакет();

ОбщиеСведенияОПриеме = РезультатЗапроса[0].Выгрузить();
СведенияОСотрудниках = РезультатЗапроса[1].Выгрузить();

Для каждого ДанныеСотрудника Из СведенияОСотрудниках Цикл

ПечатьДокументовУНФ.ПередНачаломФормированияДокумента(ТабличныйДокумент, ПервыйДокумент, НомерСтрокиНачало, ДанныеПечати);

СведенияОбОрганизации = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(ОбщиеСведенияОПриеме[0].Организация, ОбщиеСведенияОПриеме[0].ДатаДокумента, ,);
ДанныеПечати.Вставить("НазваниеОрганизации", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование"));
ДанныеПечати.Вставить("КодПоОКПО", ОбщиеСведенияОПриеме[0].КодПоОКПО);
ДанныеПечати.Вставить("НомерДокумента", ПечатьДокументовУНФ.ПолучитьНомерНаПечатьСУчетомДатыДокумента(ОбщиеСведенияОПриеме[0].ДатаДокумента, ОбщиеСведенияОПриеме[0].Номер, ОбщиеСведенияОПриеме[0].Префикс));
ДанныеПечати.Вставить("ДатаДокумента", ОбщиеСведенияОПриеме[0].ДатаДокумента);

ДатаУвольненияСтрокой = Формат(ДанныеСотрудника.ДатаУвольнения, "ДЛФ=DD");
ОписаниеУвольнения = НСтр("ru ='уволить ""'") + СокрЛП(Лев(ДатаУвольненияСтрокой, 2)) + """  " + СокрЛП(Прав(ДатаУвольненияСтрокой, СтрДлина(ДатаУвольненияСтрокой) - 2));
ДанныеПечати.Вставить("Увольнение", ОписаниеУвольнения);

ДанныеПечати.Вставить("Работник", ДанныеСотрудника.Работник);
ДанныеПечати.Вставить("ТабельныйНомер", ДанныеСотрудника.ТабельныйНомер);
ДанныеПечати.Вставить("Подразделение", ДанныеСотрудника.Подразделение);
ДанныеПечати.Вставить("Должность", ДанныеСотрудника.Должность);
ДанныеПечати.Вставить("СтатьяТКРФ", ДанныеСотрудника.ОснованиеУвольнения);
ДанныеПечати.Вставить("ДолжностьРуководителя", ОбщиеСведенияОПриеме[0].ДолжностьРуководителя);
ДанныеПечати.Вставить("РуководительРасшифровкаПодписи", ОбщиеСведенияОПриеме[0].РуководительРасшифровкаПодписи);

Макет.Параметры.Заполнить(ДанныеПечати);
ТабличныйДокумент.Вывести(Макет);

УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ОбщиеСведенияОПриеме[0].Ссылка);

КонецЦикла;

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

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

ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "Приказ_Т8");
Если ПечатнаяФорма <> Неопределено Тогда

ПечатнаяФорма.ТабличныйДокумент = Новый ТабличныйДокумент;
ПечатнаяФорма.ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Увольнение_Т8";
ПечатнаяФорма.ПолныйПутьКМакету = "Документ.Увольнение.ПФ_MXL_Т8";
ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Т-8 (Приказ об увольнении)'");

СформироватьКадровыйПриказ(ПечатнаяФорма, МассивОбъектов, ОбъектыПечати);

КонецЕсли;

// параметры отправки печатных форм по электронной почте
УправлениеНебольшойФирмойСервер.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);

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

// Заполняет список команд печати.
//
// Параметры:
//   КомандыПечати - ТаблицаЗначений - состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати.
//
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "Приказ_Т8";
КомандаПечати.Представление = НСтр("ru = 'Т-8 (Приказ об увольнении)'");
КомандаПечати.Порядок = 1;

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

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

#КонецЕсли


Также если зайти в Администрирование-Печатные формы, отчеты и обработки-Подменю "Печать", то моего созданного документа вообще не видно в списке, как например документ "Увольнение" на скриншоте

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск