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