Внешняя Печатная форма Эксель
☑
0
Lunovar
08.09.17
✎
18:21
Добрый день, Зуп 3.1.2 Платформа 8.3.10.2561.
Переделываю обработку печатной формы с 2.5 на 3.1 столкнулся с непонятной фигней. как внешняя обработка все работает, но если подключать через "дополнительные отчеты и обработки" выдает ошибку:
{ВнешняяОбработка.ЭкчельТЕСТ.Форма.Форма.Форма(13)}: Ошибка при вызове метода контекста (ПолучитьМакетНаСервере1)
ДвоичныеДанные = ПолучитьМакетНаСервере1();
по причине:
Неизвестный идентификатор формы
Собственно сам код, ошибка на строке "ДвоичныеДанные = ПолучитьМакетНаСервере1();" :
&НаКлиенте
Процедура Печать(ИдентификаторКоманды,ОбъектыНазначения) Экспорт
Попытка
MSExcel = Новый COMОбъект("Excel.Application");
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
ПолноеИмяФайла = ПолучитьИмяВременногоФайла("xls");
ДвоичныеДанные = ПолучитьМакетНаСервере1();
ДвоичныеДанные.Записать(ПолноеИмяФайла);
ДанныеДляЗаполненияТЧ = ЗапросКДаннымДокумента(Объект.СсылкаНаОбъект);
Если ДанныеДляЗаполненияТЧ.Количество() = 0 Тогда
//MSExcel.Close();
Возврат;
КонецЕсли;
Книга = MSExcel.WorkBooks.Open(ПолноеИмяФайла);
ЛистДанных = Книга.sheets(1); //лист
ДанныеШапки = ПолучитьДанныеДляЗаполненияШапки();
УстановкаПараметровВДокументе(MSExcel, ДанныеШапки); //заменяем параметры <...> в макете
ЗаписьДанныхТабличнойЧастиВЭксель(ДанныеДляЗаполненияТЧ, ЛистДанных); //обход результата таб части документа и записи в эксель
//не показывать сообщения об ошибках — иначе застопорит сохранение
MSExcel.DisplayAlerts = Ложь;
//Сохраняем
// 18 — xls 97-2003
// 51 — xlsx 2007-2013
MSExcel.ActiveWorkbook.SaveAs(ПолноеИмяФайла, 51);
MSExcel.Windows(1).Visible = Истина;
MSExcel.Application.Visible = Истина;
КонецПроцедуры
&НаСервере
Функция ПолучитьМакетНаСервере1() Экспорт
//ОбъектМакет = РеквизитФормыВЗначение("Объект").ЭтотОбъект;
// об = РеквизитФормыВЗначение("Объект");
Возврат ОбъектМакет.ПолучитьМакет("МакетВыгрузкиИндивидуальногоГрафика");
// Возврат 1;
//Возврат Об.ПолучитьЭтотГРебанныйМакет();//ПолучитьМакет("МакетВыгрузкиИндивидуальногоГрафика");
КонецФункции
1
Lunovar
08.09.17
✎
18:24
(0) ТОчнее:
&НаСервере
Функция ПолучитьМакетНаСервере1() Экспорт
Возврат РеквизитФормыВЗначение("Объект").ОбъектМакет.ПолучитьМакет("МакетВыгрузкиИндивидуальногоГрафика");
КонецФункции
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший