"Функция Печать(ДокументОбъект, ТабДокумент) Экспорт<br> ДокументОбъект = СсылкаНаОбъект;<br> ТабДокумент = неопределено;<br>////////////////////////////////////////////////////////////////////////////<br> ДатаОбращ = СокрЛП(Строка(Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy")));<br> ДатаПост = СокрЛП(Строка(Формат(СсылкаНаОбъект.ДатаНачала, "ДФ=dd.MM.yyyy")));<br> ФИО = СокрЛП(Строка(СсылкаНаОбъект.Заказчик));<br> Авто = СокрЛП(Строка(СсылкаНаОбъект.Автомобиль));<br> <br> //Пробег<br> Запрос = Новый Запрос;<br> Запрос.Текст = "ВЫБРАТЬ<br> | АвтомобилиСрезПоследних.Значение<br> |ИЗ<br> | РегистрСведений.Автомобили.СрезПоследних КАК АвтомобилиСрезПоследних<br> |ГДЕ<br> | АвтомобилиСрезПоследних.Автомобиль = &Авто<br> | И АвтомобилиСрезПоследних.ВидЗначения = &Пробег";<br> Запрос.УстановитьПараметр("Авто", СсылкаНаОБъект.Автомобиль);<br> Запрос.УстановитьПараметр("Пробег", Перечисления.ДополнительнаяИнформацияАвтомобилей.Пробег);<br> Результат = Запрос.Выполнить().Выбрать();<br> Пока Результат.Следующий() Цикл<br> Пробег = СокрЛП(Строка(Результат.Значение));<br> КонецЦикла; <br> ГодВып = СокрЛП(Строка(СсылкаНаОбъект.Автомобиль.ГодВыпуска));<br> Причина = СокрЛП(СсылкаНаОбъект.ПричинаОбращения);<br> <br> //История<br> Запрос = Новый Запрос;<br> //Это последний заказ-наряд<br> Запрос.Текст = "ВЫБРАТЬ<br> | ЗаказНаряд.Ссылка,<br> | МАКСИМУМ(ЗаказНаряд.Дата) КАК Дата<br> |ИЗ<br> | Документ.ЗаказНаряд КАК ЗаказНаряд<br> |ГДЕ<br> | ЗаказНаряд.Автомобиль = &авто<br> |<br> |СГРУППИРОВАТЬ ПО<br> | ЗаказНаряд.Ссылка";<br> Запрос.УстановитьПараметр("авто", ссылканаобъект.Автомобиль);<br> Результат = Запрос.Выполнить().Выбрать();<br> Пока Результат.Следующий() Цикл<br> ПослЗаказСсылка = Результат.Ссылка;<br> КонецЦикла;<br> История = """";<br> <br> Если НЕ ПослЗаказСсылка.Пустая() тогда<br> //Если последнее было ТО<br> Если ПослЗаказСсылка.ВидРемонта = Справочники.ВидыРемонта.НайтиПоКоду("ЦБ000004") тогда<br> История = СокрЛП(Строка(ПослЗаказСсылка.ВидРемонта)) + " от " + <br> СокрЛП(Строка(Формат(ПослЗаказСсылка.Дата, "ДФ=dd.MM.yyyy")))+ ". Рекомендации: " + <br> СокрЛП(ПослЗАказСсылка.Рекомендации);<br> //Если последнее не ТО <br> Иначе<br> //Что делали последним<br> ПослИстория = """";<br> ПослИстория = СокрЛП(Строка(ПослЗаказСсылка.ВидРемонта)) + " от " + <br> СокрЛП(Строка(Формат(ПослЗаказСсылка.Дата, "ДФ=dd.MM.yyyy")))+ ". Рекомендации: " + <br> СокрЛП(ПослЗАказСсылка.Рекомендации);<br><br> //Найти последнее ТО<br> Запрос = Новый Запрос;<br> //Это последний заказ-наряд<br> Запрос.Текст = "ВЫБРАТЬ<br> | ЗаказНаряд.Ссылка,<br> | МАКСИМУМ(ЗаказНаряд.Дата) КАК Дата<br> |ИЗ<br> | Документ.ЗаказНаряд КАК ЗаказНаряд<br> |ГДЕ<br> | ЗаказНаряд.Автомобиль = &авто И ЗаказНаряд.ВидРемонта = &ВидРемонта<br> |<br> |СГРУППИРОВАТЬ ПО<br> | ЗаказНаряд.Ссылка";<br> Запрос.УстановитьПараметр("авто", ссылканаобъект.Автомобиль);<br> Запрос.УстановитьПараметр("ВидРемонта", Справочники.ВидыРемонта.НайтиПоКоду("ЦБ000004"));<br> Результат = Запрос.Выполнить().Выбрать();<br> Пока Результат.Следующий() Цикл<br> ПослЗаказСсылка = Результат.Ссылка;<br> КонецЦикла;<br> Если НЕ ПослЗаказСсылка.Пустая() тогда<br> История = СокрЛП(Строка(ПослЗаказСсылка.ВидРемонта)) + " от " + <br> СокрЛП(Строка(Формат(ПослЗаказСсылка.Дата, "ДФ=dd.MM.yyyy")))+ ". Рекомендации: " + <br> СокрЛП(ПослЗАказСсылка.Рекомендации)+ "; " + ПослИстория;<br> Иначе <br> История = ПослИстория;<br> КонецЕсли;<br> КонецЕсли;<br> КонецЕсли;<br> <br> // Установленное дополнительное оборудование<br> СписокВидов = Новый Массив;<br> СписокВидов.Добавить(СПравочники.ВидыРемонта.ДополнительноеОборудование);<br> СписокВидов.Добавить(Справочники.ВидыРемонта.КомплектацияАвтомобиля);<br> СписокВидов.Добавить(Справочники.ВидыРемонта.НайтиПоКоду("ЦБ000005"));<br> Запрос = Новый Запрос;<br> Запрос.Текст = "ВЫБРАТЬ<br> | ЗаказНарядТовары.Номенклатура<br> |ИЗ<br> | Документ.ЗаказНаряд.Товары КАК ЗаказНарядТовары<br> |ГДЕ<br> | ЗаказНарядТовары.Ссылка В<br> | (ВЫБРАТЬ<br> | ЗаказНаряд.Ссылка КАК Ссылка<br> | ИЗ<br> | Документ.ЗаказНаряд КАК ЗаказНаряд<br> | ГДЕ<br> | ЗаказНаряд.Автомобиль = &авто<br> | И ЗаказНаряд.ВидРемонта В (&СписокВидов))";<br> Запрос.УстановитьПараметр("СписокВидов", СписокВидов);<br> Запрос.УстановитьПараметр("Авто", СсылкаНаОбъект.Автомобиль);<br> Результат = Запрос.Выполнить().Выбрать();<br> ДопОборуд = """";<br> счетчик = 1;<br> Пока Результат.Следующий() Цикл<br> Если счетчик = 1 тогда<br> ДопОборуд = СокрЛП(Строка(Результат.Номенклатура)) + "; ";<br> счетчик = счетчик + 1;<br> Иначе<br> ДопОборуд = ДопОборуд + СокрЛП(Строка(Результат.Номенклатура)) + "; ";<br> КонецЕсли;<br> КонецЦикла;<br> <br> //Дополнительные Услуги<br> ДопУслуги = """";<br> Если СсылкаНаОбъект.ДопМойкаТехнологическая = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = "Технологическая мойка; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопМойкаПолностью = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "мойка полностью; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопМойкаДвигатель = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "мойка двигателя; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопМойкаСверху = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "мойка сверху; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопАвтонабор = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "автонабор; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопБалансировкаКолес = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "балансировка колес; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопБрызговики = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "брызговики; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопДиагностическийСтенд = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "диагностический стенд; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопКоврыВБагажник = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "ковры в багажник; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопКоврыВСалон = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "ковры в салон; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопКомплектЛамп = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "комплект ламп; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопПредложениеВременногоРешения = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "предложение временного решения; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопЩетки = Перечисления.ОтветДопРаботы.Да тогда<br> ДопУслуги = ДопУслуги + "щетки; ";<br> КонецЕсли;<br><br> <br>////////////////////////////////////////////////////////////////////// <br> АктивныйДокумент = ПолучитьМакет("БланкНаСервис");<br> Документ = АктивныйДокумент.Получить();<br> Документ.Content.Find.Execute("<датаобращ>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДатаОбращ);<br> Документ.Content.Find.Execute("<датапост>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДатаПост);<br> Документ.Content.Find.Execute("<фио>", Ложь, Истина, Ложь, , , Истина, , Ложь, фио);<br> Документ.Content.Find.Execute("<авто>", Ложь, Истина, Ложь, , , Истина, , Ложь, авто);<br> Документ.Content.Find.Execute("<пробег>", Ложь, Истина, Ложь, , , Истина, , Ложь, пробег);<br> Документ.Content.Find.Execute("<годвып>", Ложь, Истина, Ложь, , , Истина, , Ложь, годвып);<br> Документ.Content.Find.Execute("<причина>", Ложь, Истина, Ложь, , , Истина, , Ложь, причина);<br> Документ.Content.Find.Execute("<история>", Ложь, Истина, Ложь, , , Истина, , Ложь, история);<br> Документ.Content.Find.Execute("<допоборуд>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДопОборуд);<br> Документ.Content.Find.Execute("<допуслуги>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДопУслуги);<br> Документ.Application.Visible = Истина; <br> Документ.Activate();<br> <br> Возврат ТабДокумент;<br>КонецФункции // Печать"