Здравствуйте,
обработка загрузки заказ-нарядов в Бухгалтерию предприятия производится в процедуре "ЗагрузитьДокумент_ЗаказНаряд" модуля формы обработки ЗагрузкаДанныхБух. Алгоритм загрузки на первом этапе зависит от значения "ВидРемонта" и его реквизита "ТипРемонта":
Код |
---|
Если ВидРемонтаНаименование = "Комплектация автомобиля" Тогда
ЗагрузитьДокумент_ЗаказНаряд_Комплектация(ТекОбъект, ИдентификаторОбъекта);
Возврат;
ИначеЕсли ТипРемонта = "Перечисление.ТипыРемонта.Бесплатный" И
ЗаказНарядПроизводство Тогда
ЗагрузитьДокумент_ЗаказНаряд_Производство(ТекОбъект, ИдентификаторОбъекта);
Возврат;
ИначеЕсли ТипРемонта = "Перечисление.ТипыРемонта.Бесплатный" Тогда
ЗагрузитьДокумент_ЗаказНаряд_Бесплатный(ТекОбъект, ИдентификаторОбъекта);
Возврат;
КонецЕсли; |
Таким образом, если "Гарантийный ремонт" в базе Альфа-авто является бесплатным и в опциях настройки обработки загрузи взведен флаг "ЗаказНарядПроизводство", то вызывается процедура "ЗагрузитьДокумент_ЗаказНаряд_Производство". Дальнейший процесс загрузки зависит от значения настройки Бухгалтерии предприятия "ПорядокРаспределенияРасходовНаОказаниеУслуг":
Код |
---|
ПараметрыУчетнойПолитики = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитики(ПолучитьЗначениеРеквизита("_1С_Дата"), Ложь, Организация);
Попытка
ИспПлСебестоимость = ?(ПараметрыУчетнойПолитики.ПорядокРаспределенияРасходовНаОказаниеУслуг <> Перечисления.ПорядокРаспределенияРасходовНаОказаниеУслуг.ПоВыручке, Истина, Ложь);
Исключение
ИспПлСебестоимость = Ложь;
КонецПопытки;
Если НЕ ИспПлСебестоимость Тогда
ИдентификаторОбъектаАПУ = ИдентификаторОбъекта+"-РУ";
ДокМенеджерАПУ = Документы.РеализацияТоваровУслуг;
ТекОбъектАПУ = ДокМенеджерАПУ.ПустаяСсылка();
Иначе
ИдентификаторОбъектаАПУ = ИдентификаторОбъекта+"-АПУ";
ДокМенеджерАПУ = Документы.АктОбОказанииПроизводственныхУслуг;
ТекОбъектАПУ = ДокМенеджерАПУ.ПустаяСсылка();
КонецЕсли; |
Если ПорядокРаспределенияРасходовНаОказаниеУслуг по выручке, то дальнейшая загрузка будет произведена в РеализациюТоваровУслуг.
Т.е. сушествует 2 варианта:
1) Использовать указанный настройки обработки загрузки (использовать стандартную обработку загрузки);
2) Если по каким-то причинам не устраивает первый вариант, то модифицировать стандартную обработку загрузки, добавить свою процедуру ЗагрузитьДокумент_ЗаказНаряд_ГарантийныйРемонт с требуемым вам алгоритмом загрузки:
Код |
---|
Если ВидРемонтаНаименование = "Комплектация автомобиля" Тогда
ЗагрузитьДокумент_ЗаказНаряд_Комплектация(ТекОбъект, ИдентификаторОбъекта);
Возврат;
ИначеЕсли ТипРемонта = "Перечисление.ТипыРемонта.Бесплатный" И
ЗаказНарядПроизводство Тогда
ЗагрузитьДокумент_ЗаказНаряд_Производство(ТекОбъект, ИдентификаторОбъекта);
Возврат;
ИначеЕсли ТипРемонта = "Перечисление.ТипыРемонта.Бесплатный" Тогда
ЗагрузитьДокумент_ЗаказНаряд_Бесплатный(ТекОбъект, ИдентификаторОбъекта);
Возврат;
ИначеЕсли ВидРемонтаНаименование = "Гарантийный ремонт" Тогда
ЗагрузитьДокумент_ЗаказНаряд_ГарантийныйРемонт(ТекОбъект, ИдентификаторОбъекта);
Возврат;
КонецЕсли; |
Писать отдельную обработку загрузки не рекомендуется, т.к. она не будет обладать всем функционалом стандартной обработки.
Также рекомендуется готовить базу на релизе 4.01.1.17, т.к. он является хотфиксом 16-го релиза (в 17-ом исправлены ошибки 16-го релиза).