|
Обращение к процедуре объекта как к функции (Печать) | ☑ | ||
---|---|---|---|---|
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 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |