|   |   | 
| 
 | ЗУП внешняя печ. форм Word | ☑ | ||
|---|---|---|---|---|
| 0
    
        Масянька 18.03.22✎ 15:30 | 
        День добрый!
 Не выводит (на экран): Процедура СформироватьПечатнуюФорму(КоллекцияПечатныхФорм, МассивДанныхЗаполнения, ОбъектыПечати) ДвоичныеДанныеМакета = ПолучитьМакет("ПФ_DOC_ТрудовойДоговор"); Если (ДвоичныеДанныеМакета <> Неопределено) Тогда ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ПечатьТрудовогоДоговора"); ПечатнаяФорма.ТабличныйДокумент = Новый ТабличныйДокумент; Макет = УправлениеПечатью.ИнициализироватьМакетОфисногоДокумента(ДвоичныеДанныеМакета, Неопределено); ПечатнаяФормаДокумента = УправлениеПечатью.ИнициализироватьПечатнуюФорму(Неопределено, Макет.НастройкиСтраницыМакета, Макет); Область = Новый Структура; Область.Вставить("ИмяОбласти", "ДатаДоговора"); Область.Вставить("ТипОбласти", "Общая"); Область = УправлениеПечатью.ОбластьМакета(Макет, Область); УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФормаДокумента, Область, МассивДанныхЗаполнения[0].ТрудовойДоговорДата); АдресХранилищаОфисныйДокумент = УправлениеПечатью.СформироватьДокумент(ПечатнаяФормаДокумента); УправлениеПечатью.ОчиститьСсылки(ПечатнаяФормаДокумента, Ложь); УправлениеПечатью.ОчиститьСсылки(Макет); ОфисныеДокументы = Новый Соответствие; ОфисныеДокументы.Вставить(АдресХранилищаОфисныйДокумент, НСтр("ru = 'Название документа'")); ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Название документа (документ Microsoft Word)'"); ПечатнаяФорма.ОфисныеДокументы = ОфисныеДокументы; КонецЕсли; Почему? Спасибо. | |||
| 1
    
        vicof 18.03.22✎ 15:47 | 
        Вангую, надо написать Показать()     | |||
| 2
    
        vicof 18.03.22✎ 15:53 | 
        А по-хорошему, взять бспшечку неизвестной версии, посмотреть, как там сделано, сравнить свое творение с творением господа нашего и сделать выводы.     | |||
| 3
    
        Масянька 18.03.22✎ 15:54 | 
        (1) На показать ругается.
 (2) А что в БСПшечке смотреть? | |||
| 4
    
        Вафель 18.03.22✎ 15:55 | 
        вот это точно лишнее ПечатнаяФорма.ТабличныйДокумент = Новый ТабличныйДокумент; | |||
| 5
    
        vicof 18.03.22✎ 15:57 | 
        (2) Как формируется код для печатной формы     | |||
| 6
    
        Масянька 18.03.22✎ 15:57 | 
        (4) В обработчике печати не был сформирован табличный документ для....     | |||
| 7
    
        Масянька 18.03.22✎ 15:59 | 
        (5) 
 Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(); ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма(); ПараметрыРегистрации.БезопасныйРежим = Ложь; ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Наименование = "Трудовой договор"; ПараметрыРегистрации.Назначение.Добавить("Документ.ПриемНаРаботу"); ПараметрыРегистрации.Назначение.Добавить("Документ.ПриемНаРаботуСписком"); ПараметрыРегистрации.Назначение.Добавить("Справочник.Сотрудники"); НоваяКоманда = ПараметрыРегистрации.Команды.Добавить(); НоваяКоманда.Представление = "Трудовой договор"; НоваяКоманда.Идентификатор = "ПечатьТрудовогоДоговора"; НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ПечатьДокумента(КоллекцияПечатныхФорм, МассивОбъектов, ОбъектыПечати); КонецПроцедуры Процедура ПечатьДокумента(КоллекцияПечатныхФорм, МассивОбъектов, ОбъектыПечати) МассивДанныхЗаполнения = ПолучитьДанныеДляПечатиДокумента(МассивОбъектов); СформироватьПечатнуюФорму(КоллекцияПечатныхФорм, МассивДанныхЗаполнения, ОбъектыПечати); КонецПроцедуры Функция ПолучитьДанныеДляПечатиДокумента(МассивОбъектов) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПриемНаРаботу.Дата КАК Дата, | ПриемНаРаботу.Номер КАК Номер, | ПриемНаРаботу.Организация КАК Организация, | ПриемНаРаботу.Подразделение КАК Подразделение, | ПриемНаРаботу.Сотрудник КАК Сотрудник, | ПриемНаРаботу.Должность КАК Должность, | ПриемНаРаботу.ДатаПриема КАК ДатаПриема, | ПриемНаРаботу.УсловияПриема КАК УсловияПриема, | ПриемНаРаботу.Руководитель КАК Руководитель, | ПриемНаРаботу.ДолжностьРуководителя КАК ДолжностьРуководителя, | ПриемНаРаботу.ДлительностьИспытательногоСрока КАК ДлительностьИспытательногоСрока, | ПриемНаРаботу.ТрудовойДоговорНомер КАК ТрудовойДоговорНомер, | ПриемНаРаботу.ТрудовойДоговорДата КАК ТрудовойДоговорДата |ИЗ | Документ.ПриемНаРаботу КАК ПриемНаРаботу |ГДЕ | ПриемНаРаботу.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", МассивОбъектов[0]); Возврат Запрос.Выполнить().Выгрузить(); КонецФункции И потом СформироватьПечатнуюФорму | |||
| 8
    
        vicof 18.03.22✎ 16:01 | 
        (7) Я, если вопросы задаю, ставлю знак вопроса в конце) А это был ответ на твой вопрос     | |||
| 9
    
        zippygrill 18.03.22✎ 19:23 | 
        Причем тут табличный документ если у тебя макет - Word. А него заполняются параметры а ля {v8 ТвойПараметр} и во вр.хранилище для передачи на клиент и показать.
 https://prnt.sc/zoS8u-1oo8EA | |||
| 10
    
        zippygrill 18.03.22✎ 19:25 | 
        МОжет быть у тебя здесь МассивДанныхЗаполнения[0].ТрудовойДоговорДата - ошибка..нет такой строки в ТабЗначений     | |||
| 11
    
        ГдеСобака Зарыта 18.03.22✎ 21:15 | 
        (10) насколько я помню, там надо передавать структуру, где ключ имя параметра в макете. ТС же просто передает значение и, ясен пень, ничего из этого не выйдет     | |||
| 12
    
        Мимохожий Однако 19.03.22✎ 07:12 | 
        (7) В коде и намёка нет на Word. Либо тема не та, либо код не по теме.
 ... Традиционное. На отладчике где спотыкается? | |||
| 13
    
        Масянька 21.03.22✎ 11:23 | 
        Нету области...
 Функция НапечататьТрудовойДоговор(МассивДанныхЗаполнения, ИмяМакета) ДвоичныеДанныеМакета = ПолучитьМакет("ПФ_DOC_ТрудовойДоговор"); ТипМакета = "docх"; Области = ОписаниеОбластейМакетаОфисногоДокумента(); ДанныеОбъекта = МассивДанныхЗаполнения[0]; Макет = УправлениеПечатью.ИнициализироватьМакетОфисногоДокумента(ДвоичныеДанныеМакета, ТипМакета, ИмяМакета); Если Макет = Неопределено Тогда Возврат ""; КонецЕсли; ЗакрытьОкноПечатнойФормы = Ложь; Попытка ПечатнаяФорма = УправлениеПечатью.ИнициализироватьПечатнуюФорму(ТипМакета, Макет.НастройкиСтраницыМакета, Макет); АдресХранилищаПечатнойФормы = ""; Если ПечатнаяФорма = Неопределено Тогда УправлениеПечатью.ОчиститьСсылки(Макет); Возврат ""; КонецЕсли; Область = УправлениеПечатью.ОбластьМакета(Макет, Области["ДатаДоговора"]); УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта.ТрудовойДоговорДата, Ложь); АдресХранилищаПечатнойФормы = УправлениеПечатью.СформироватьДокумент(ПечатнаяФорма); Исключение ОбщегоНазначения.СообщитьПользователю(КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); ЗакрытьОкноПечатнойФормы = Истина; Возврат ""; КонецПопытки; УправлениеПечатью.ОчиститьСсылки(ПечатнаяФорма, ЗакрытьОкноПечатнойФормы); УправлениеПечатью.ОчиститьСсылки(Макет); Возврат АдресХранилищаПечатнойФормы; КонецФункции https://ibb.co/SK4CMkB В отладчике (областях) показывает какой-то абзац... Полный абзац... | |||
| 14
    
        Масянька 21.03.22✎ 11:25 | 
        Договор - https://ibb.co/tPS0NQG     | |||
| 15
    
        Масянька 21.03.22✎ 15:24 | 
        Я тут продолжу...     | |||
| 16
    
        Масянька 21.03.22✎ 15:25 | 
        Выводится документ(word), но не заполняет параметр :
 Процедура ВывестиДанныеДокументаВТабличныйДокумент(КоллекцияПечатныхФорм, МассивДанныхЗаполнения, ОбъектыПечати) ДвоичныеДанныеМакета = ПолучитьМакет("ПФ_DOC_ТрудовойДоговор"); Если ДвоичныеДанныеМакета <> Неопределено Тогда ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ПечатьТрудовогоДоговора"); ПечатнаяФорма.ТабличныйДокумент = Новый ТабличныйДокумент; Макет = УправлениеПечатью.ИнициализироватьМакетОфисногоДокумента(ДвоичныеДанныеМакета,Неопределено); ПечатнаяФормаДокумента = УправлениеПечатью.ИнициализироватьПечатнуюФорму(Неопределено, Макет.НастройкиСтраницыМакета, Макет); сообщить("2 - " + ТипЗнч(МассивДанныхЗаполнения) + " - " + МассивДанныхЗаполнения.Количество()); //.ДатаДоговора); для Каждого Эл Из МассивДанныхЗаполнения Цикл сообщить(" - " + Эл.ДатаДоговора); КонецЦикла; ОбластьЗаголовок = Новый Структура; ОбластьЗаголовок.Вставить("ИмяОбласти", "Заголовок"); ОбластьЗаголовок.Вставить("ТипОбласти", "Общая"); Область = УправлениеПечатью.ОбластьМакета(Макет, ОбластьЗаголовок); УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФормаДокумента, Область, МассивДанныхЗаполнения, Ложь); | |||
| 17
    
        Масянька 21.03.22✎ 15:30 | 
        - 01.03.2022 0:00:00
 Это сообщить(" - " + Эл.ДатаДоговора); | |||
| 18
    
        Мимохожий Однако 21.03.22✎ 15:41 | 
        А не проще вместо сообщений запустить отладку?     | |||
| 19
    
        Масянька 21.03.22✎ 15:46 | 
        (18) Во внешней печатной форме? Каким макаром?     | |||
| 20
    
        Вафель 21.03.22✎ 15:48 | 
        (19) скачать на ис отладчик внешних пф     | |||
| 21
    
        Масянька 21.03.22✎ 15:49 | 
        Область выводится!
 Не заполняется только параметр. Что не так? | |||
| 22
    
        Масянька 21.03.22✎ 16:57 | 
        МУЖИКИ!!!!
 У меня получилось!!!!! | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |