![]() |
|
И снова про ВПФ | ☑ | ||
---|---|---|---|---|
0
DenYuliya
17.12.18
✎
11:50
|
Конфа Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.64.48)
Платформа 1С:Предприятие 8.3 (8.3.10.2667) Пытаюсь прицепить новую ВПФ, через "Файл - Открыть" работает замечательно, через "Дополнительные внешние обработки- добавить", и печать прямо из документов, валится ошибка. Стопятьсот тем уже перечитала, все равно ошибка. Ткните меня пальчиком, пожалуйста, где я не права? Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); ПараметрыРегистрации.Вставить("Назначение", ПолучитьНазначениеОбработки()); ПараметрыРегистрации.Вставить("Наименование", "Довереннсть М-2"); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("Информация", "Довереннсть (внешняя)"); ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); Команды = ПолучитьТаблицуКоманд(); ДобавитьКоманду(Команды, "Довереннсть(внешняя)", "Доверенность", "ВызовСерверногоМетода", Ложь, "ПечатьMXL"); ПараметрыРегистрации.Вставить("Команды", Команды); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьНазначениеОбработки() Массив= Новый Массив; Массив.Добавить("Документ.Доверенность"); Возврат Массив; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; НоваяКоманда.Идентификатор = Идентификатор; КонецПроцедуры Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Доверенность") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Доверенность", НСтр("ru='Доверенность внешняя'"), СформироватьПечатнуюФормуДоверенность(МассивОбъектов, ОбъектыПечати)); КонецЕсли; КонецПроцедуры //----------------------------------------------------------------------------- Функция СформироватьПечатнуюФормуДоверенность(МассивОбъектов, ОбъектыПечати) Экспорт УстановитьПривилегированныйРежим(Истина); Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_M2"); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПФ_MXL_М2"; //Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_M2"); ТабДокумент.ПолеСверху = 0; ТабДокумент.ПолеСлева = 5; ТабДокумент.ПолеСнизу = 0; ТабДокумент.ПолеСправа = 5; ТабДокумент.РазмерКолонтитулаСверху = 0; ТабДокумент.РазмерКолонтитулаСнизу = 0; ТабДокумент.АвтоМасштаб = Истина; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ТекстЗапроса = "ВЫБРАТЬ | Доверенность.Ссылка, | Доверенность.Номер КАК НомерДокумента, | Доверенность.Дата КАК ДатаДокумента, | Доверенность.Организация КАК Руководители, | Доверенность.Организация, | Доверенность.ФизЛицо, | Доверенность.ФизЛицо.Наименование КАК ФамилияИмяОтчествоДоверенного, | Доверенность.БанковскийСчетОрганизации КАК БанковскийСчет, | Доверенность.Контрагент КАК Поставщик, | Доверенность.НаПолучениеОт КАК ПоставщикПредставление, | Доверенность.ДатаДействия КАК СрокДействия, | Доверенность.ПоДокументу КАК РеквизитыДокументаНаПолучение, | Доверенность.Товары.( | НомерСтроки КАК Номер, | НаименованиеТовара КАК Ценности, | НаименованиеТовара КАК ЦенностиПредставление, | ЕдиницаПоКлассификатору КАК ЕдиницаИзмерения, | ЕдиницаПоКлассификатору.Представление КАК ЕдиницаИзмеренияПредставление, | Количество | ) |ИЗ | Документ.Доверенность КАК Доверенность |ГДЕ | Доверенность.Ссылка В(&МассивОбъектов) | |УПОРЯДОЧИТЬ ПО | Доверенность.Дата, | Доверенность.Ссылка, | Номер"; Запрос = Новый Запрос(); Запрос.УстановитьПараметр("МассивОбъектов", СсылкаНаОбъект); Запрос.Текст = ТекстЗапроса; Шапка = Запрос.Выполнить().Выбрать(); ПервыйДокумент = Истина; Пока Шапка.Следующий() Цикл Если Не ПервыйДокумент Тогда ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ПервыйДокумент = Ложь; // Запомним номер строки, с которой начали выводить текущий документ. НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1; ДанныеОФизЛице = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.ФизЛицо, Шапка.ДатаДокумента); ФамилияИмяОтчествоДоверенного = СокрЛП(ДанныеОФизЛице.Фамилия) + " " + СокрЛП(ДанныеОФизЛице.Имя) + " " + СокрЛП(ДанныеОФизЛице.Отчество); Должность = СокрЛП(ДанныеОФизЛице.Должность); //Если НазваниеМакета = "М2" тогда ОбластьМакета = Макет.ПолучитьОбласть("Отрез"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Шапка.НомерДокумента, Истина, Ложь); ОбластьМакета.Параметры.ФИОДоверенного = "" + ?(ПустаяСтрока(Должность), "", Должность + ", " + Символы.ПС) + (ФамилияИмяОтчествоДоверенного); ТабДокумент.Вывести(ОбластьМакета); НазваниеФормы = "Типовая межотраслевая форма № М-2"; //Иначе // НазваниеФормы = "Типовая межотраслевая форма № М-2а"; //КонецЕсли; Руководители = ОтветственныеЛицаБП.ОтветственныеЛица(Шапка.Организация, Шапка.ДатаДокумента); Руководитель = Руководители.РуководительПредставление; Бухгалтер = Руководители.ГлавныйБухгалтерПредставление; СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента, Шапка.БанковскийСчет); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); //Если НазваниеМакета = "М2" тогда ОбластьМакета.Параметры.ОКУД = "0315001"; //Иначе // ОбластьМакета.Параметры.ОКУД = "0315002"; //КонецЕсли; ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Шапка.НомерДокумента, Истина, Ложь); ОбластьМакета.Параметры.НазваниеФормы = НазваниеФормы; ОбластьМакета.Параметры.ОрганизацияПредставление = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); ОбластьМакета.Параметры.РеквизитыСчета = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( СведенияОбОрганизации, "НомерСчета,Банк,БИК,КоррСчет,"); ОбластьМакета.Параметры.РеквизитыПотребителя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); ОбластьМакета.Параметры.РеквизитыПлательщика = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); ОбластьМакета.Параметры.ОрганизацияКодПоОКПО = СведенияОбОрганизации.КодПоОКПО; ОбластьМакета.Параметры.ПаспортСерия = ДанныеОФизЛице.Серия; ОбластьМакета.Параметры.ПаспортНомер = ДанныеОФизЛице.Номер; ОбластьМакета.Параметры.ПаспортВыдан = ДанныеОФизЛице.КемВыдан; ОбластьМакета.Параметры.ПаспортДатаВыдачи = ДанныеОФизЛице.ДатаВыдачи; ОбластьМакета.Параметры.ФамилияИмяОтчествоДоверенного = ФамилияИмяОтчествоДоверенного; ОбластьМакета.Параметры.ДолжностьДоверенного = Должность; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакетаЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы"); ТабДокумент.Вывести(ОбластьМакетаЗаголовокТаблицы); ОбластьМакетаПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьМакетаПодвал.Параметры.Заполнить(Шапка); //Если ЗначениеЗаполнено(Руководитель) Тогда ОбластьМакетаПодвал.Параметры.ФИОРуководителя = "Дашицыренова Б.Д";//Руководитель; //ОбластьМакетаПодвал.Параметры.Руководитель = "11"; //Руководитель; ОбластьМакетаПодвал.Параметры.ПоДоверенности = "по доверенности №8 от 29.12.2017 г."; //КонецЕсли; Если ЗначениеЗаполнено(Бухгалтер) Тогда ОбластьМакетаПодвал.Параметры.ФИОГлавногоБухгалтера = Бухгалтер; ОбластьМакетаПодвал.Параметры.ГлавныйБухгалтер = Бухгалтер; КонецЕсли; Если Макет.Области.Найти("ПодвалСтраницы") <> Неопределено Тогда ОбластьПодвалСтраницы = Макет.ПолучитьОбласть("ПодвалСтраницы"); Иначе ОбластьПодвалСтраницы = Неопределено; КонецЕсли; ОбластьМакетаСтрока = Макет.ПолучитьОбласть("Строка"); ВыборкаСтрокТовары = Шапка.Товары.Выбрать(); КоличествоСтрок = ВыборкаСтрокТовары.Количество(); Пока ВыборкаСтрокТовары.Следующий() Цикл ОбластьМакетаСтрока.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьМакетаСтрока.Параметры.КоличествоПрописью = ?(ВыборкаСтрокТовары.Количество = 0, "", Строка(ВыборкаСтрокТовары.Количество) + " (" + ОбщегоНазначенияБПВызовСервера.КоличествоПрописью(ВыборкаСтрокТовары.Количество) + ")"); МассивСтрок = Новый Массив; МассивСтрок.Добавить(ОбластьМакетаСтрока); Если ВыборкаСтрокТовары.Номер = КоличествоСтрок Тогда МассивСтрок.Добавить(ОбластьМакетаПодвал); ИначеЕсли ОбластьПодвалСтраницы <> Неопределено Тогда МассивСтрок.Добавить(ОбластьПодвалСтраницы); КонецЕсли; Если НЕ ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТабДокумент, МассивСтрок) Тогда Если ОбластьПодвалСтраницы <> Неопределено Тогда ТабДокумент.Вывести(ОбластьПодвалСтраницы); КонецЕсли; ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ТабДокумент.Вывести(ОбластьМакетаЗаголовокТаблицы); КонецЕсли; ТабДокумент.Вывести(ОбластьМакетаСтрока); КонецЦикла; ТабДокумент.Вывести(ОбластьМакетаПодвал); КонецЦикла; Возврат ТабДокумент; КонецФункции Текст ошибки: "Печатная форма недоступна" Обработка тут: https://yadi.sk/d/a41TjBGtldUDcw |
|||
1
DenYuliya
17.12.18
✎
11:54
|
Есть еще один вариант:
Ошибка: {ОбщийМодуль.УправлениеПечатью.Модуль(1215)}: В обработчике печати не был сформирован табличный документ для: Доверенность Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; МассивНазначений = Новый Массив; МассивНазначений.Добавить("Документ.Доверенность"); ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //возможны варианты - ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов, ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", "Доверенность внешняя"); //имя под kt обработка зарегистрирована будет в справочнике внешних обработок ПараметрыРегистрации.Вставить("Версия", "25.01.2016"); ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ); ПараметрыРегистрации.Вставить("Информация", "Дополнительная печатная форма Приходная накладная внешняя"); //команды ТаблицаКоманд = Новый ТаблицаЗначений; ТаблицаКоманд.Колонки.Добавить("Представление"); //как будет выглядеть описание печ.формы для пользователя ТаблицаКоманд.Колонки.Добавить("Идентификатор"); //имя нашего макета ТаблицаКоманд.Колонки.Добавить("Использование"); //ВызовСерверногоМетода ТаблицаКоманд.Колонки.Добавить("ПоказыватьОповещение"); //Истина ТаблицаКоманд.Колонки.Добавить("Модификатор"); //ПечатьМХL НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = "Доверенность внешняя"; НоваяКоманда.Идентификатор = "ПФ_MXL_М2"; //Внешняя печатная форма НоваяКоманда.Использование = "ВызовСерверногоМетода"; //здесь можно прописать использование как серверного так и клиентского, отличие в том, что серверный метод будет обращаться к экспортной процедуре из модуля объекта, клиентский - к экспортной процедуре из модуля формы объекта НоваяКоманда.ПоказыватьОповещение = Ложь; НоваяКоманда.Модификатор = "ПечатьMXL"; ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "Доверенность внешняя", "ПФ_MXL_М2", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_М2") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Доверенность внешняя", НСтр("ru='Доверенность внешняя'"), СформироватьПечатнуюФормуДоверенность(МассивОбъектов, ОбъектыПечати)); КонецЕсли; КонецПроцедуры //----------------------------------------------------------------------------- Функция СформироватьПечатнуюФормуДоверенность(МассивОбъектов, ОбъектыПечати) Экспорт //ТабДокумент, СсылкаНаОбъект, ДопПараметры, КоличествоЭкземпляров = 1, НаПринтер = Ложь, НепосредственнаяПечать = Ложь) // Экспорт УстановитьПривилегированныйРежим(Истина); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПФ_MXL_М2"; Макет = ПолучитьМакет("ПФ_MXL_М2"); ТабДокумент.ПолеСверху = 0; ТабДокумент.ПолеСлева = 5; ТабДокумент.ПолеСнизу = 0; ТабДокумент.ПолеСправа = 5; ТабДокумент.РазмерКолонтитулаСверху = 0; ТабДокумент.РазмерКолонтитулаСнизу = 0; ТабДокумент.АвтоМасштаб = Истина; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ТекстЗапроса = "ВЫБРАТЬ | Доверенность.Ссылка, | Доверенность.Номер КАК НомерДокумента, | Доверенность.Дата КАК ДатаДокумента, | Доверенность.Организация КАК Руководители, | Доверенность.Организация, | Доверенность.ФизЛицо, | Доверенность.ФизЛицо.Наименование КАК ФамилияИмяОтчествоДоверенного, | Доверенность.БанковскийСчетОрганизации КАК БанковскийСчет, | Доверенность.Контрагент КАК Поставщик, | Доверенность.НаПолучениеОт КАК ПоставщикПредставление, | Доверенность.ДатаДействия КАК СрокДействия, | Доверенность.ПоДокументу КАК РеквизитыДокументаНаПолучение, | Доверенность.Товары.( | НомерСтроки КАК Номер, | НаименованиеТовара КАК Ценности, | НаименованиеТовара КАК ЦенностиПредставление, | ЕдиницаПоКлассификатору КАК ЕдиницаИзмерения, | ЕдиницаПоКлассификатору.Представление КАК ЕдиницаИзмеренияПредставление, | Количество | ) |ИЗ | Документ.Доверенность КАК Доверенность |ГДЕ | Доверенность.Ссылка В(&МассивОбъектов) | |УПОРЯДОЧИТЬ ПО | Доверенность.Дата, | Доверенность.Ссылка, | Номер"; Запрос = Новый Запрос(); Запрос.УстановитьПараметр("МассивОбъектов", СсылкаНаОбъект); Запрос.Текст = ТекстЗапроса; Шапка = Запрос.Выполнить().Выбрать(); //ТабличныйДокумент = Новый ТабличныйДокумент; //ТабличныйДокумент.АвтоМасштаб = Истина; //ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; //ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Доверенность_М2"; //Макет = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет.ПФ_MXL_М2"); ПервыйДокумент = Истина; Пока Шапка.Следующий() Цикл Если Не ПервыйДокумент Тогда ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ПервыйДокумент = Ложь; // Запомним номер строки, с которой начали выводить текущий документ. НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1; ДанныеОФизЛице = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.ФизЛицо, Шапка.ДатаДокумента); ФамилияИмяОтчествоДоверенного = СокрЛП(ДанныеОФизЛице.Фамилия) + " " + СокрЛП(ДанныеОФизЛице.Имя) + " " + СокрЛП(ДанныеОФизЛице.Отчество); Должность = СокрЛП(ДанныеОФизЛице.Должность); //Если НазваниеМакета = "М2" тогда ОбластьМакета = Макет.ПолучитьОбласть("Отрез"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Шапка.НомерДокумента, Истина, Ложь); ОбластьМакета.Параметры.ФИОДоверенного = "" + ?(ПустаяСтрока(Должность), "", Должность + ", " + Символы.ПС) + (ФамилияИмяОтчествоДоверенного); ТабДокумент.Вывести(ОбластьМакета); НазваниеФормы = "Типовая межотраслевая форма № М-2"; //Иначе // НазваниеФормы = "Типовая межотраслевая форма № М-2а"; //КонецЕсли; Руководители = ОтветственныеЛицаБП.ОтветственныеЛица(Шапка.Организация, Шапка.ДатаДокумента); Руководитель = Руководители.РуководительПредставление; Бухгалтер = Руководители.ГлавныйБухгалтерПредставление; СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента, Шапка.БанковскийСчет); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); //Если НазваниеМакета = "М2" тогда ОбластьМакета.Параметры.ОКУД = "0315001"; //Иначе // ОбластьМакета.Параметры.ОКУД = "0315002"; //КонецЕсли; ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Шапка.НомерДокумента, Истина, Ложь); ОбластьМакета.Параметры.НазваниеФормы = НазваниеФормы; ОбластьМакета.Параметры.ОрганизацияПредставление = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); ОбластьМакета.Параметры.РеквизитыСчета = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( СведенияОбОрганизации, "НомерСчета,Банк,БИК,КоррСчет,"); ОбластьМакета.Параметры.РеквизитыПотребителя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); ОбластьМакета.Параметры.РеквизитыПлательщика = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); ОбластьМакета.Параметры.ОрганизацияКодПоОКПО = СведенияОбОрганизации.КодПоОКПО; ОбластьМакета.Параметры.ПаспортСерия = ДанныеОФизЛице.Серия; ОбластьМакета.Параметры.ПаспортНомер = ДанныеОФизЛице.Номер; ОбластьМакета.Параметры.ПаспортВыдан = ДанныеОФизЛице.КемВыдан; ОбластьМакета.Параметры.ПаспортДатаВыдачи = ДанныеОФизЛице.ДатаВыдачи; ОбластьМакета.Параметры.ФамилияИмяОтчествоДоверенного = ФамилияИмяОтчествоДоверенного; ОбластьМакета.Параметры.ДолжностьДоверенного = Должность; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакетаЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы"); ТабДокумент.Вывести(ОбластьМакетаЗаголовокТаблицы); ОбластьМакетаПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьМакетаПодвал.Параметры.Заполнить(Шапка); //Если ЗначениеЗаполнено(Руководитель) Тогда ОбластьМакетаПодвал.Параметры.ФИОРуководителя = "Дашицыренова Б.Д";//Руководитель; //ОбластьМакетаПодвал.Параметры.Руководитель = "11"; //Руководитель; ОбластьМакетаПодвал.Параметры.ПоДоверенности = "по доверенности №8 от 29.12.2017 г."; //КонецЕсли; Если ЗначениеЗаполнено(Бухгалтер) Тогда ОбластьМакетаПодвал.Параметры.ФИОГлавногоБухгалтера = Бухгалтер; ОбластьМакетаПодвал.Параметры.ГлавныйБухгалтер = Бухгалтер; КонецЕсли; Если Макет.Области.Найти("ПодвалСтраницы") <> Неопределено Тогда ОбластьПодвалСтраницы = Макет.ПолучитьОбласть("ПодвалСтраницы"); Иначе ОбластьПодвалСтраницы = Неопределено; КонецЕсли; ОбластьМакетаСтрока = Макет.ПолучитьОбласть("Строка"); ВыборкаСтрокТовары = Шапка.Товары.Выбрать(); КоличествоСтрок = ВыборкаСтрокТовары.Количество(); Пока ВыборкаСтрокТовары.Следующий() Цикл ОбластьМакетаСтрока.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьМакетаСтрока.Параметры.КоличествоПрописью = ?(ВыборкаСтрокТовары.Количество = 0, "", Строка(ВыборкаСтрокТовары.Количество) + " (" + ОбщегоНазначенияБПВызовСервера.КоличествоПрописью(ВыборкаСтрокТовары.Количество) + ")"); МассивСтрок = Новый Массив; МассивСтрок.Добавить(ОбластьМакетаСтрока); Если ВыборкаСтрокТовары.Номер = КоличествоСтрок Тогда МассивСтрок.Добавить(ОбластьМакетаПодвал); ИначеЕсли ОбластьПодвалСтраницы <> Неопределено Тогда МассивСтрок.Добавить(ОбластьПодвалСтраницы); КонецЕсли; Если НЕ ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТабДокумент, МассивСтрок) Тогда Если ОбластьПодвалСтраницы <> Неопределено Тогда ТабДокумент.Вывести(ОбластьПодвалСтраницы); КонецЕсли; ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ТабДокумент.Вывести(ОбластьМакетаЗаголовокТаблицы); КонецЕсли; ТабДокумент.Вывести(ОбластьМакетаСтрока); КонецЦикла; ТабДокумент.Вывести(ОбластьМакетаПодвал); КонецЦикла; Возврат ТабДокумент; КонецФункции Обработка тут:https://yadi.sk/d/q1pjvxWj0IyFGQ |
|||
2
DenYuliya
17.12.18
✎
11:55
|
К (1) - и тоже через "файл-открыть" все печатается отлично.
|
|||
3
dka80
17.12.18
✎
12:12
|
Запрос.УстановитьПараметр("МассивОбъектов", СсылкаНаОбъект)
Ссылка на объект чему равна? |
|||
4
dka80
17.12.18
✎
12:13
|
Напиши
СсылкаНаОбъект = МассивОбъектов[0]; Запрос.УстановитьПараметр("МассивОбъектов", СсылкаНаОбъект) |
|||
5
DenYuliya
17.12.18
✎
12:23
|
(3) если смотреть через "файл-открыть", то ссылке на выбранный документ.
(4) если через "файл-открыть", то все работает. Если через подключение к ВПФ, то ошибка: {ВнешняяОбработка.Доверенность.МодульОбъекта(117)}: Получение элемента по индексу для значения не определено Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов[0]); |
|||
6
DenYuliya
17.12.18
✎
12:25
|
К (4) ну или такая, то же самое:
{ВнешняяОбработка.Доверенность.МодульОбъекта(116)}: Получение элемента по индексу для значения не определено СсылкаНаОбъект = МассивОбъектов[0]; Но все-таки уже новый вариант ошибки, а то старый уже достал))). |
|||
7
dka80
17.12.18
✎
12:26
|
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
|
|||
8
DenYuliya
17.12.18
✎
12:40
|
(7) {ОбщийМодуль.УправлениеПечатью.Модуль(1215)}: В обработчике печати не был сформирован табличный документ для: ПФ_MXL_M2
ВызватьИсключение(ТекстСообщенияОбОшибке); С этой ошибки все и началось)))). Потом я переделывала-переделывала-переделывала, потом уже запуталась, как изначально вернуть эту самую первую ошибку... "ПФ_MXL_M2" - это название макета в ВПФ. |
|||
9
dka80
17.12.18
✎
12:49
|
Запустил твою обработку. Немного исправил. Все формируется.
https://yadi.sk/d/lWT18mLXdOldlA |
|||
10
dka80
17.12.18
✎
12:50
|
Бухгалтерия предприятия, редакция 3.0 (3.0.66.70)
|
|||
11
DenYuliya
17.12.18
✎
13:10
|
(9) Спасибо огромное!
Выходит, основная проблема была в ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПФ_MXL_М2"; ? Ну и " "ВызовСерверногоМетода", Ложь," Из-за такой ерунды... Самое забавное, что я эти "места", особенно "ИмяПараметровПечати" склоняла во всех видах, но не работало. Еще раз огромное спасибо! |
|||
12
dka80
17.12.18
✎
13:11
|
(11) ээээ.... я вообще-то только исправил
Запрос.УстановитьПараметр("МассивОбъектов", СсылкаНаОбъект) на Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов) |
|||
13
DenYuliya
17.12.18
✎
13:24
|
(12)
*где тут ржущий смайлик?* Я к тому моменту это у себя тоже исправила, потом запустила сравнение с вашим файлом, и различие вылезло в "ПараметреПечати"))) Все равно больше спасибо! Смеюсь сижу, надо больше редакций исправлений делать, а то я все под одним именем сохраняю, а потом путаюсь)))) |
|||
14
DenYuliya
17.12.18
✎
13:32
|
В общем я дура - я поняла. Всея - 1С предполагает печать комплектом. поэтому в запросе идет "Документ.Ссылка В Списке", а не "Документ.Ссылка = ".
А я дернула код из модуля Доверенности, даже не посмотрев, и не подумала - потому что у нас групповой печати нет особо. Урок сделала, невнимательность - зло. |
|||
15
Мимохожий Однако
17.12.18
✎
13:47
|
(14) ОФФ: Мисти случаем не твоя подруга? )) Очень похоже
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |