Имя: Пароль:
1C
1С v8
Обращение к процедуре объекта как к функции (Печать)
,
0 Wirtox
 
12.03.13
19:14
сделал внешнюю печатную форму, а она мне выдает такое сообщение Обращение к процедуре объекта как к функции (Печать)

вот общий модуль:

Процедура Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт
   
       Если Не РаботаСДиалогами.ПроверитьМодифицированность(СсылкаНаОбъект.ПолучитьОбъект()) Тогда
           Возврат;
       КонецЕсли;
       
       Если ИмяМакета = "Печатать маршрутный лист по заданию" Тогда
           ПечатьМаршрутногоЛистаПоЗаданию();
       КонецЕсли;
       
       пВидПутевогоЛиста = СсылкаНаОбъект.Автомобиль.Модель.ВидПутевогоЛиста;
       Если пВидПутевогоЛиста.Пустая() Тогда
           Предупреждение("Для данной модели автотранспорта не задан вид путевого листа!");
           Возврат;
       КонецЕсли;
       Если  ИмяМакета = "ПечататьЛицСторону" Тогда
           ИмяМакета =  ПолучитьИмяЗначенияПеречисления(пВидПутевогоЛиста,СсылкаНаОбъект);
           ИмяФункцииПечати = "уатПечать" + ИмяМакета + "(ИмяМакета, 1)";
           ТабДокумент = Вычислить(ИмяФункцииПечати);
           АА_ОбщегоНазначенияТиповые.АА_НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, АА_ОбщегоНазначенияТиповые.АА_СформироватьЗаголовокДокумента(СсылкаНаОбъект, СсылкаНаОбъект.Метаданные().Представление()));
       ИначеЕсли   ИмяМакета = "ПечататьОбрСторону" Тогда
           ИмяМакета =  ПолучитьИмяЗначенияПеречисления(пВидПутевогоЛиста,СсылкаНаОбъект);
           ИмяФункцииПечати = "уатПечать" + ИмяМакета + "(ИмяМакета, 2)";
           ТабДокумент = Вычислить(ИмяФункцииПечати);
           АА_ОбщегоНазначенияТиповые.АА_НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, АА_ОбщегоНазначенияТиповые.АА_СформироватьЗаголовокДокумента(СсылкаНаОбъект, СсылкаНаОбъект.Метаданные().Представление()));
       ИначеЕсли   ИмяМакета = "ПечататьПесьПутевойЛист" Тогда                                                                                                                          
           ИмяМакета = ПолучитьИмяЗначенияПеречисления(пВидПутевогоЛиста,СсылкаНаОбъект);
           ИмяФункцииПечати = "уатПечать" + ИмяМакета + "(ИмяМакета, 0)";
           ТабДокумент = Вычислить(ИмяФункцииПечати);
           АА_ОбщегоНазначенияТиповые.АА_НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, АА_ОбщегоНазначенияТиповые.АА_СформироватьЗаголовокДокумента(СсылкаНаОбъект, СсылкаНаОбъект.Метаданные().Представление()));
       ИначеЕсли  ИмяМакета = "ПечататьЛицСторонуБСО" Тогда
           ИмяМакета =  ПолучитьИмяЗначенияПеречисления(пВидПутевогоЛиста,СсылкаНаОбъект);
           ИмяФункцииПечати = "уатПечать" + ИмяМакета + "(ИмяМакета, 3)";
           ТабДокумент = Вычислить(ИмяФункцииПечати);
           АА_ОбщегоНазначенияТиповые.АА_НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, АА_ОбщегоНазначенияТиповые.АА_СформироватьЗаголовокДокумента(СсылкаНаОбъект, СсылкаНаОбъект.Метаданные().Представление()));
       КонецЕсли;
   
   КонецПроцедуры // Печать
   
Функция ПечатьМаршрутногоЛистаПоЗаданию(ИмяМакета = "") Экспорт
   ТабДок = Новый ТабличныйДокумент;
   Если Не ЗначениеЗаполнено(ИмяМакета) Тогда
       ИмяМакета = "уатМаршрутныйЛист";
   КонецЕсли;    
   Макет = ПолучитьОбщийМакет(ИмяМакета);
   // Заголовок
   Область = Макет.ПолучитьОбласть("Заголовок");
   ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
   ТабДок.Вывести(Область);
   // Шапка
   Область = Макет.ПолучитьОбласть("Шапка");
   // Убрать префикс и лидирующие нули из номера
   НомерБезПрефикса=СсылкаНаОбъект.Номер;  
   Пока Найти(НомерБезПрефикса,"0") <> 1 Цикл
       НомерБезПрефикса = Сред(НомерБезПрефикса,2); //удаляет лидирующие ненули
   КонецЦикла;
   
   НомерБезНулей = НомерБезПрефикса;
   Пока Найти(НомерБезНулей,"0") = 1 Цикл
       НомерБезНулей = Сред(НомерБезНулей,2); //удаляет лидирующие нули
   КонецЦикла;
   Область.Параметры.Номер = НомерБезНулей;
   
   Область.Параметры.Дата = СсылкаНаОбъект.Дата;
   Область.Параметры.Организация = СсылкаНаОбъект.Организация;
   //Область.Параметры.ВидЗаказа = Перечисления.уатВидыПеревозок.Грузовая;
   //Область.Параметры.ТС = уатОбщегоНазначения.уатПредставлениеТС(мУчетнаяПолитикаОрганизации, ТранспортноеСредство);
   //Область.Параметры.Ответственный = Ответственный;
   ТабДок.Вывести(Область);
   // Задания
   Область = Макет.ПолучитьОбласть("ЗаданияШапка");
   ТабДок.Вывести(Область);
   Для Каждого ТекСтрокаЗадания Из СсылкаНаОбъект.РАбота Цикл
       Область = Макет.ПолучитьОбласть("Задания");
       Если Не ЗначениеЗаполнено(ТекСтрокаЗадания.ВидРабот) Тогда
           //Область.Параметры.ВидРабот = ТекСтрокаЗадания.Подразделение;
       Иначе    
           Область.Параметры.ВидРабот = ТекСтрокаЗадания.ВидРабот;
       КонецЕсли;    
       Область.Параметры.Маршрут = ТекСтрокаЗадания.Маршрут;
       Область.Параметры.ПунктЗагрузки = ТекСтрокаЗадания.АдресПрибытия;
       Область.Параметры.ВремяЗагрузки = ТекСтрокаЗадания.ДатаПрибытие;
       Область.Параметры.ПунктРазгрузки = ТекСтрокаЗадания.АдресУбытия;
       Область.Параметры.ВремяРазгрузки = ТекСтрокаЗадания.ДатаВыбытие;
       Область.Параметры.Расстояние = ТекСтрокаЗадания.КоличествоКмГруз + ТекСтрокаЗадания.КоличествоКмПорожний;
       Область.Параметры.Груз = ТекСтрокаЗадания.Номенклатура;
       Область.Параметры.ВесГруза = ТекСтрокаЗадания.КоличествоТонн;
       Область.Параметры.КоличествоЕздок = ТекСтрокаЗадания.КоличествоЕздок;
       ТабДок.Вывести(Область);
   КонецЦикла;
   
   ТабДок.ОтображатьСетку = Ложь;
   ТабДок.Защита = Истина;
   ТабДок.ТолькоПросмотр = Истина;
   ТабДок.ОтображатьЗаголовки = Ложь;
   
   АА_ОбщегоНазначенияТиповые.уатНапечататьДокумент(ТабДок, 1, Ложь, "Маршрутный лист");
   
КонецФункции // ПечатьПлатежногоПоручения()

// формирует печатную форму международного ПЛ
Функция уатПечать_1(ИмяМакета, ФлагПечати="") Экспорт
   //печатаем лицевую сторону п/л - "ФлагПечати" не используем
   Перем мВодительскоеУдСерия, мВодительскоеУдНомер, мВодительскоеУдКатегория;    
   
   
   мМаксСтрок = 5;
   
   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПутевойЛист_ПутевойЛист_1";
   
   Макет = ПолучитьМакет(ИмяМакета);
   
   //рсТранспортноеСредство = уатОбщегоНазначения.уатПрочитатьРеквизитыТС(ТранспортноеСредство);
   
   ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
   
   ТабДокумент.ПолеСверху    = 0;
   ТабДокумент.ПолеСлева    = 0;
   ТабДокумент.ПолеСнизу    = 0;
   ТабДокумент.ПолеСправа    = 0;
   
   
   Обл   = Макет.ПолучитьОбласть("Лицевая");
   
   мНомерПЛ = АА_ОбщегоНазначенияТиповые.АА_ПолучитьНомерНаПечать(СсылкаНаОбъект);
   ФорматДаты      = "ДФ='дд    ММММ гггг'";
   Обл.Параметры.ДатаВыписки        = Формат(СсылкаНаОбъект.Дата,ФорматДаты);
   //Обл.Параметры.Организация          = Организация;
   Обл.Параметры.МодельТС          = СсылкаНаОбъект.Автомобиль.Модель;
   Обл.Параметры.ТранспортноеСредствоГосНомер    = СсылкаНаОбъект.Автомобиль.НомерГАИ;
   //Обл.Параметры.ТранспортноеСредствоГарНомер    = рсТранспортноеСредство.ГаражныйНомер;
   
   
   Водители                      = АА_ОбщегоНазначенияТиповые.АА_ФамилияИнициалыФизЛица(СсылкаНаОбъект.Водитель.Наименование);
   Если Не ЗначениеЗаполнено(СсылкаНаОбъект.Водитель2) Тогда
       Обл.Параметры.Водители  = Водители;
   Иначе
       Обл.Параметры.Водители  = СокрЛП(Водители) +  ", " +АА_ОбщегоНазначенияТиповые.АА_ФамилияИнициалыФизЛица(СсылкаНаОбъект.Водитель2.Наименование);
   КонецЕсли;    
   
   //уатОбщегоНазначения.уатУдостоверениеВодителя(Водитель, мВодительскоеУдСерия, мВодительскоеУдНомер, мВодительскоеУдКатегория);    
   //Обл.Параметры.НомерУдостоверенияВодителя = мВодительскоеУдНомер;
   //
   
   мТекИнд = 0;
   //Для мИнд = 1 по Прицепы.Количество() Цикл
   //    мПрицеп = Прицепы[мИнд-1].ТС;
   //    рсПрицеп = уатОбщегоНазначения.уатПрочитатьРеквизитыТС(мПрицеп);
   //    Если уатОбщегоНазначения.уатЭтоТС(мПрицеп) Тогда
   //        мТекИнд = мТекИнд + 1;
   //        Если мТекИнд = 1 Тогда
   //            Обл.Параметры.ПрицепМодель1  = уатОбщегоНазначения.уатПредставлениеМоделиТС(мПрицеп);
   //            Попытка
   //                Обл.Параметры.ПрицепГосНомер1  = рсПрицеп.ГосударственныйНомер;
   //            Исключение
   //            КонецПопытки;    
   //        ИначеЕсли мТекИнд = 2 Тогда
   //            Обл.Параметры.ПрицепМодель2  = уатОбщегоНазначения.уатПредставлениеМоделиТС(мПрицеп);
   //            Попытка
   //                Обл.Параметры.ПрицепГосНомер2  = рсПрицеп.ГосударственныйНомер;
   //            Исключение
   //            КонецПопытки;    
   //        //в БСО грузового международного ПЛ предусмотрены только 2 прицепа                        
   //        КонецЕсли;    
   //    КонецЕсли;    
   //КонецЦикла;    
   
   Обл.Параметры.ДатаВыезда = Формат(СсылкаНаОбъект.Дата_Выезд,"ДФ=дд.мм.гггг");
   Обл.Параметры.ВремяВыезда        = Формат(СсылкаНаОбъект.Дата_Выезд,"ДФ=чч:мм");
   
   Обл.Параметры.СпидометрВыезда        = СсылкаНаОбъект.Счетчик_Выезд;
   
   Для Каждого ТекСтрока Из СсылкаНаОбъект.Работа Цикл
       ТекИндекс = СсылкаНаОбъект.Работа.Индекс(ТекСтрока) + 1;
       
       Если ТекИндекс > мМаксСтрок Тогда
           Прервать;
       КонецЕсли;
       
       инд=Строка(ТекИндекс);
       обл.Параметры["ВРаспоряжение_" + инд]= ТекСтрока.ВидРабот.Наименование;
       
       //обл.Параметры["АдресПогрузки_" + инд]=ТекСтрока.АдресПрибытия;
       //
       //обл.Параметры["АдресРазгрузки_" + инд]=ТекСтрока.АдресУбытия;
       //
       //
       обл.Параметры["Груз_" + инд]=ТекСтрока.ВидРабот.ТипСырья;
       //
       обл.Параметры["Расстояние_" + инд]=?(ТекСтрока.ТКМ = 0, "",ТекСтрока.ТКМ);
       
       обл.Параметры["Тонны_" + инд]=?(ТекСтрока.Тн = 0, "",ТекСтрока.Тн);
       
   КонецЦикла;
   
   ТабДокумент.Вывести(Обл);
   Возврат ТабДокумент;
   
КонецФункции // Печать_Междун ПЛ()    

// формирует печатную форму грузового ПЛ
Функция уатПечать_2(ИмяМакета, ФлагПечати="", СсылкаНаОбъект) Экспорт
   //печатаем лицевую сторону п/л - "ФлагПечати" не используем
   Перем мВодительскоеУдСерия, мВодительскоеУдНомер, мВодительскоеУдКатегория;    
   
   мМаксСтрок = 5;
   
   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПутевойЛист_ПутевойЛист_2";
   
   Макет = ПолучитьМакет(ИмяМакета);
   
   Если ФлагПечати = 2 Тогда
       Область = Макет.ПолучитьОбласть("Оборотная");
       ТабДокумент.Вывести(Область);
       Возврат ТабДокумент;
   КонецЕсли;
   
   
   
   //рсТранспортноеСредство = уатОбщегоНазначения.уатПрочитатьРеквизитыТС(ТранспортноеСредство);
   
   ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
   
   ТабДокумент.ПолеСверху    = 5;
   ТабДокумент.ПолеСлева    = 5;
   ТабДокумент.ПолеСнизу    = 0;
   ТабДокумент.ПолеСправа    = 0;
   ТабДокумент.Автомасштаб    = ложь;
   ТабДокумент.МасштабПечати    = 100;
   
   Если (ФлагПечати = 2) Тогда
       Область = Макет.ПолучитьОбласть("Оборотная");
       ТабДокумент.Вывести(Область);
       Возврат ТабДокумент;
   КонецЕсли;
   
   
   Если ФлагПечати = 3 Тогда
       Обл = Макет.ПолучитьОбласть("ЛицеваяБСО");
   ИначеЕсли (ФлагПечати = 1)  или (ФлагПечати = 0)Тогда
       Обл = Макет.ПолучитьОбласть("Лицевая");
       
       // Убрать префикс и лидирующие нули из номера
       НомерБезПрефикса=СсылкаНаОбъект.Номер;  
       Пока Найти(НомерБезПрефикса,"0") <> 1 Цикл
           НомерБезПрефикса = Сред(НомерБезПрефикса,2); //удаляет лидирующие ненули
       КонецЦикла;
       
       НомерБезНулей = НомерБезПрефикса;
       Пока Найти(НомерБезНулей,"0") = 1 Цикл
           НомерБезНулей = Сред(НомерБезНулей,2); //удаляет лидирующие нули
       КонецЦикла;
       Обл.Параметры.Номер = НомерБезНулей;
       
       
   КонецЕсли;
   
   
   мНомерПЛ = АА_ОбщегоНазначенияТиповые.АА_ПолучитьНомерНаПечать(СсылкаНаОбъект);
   
   Обл.Параметры.ДатаВыписки        = Формат(СсылкаНаОбъект.Дата,"Л=uk_UA; ДФ='дд"+?(ФлагПечати = 3,"   ","")+" ММММ'");
   Обл.Параметры.ГодВыписки        = Формат(СсылкаНаОбъект.Дата,"ДФ='"+?(ФлагПечати = 3,"","гг")+"гг'");
   //Обл.Параметры.Организация          = ЭтотОбъект.Организация; //- в БСО угловой штамп
   Обл.Параметры.МодельТС          = СсылкаНаОбъект.автомобиль.Модель;
   Обл.Параметры.ТранспортноеСредствоГосНомер    = СокрЛП(СсылкаНаОбъект.Автомобиль.ПрефиксГосНомера) + СокрЛП(СсылкаНаОбъект.автомобиль.НомерГАИ)+ СокрЛП(СсылкаНаОбъект.Автомобиль.СуфиксГосНомера);
   //Обл.Параметры.ТранспортноеСредствоГарНомер    = рсТранспортноеСредство.ГаражныйНомер;
   
   
   Если ФлагПечати = 3 Тогда
       
       Если ЗначениеЗаполнено(СсылкаНаОбъект.Водитель) Тогда
           Водители                      = АА_ОбщегоНазначенияТиповые.АА_ФамилияИнициалыФизЛица(СсылкаНаОбъект.Водитель.Наименование);
       КонецЕсли;
       Если Не ЗначениеЗаполнено(СсылкаНаОбъект.Водитель2) Тогда
           Обл.Параметры.Водители  = Водители;
       Иначе
           Обл.Параметры.Водители  = СокрЛП(Водители) +  ", " +АА_ОбщегоНазначенияТиповые.АА_ФамилияИнициалыФизЛица(СсылкаНаОбъект.Водитель2.Наименование);
       КонецЕсли;    
       //мРеквизитыВодителя1        = уатОбщегоНазначения.уатПрочитатьРеквизитыВодителя(Водитель, ДатаВыписки);
       Обл.Параметры.ВодительКод    = СсылкаНаОбъект.Водитель.Код;
   Иначе
       //на обычном бланке у нас две строчки, в БСО - одной
       Если ЗначениеЗаполнено(СсылкаНаОбъект.Водитель) Тогда
           Обл.Параметры.Водитель1  = АА_ОбщегоНазначенияТиповые.АА_ФамилияИнициалыФизЛица(СсылкаНаОбъект.Водитель.Наименование);
           //мРеквизитыВодителя1        = уатОбщегоНазначения.уатПрочитатьРеквизитыВодителя(Водитель, ДатаВыписки);
           //Обл.Параметры.ВодительКод1    = Водитель.Код;
           Если ЗначениеЗаполнено(СсылкаНаОбъект.Водитель2) Тогда
               Обл.Параметры.Водитель2  = АА_ОбщегоНазначенияТиповые.АА_ФамилияИнициалыФизЛица(СсылкаНаОбъект.Водитель2.Наименование);
               //мРеквизитыВодителя2        = уатОбщегоНазначения.уатПрочитатьРеквизитыВодителя(Водитель2, ДатаВыписки);
               //Обл.Параметры.ВодительКод2    = Водитель2.Код;
           КонецЕсли;    
       КонецЕсли;
   КонецЕсли;    
       
   Обл.Параметры.ПрицепМодель1  = СсылкаНаОбъект.Прицеп1 ;
   
   Обл.Параметры.ВремяВыезда_ЧЧ        = Строка(Час(СсылкаНаОбъект.Дата_Выезд));
   Обл.Параметры.ВремяВыезда_ММ        = Строка(Минута(СсылкаНаОбъект.Дата_Выезд));
   Обл.Параметры.ВремяЗаезда_ЧЧ        = Строка(Час(СсылкаНаОбъект.Дата_Возврат));
   Обл.Параметры.ВремяЗаезда_ММ        = Строка(Минута(СсылкаНаОбъект.Дата_Возврат));
   
   
   
   Если СсылкаНаОбъект.Топ_Выдано > 0 Тогда
       Обл.Параметры.ВыдатьКоличествоГорючего  = СокрЛП(СсылкаНаОбъект.Топ_марка)+", "+СсылкаНаОбъект.Топ_Выдано;
   КонецЕсли;    
   //
   Обл.Параметры.СпидометрВыезда        = Формат(СсылкаНаОбъект.Счетчик_Выезд,"ЧРГ=' '; ЧН=0");
   Если СсылкаНаОбъект.Проведен Тогда
       Обл.Параметры.СпидометрВозвращения = Формат(СсылкаНаОбъект.Счетчик_Возврат,"ЧРГ=' '; ЧН=0");
   КонецЕсли;
   
   Обл.Параметры.ГСМ1    = СсылкаНаОбъект.Топ_марка;
   Обл.Параметры.ГСМ2    = СсылкаНаОбъект.Топ_марка1;
   Если СсылкаНаОбъект.Проведен Тогда
       Обл.Параметры.ВыданоГорючего =  Формат(СсылкаНаОбъект.Топ_Выдано,"ЧРГ=' '; ЧН=0");
       Обл.Параметры.ВозвратГорючего = Формат(СсылкаНаОбъект.Топ_Возврат,"ЧРГ=' '; ЧН=0");
       Обл.Параметры.ВозвратГорючего1 = Формат(СсылкаНаОбъект.Топ_Возврат1,"ЧРГ=' '; ЧН=0");
       Обл.Параметры.ОстатокПриВыезде1    = Формат(СсылкаНаОбъект.Топ_Выезд,"ЧН=0");
       Обл.Параметры.Топ_выдано1 = Формат(СсылкаНаОбъект.Топ_выдано1,"ЧН=0");
       Обл.Параметры.СпидометрВозвращения = Формат(СсылкаНаОбъект.Топ_Возврат1,"ЧН=0");
       Обл.Параметры.ОстатокПриВыезде2    = Формат(СсылкаНаОбъект.Топ_Выезд1,"ЧН=0");
   КонецЕсли;
   Обл.Параметры.ВыдалДиспетчер    = СсылкаНаОбъект.ВыдалДиспетчер;
   Обл.Параметры.ВыпустилМеханик    = СсылкаНаОбъект.ВыпустилМеханик;
   Обл.Параметры.ПринялМеханик        = СсылкаНаОбъект.ПринялМеханик;
   Обл.Параметры.ВодительСдал        = СсылкаНаОбъект.Водитель;
   Обл.Параметры.ВодительПринял    = СсылкаНаОбъект.Водитель;
   Обл.Параметры.ОсмотрелВрач  = СсылкаНаОбъект.ОсмотрелВрач;
   ТЗРабота = СсылкаНаОбъект.Работа.Выгрузить();
   ТЗРабота.Свернуть("Маршрут, ВидРабот","Дни, Часы, Км, Тн");            
   Для Каждого ТекСтрока Из ТЗРабота Цикл
       ТекИндекс = ТЗРабота.Индекс(ТекСтрока) + 1;
       
       Если ТекИндекс > мМаксСтрок Тогда
           Прервать;
       КонецЕсли;
       
       инд=Строка(ТекИндекс);
       
       обл.Параметры["ВРаспоряжение_" + инд] = ССылкаНАОбъект.Организация;
       
       Если СсылкаНаОбъект.Проведен Тогда
           //обл.Параметры["ВремяПрибытия_" + инд] = Формат(ТекСтрока.ДатаПрибытие, "ДФ=""ЧЧ:мм""");
           //обл.Параметры["ВремяУбытия_" + инд] = Формат(ТекСтрока.ДатаВыбытие, "ДФ=""ЧЧ:мм""");
           //обл.Параметры["КоличествоЧасов_"+инд] = Формат(Дата(1, 1, 1) + ТекСтрока.Часы*3600, "ДФ=""ЧЧ:мм""");
           
           //обл.Параметры["КоличествоЕздок_" + инд]= ?(ТекСтрока.Ездки = 0, "",ТекСтрока.Ездки);
           обл.Параметры["Расстояние_" + инд]=?(ТекСтрока.КМ = 0, "",ТекСтрока.КМ);
           
           обл.Параметры["Тонны_" + инд]=?(ТекСтрока.Тн = 0, "",ТекСтрока.Тн);
       Иначе
           //обл.Параметры["ВремяПрибытия_" + инд] = Формат(Дата_Возврат, "ДФ=""ЧЧ:мм""");
           //обл.Параметры["ВремяУбытия_" + инд] = Формат(Дата_Выезд, "ДФ=""ЧЧ:мм""");
           //обл.Параметры["КоличествоЧасов_"+инд] = Формат(Дата(1, 1, 1) + ТекСтрока.Часы*3600, "ДФ=""ЧЧ:мм""");
           
           //обл.Параметры["КоличествоЕздок_" + инд]= ?(ТекСтрока.Ездки = 0, "",ТекСтрока.Ездки);
           обл.Параметры["Расстояние_" + инд]=?(ТекСтрока.КМ = 0, "",ТекСтрока.КМ);
           
           обл.Параметры["Тонны_" + инд]=?(ТекСтрока.Тн = 0, "",ТекСтрока.Тн);
       КонецЕсли;
       
       стрОбласть = "АдресПогрузки_" + Строка(ТекИндекс);
       обл.Параметры[стрОбласть] = ТекСтрока.Маршрут;
       //обл.Параметры["Груз_" + инд]=ТекСтрока.ВидРабот.ТипСырья;
       обл.Параметры["Груз_" + инд]=ТекСтрока.ВидРабот.НаименованиеГрузаДляПечатиПЛ;
       //обл.Параметры[стрОбласть] = ТекСтрока.УсловияВР.НачальныйПункт.НаселенныйПункт;
       //стрОбласть = "АдресРазгрузки_" + Строка(ТекИндекс);
       //обл.Параметры[стрОбласть] = ТекСтрока.УсловияВР.КонечныйПункт.НаселенныйПункт;
       
   КонецЦикла;
   
   ТабДокумент.Вывести(Обл);
   
   Если (ФлагПечати = 0) Тогда
       Область = Макет.ПолучитьОбласть("Оборотная");
       ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
       ТабДокумент.Вывести(Область);
   КонецЕсли;
   
   Возврат ТабДокумент;
   
КонецФункции // Печать_2()

// формирует печатную форму легкового ПЛ
Функция уатПечать_3(ИмяМакета, ФлагПечати="") Экспорт
   Перем мВодительскоеУдСерия, мВодительскоеУдНомер, мВодительскоеУдКатегория;    
   
   мМаксСтрок = 18;
   
   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПутевойЛист_ПутевойЛист_3";        
   
   Макет = ПолучитьМакет(ИмяМакета);
   
   Если ФлагПечати = 2 Тогда
       Область = Макет.ПолучитьОбласть("Оборотная");
       ТабДокумент.Вывести(Область);
       Возврат ТабДокумент;
   КонецЕсли;
   
   мМаксСтрок = 5;
   МодельТС          = СсылкаНаОбъект.Автомобиль.Модель.Наименование;
   //рсТранспортноеСредство = уатОбщегоНазначения.уатПрочитатьРеквизитыТС(ТранспортноеСредство);
   
   Если ФлагПечати = 3 Тогда
       Область = Макет.ПолучитьОбласть("ЛицеваяБСО");
   Иначе
       Область = Макет.ПолучитьОбласть("Лицевая");
               // Убрать префикс и лидирующие нули из номера
       НомерБезПрефикса=СсылкаНаОбъект.Номер;  
       Пока Найти(НомерБезПрефикса,"0") <> 1 Цикл
           НомерБезПрефикса = Сред(НомерБезПрефикса,2); //удаляет лидирующие ненули
       КонецЦикла;
       
       НомерБезНулей = НомерБезПрефикса;
       Пока Найти(НомерБезНулей,"0") = 1 Цикл
           НомерБезНулей = Сред(НомерБезНулей,2); //удаляет лидирующие нули
       КонецЦикла;
       Область.Параметры.Номер = НомерБезНулей;
   КонецЕсли;
   
   ФорматДаты      = "Л=uk_UA; ДФ='д ММММ гггг'";
   Область.Параметры.ДатаВыписки        = Формат(СсылкаНаОбъект.Дата_Выезд,ФорматДаты);
   Область.Параметры.МодельТС          = МодельТС;
   Область.Параметры.ТранспортноеСредствоГосНомер    = СсылкаНаОбъект.Автомобиль.НомерГАИ;
   //Область.Параметры.ТранспортноеСредствоГарНомер    = рсТранспортноеСредство.ГаражныйНомер;
   //Область.Параметры.Колонна = рсТранспортноеСредство.Колонна;
   
   Область.Параметры.Механик = АА_ОбщегоНазначенияТиповые.АА_ФамилияИнициалыФизЛица(СсылкаНаОбъект.ВыпустилМеханик);
   Область.Параметры.Врач = АА_ОбщегоНазначенияТиповые.АА_ФамилияИнициалыФизЛица(СсылкаНаОбъект.ОсмотрелВрач);
   
   
   // Вывести поле "водитель"
   //Водители                      = АА_ОбщегоНазначенияТиповые.АА_ФамилияИнициалыФизЛица(ВодительСотрудник);
   Водители                      = АА_ОбщегоНазначенияТиповые.АА_ФамилияИнициалыФизЛица(СсылкаНаОбъект.Водитель.Наименование);
   Область.Параметры.Водители  = Водители;
   
   //мРеквизитыВодителя1        = уатОбщегоНазначения.уатПрочитатьРеквизитыВодителя(ВодительСотрудник, ДатаВыписки);
   
   ДокументСерия = ""; ДокументНомер = ""; ДокументКатегория = "";
   //Если ААОбщегоНазначенияТиповые.ААУдостоверениеВодителя(ВодительСотрудник, ДокументСерия, ДокументНомер, ДокументКатегория) Тогда
   //    Область.Параметры.НомерУдостоверенияВодителя = ", " + ДокументСерия + " " + ДокументНомер;
   //КонецЕсли;
   
   //Область.Параметры.ВодительКод    = ВодительСотрудник.Код;
   Область.Параметры.ВодительКод    = СсылкаНаОбъект.Водитель.Код;
       
   
   Область.Параметры.СпидометрВыезда  = СсылкаНаОбъект.Счетчик_Выезд;
   Если СсылкаНаОбъект.Проведен Тогда
       Область.Параметры.СпидометрВозвращения = СсылкаНаОбъект.Счетчик_Возврат;
   КонецЕсли;
   Область.Параметры.ВремяВыезда = Формат(СсылкаНаОбъект.Дата_Выезд , "ДФ="" ЧЧ:мм""");
   Область.Параметры.ВремяВозвращения = Формат(СсылкаНаОбъект.Дата_Возврат, "ДФ="" ЧЧ:мм""");
   //Для Каждого ТекСтрока из РасходГСМ Цикл
   //    рсТС = уатОбщегоНазначения.уатПрочитатьРеквизитыТС(ТекСтрока.ТС);
   //    Если ТекСтрока.ТС = ТранспортноеСредство Тогда
   //        Если ТекСтрока.ГСМ = рсТС.Модель.ОсновноеТопливо Тогда
   Область.Параметры.ГСМ1    = СсылкаНаОбъект.Топ_марка;
   Область.Параметры.ОстатокПриВыезде1    = СсылкаНаОбъект.Топ_Выезд;
   Область.Параметры.Выдано = СсылкаНаОбъект.Топ_Выдано;
   //Область.Параметры.ОстатокПриВозвращении1 = ТекСтрока.ОстатокПриВозвращении;
   //        КонецЕсли;    
   //    КонецЕсли;    
   //КонецЦикла;
       
   Для Каждого ТекСтрока Из СсылкаНаОбъект.Работа Цикл
       ТекИндекс = СсылкаНаОбъект.Работа.Индекс(ТекСтрока) + 1;
       
       Если ТекИндекс > мМаксСтрок Тогда
           Сообщить("Количество заданий превысило регламентое");
           Прервать;
       КонецЕсли;
       
       инд=Строка(ТекИндекс);
       
       Область.Параметры["ВРаспоряжение_" + инд]= ТекСтрока.ВидРабот.Наименование;
       
       Область.Параметры["ВремяПрибытия_" + инд]=Формат(ТекСтрока.ДатаПрибытие, "ДФ=""ЧЧ:мм""");
       
       Область.Параметры["ВремяУбытия_" + инд]=Формат(ТекСтрока.ДатаВыбытие, "ДФ=""ЧЧ:мм""");
       
   КонецЦикла;
   
   ТабДокумент.Вывести(Область);  
   Если ФлагПечати = 0 Тогда
       //ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
       Область = Макет.ПолучитьОбласть("Оборотная");
       
       Для Каждого ТекСтрока из СсылкаНаОбъект.Топливо Цикл
           //рсТС = уатОбщегоНазначения.уатПрочитатьРеквизитыТС(ТекСтрока.ТС);
           //Если ТекСтрока.ТС = ТранспортноеСредство Тогда
           Область.Параметры.РасходПоНорме = ТекСтрока.Норма;
           Область.Параметры.РасходПоФакту = ТекСтрока.Факт;
           //КонецЕсли;
       КонецЦикла;
       Область.Параметры.ОбщийПробег = СсылкаНаОбъект.Счетчик_Возврат - СсылкаНаОбъект.Счетчик_Выезд;
       ТабДокумент.Вывести(Область);
   КонецЕсли;
   
   // © "Аксиома" Поперечный С.В. [10.11.2012] МА НАЧАЛО
   // Печатать документ в А3
   ТабДокумент.РазмерСтраницы = "A3";
   Возврат ТабДокумент;
   
   
КонецФункции // Печать_3()

Функция ПолучитьИмяЗначенияПеречисления(пВидПутевогоЛиста,СсылкаНаОбъект)

   ИмяПеречисления = СсылкаНаОбъект.Метаданные().Имя;
   Индекс = Перечисления[ИмяПеречисления].Индекс(СсылкаНаОбъект);
   
   Возврат Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[Индекс].Имя;

КонецФункции // ПолучитьИмяЗначенияПеречисления()
1 Wirtox
 
12.03.13
19:14
Если кому-то не сложно помогите.
2 NcSteel
 
12.03.13
19:15
Какое слово перевести?
3 NcSteel
 
12.03.13
19:16
4 NcSteel
 
12.03.13
19:16
(3) Интересно ядро сайта тупануло.
5 kotletka
 
12.03.13
19:18
(1)где ты эту процедуру вызываешь?
6 NcSteel
 
12.03.13
19:19
(5) А ты как думаешь? Не читатель а писатель?
7 kotletka
 
12.03.13
19:20
да и про возврат в процедуре почитай что ли
8 Hawk_1c
 
12.03.13
19:21
ПечатьМаршрутногоЛистаПоЗаданию - Это не функция тоже, а процедура. Ничего не возвращает.
9 kotletka
 
12.03.13
19:22
(6)аа все прочитал про внешнюю печатную форму
10 NcSteel
 
12.03.13
19:23
(8) Дурик скопировал модуль объекта (документ или справочник) и думает создал печ форму. А мозгом пораскинуть и справку почитать не хочет.
11 NcSteel
 
12.03.13
19:24
(10) + В общем за это банить надо анально.
12 echo77
 
12.03.13
19:25
На х@я весь модуль сюда постить?

Ты видимо, пытаешь от процедуры что-то получить, типа так:

ТабДокумент = Печать()
//- это неправильно

// правильно:
Печать()
13 NcSteel
 
12.03.13
19:26
(12) -------> Стена...


Мля

Он подключил печ форму к конфе и универсальный механизм ее вызывает как функцию. А у него не функция , а процедура:

http://www.youtube.com/watch?v=gNl-jwfzKpY