| 
    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;
     //Возврат Об.ПолучитьЭтотГРебанныйМакет();//ПолучитьМакет("МакетВыгрузкиИндивидуальногоГрафика"); 
     
 КонецФункции     
         | 
 |