Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Если ПустоеЗначение(Клиент.ТипРасхЦены) = 0 Тогда
Если Продавец.Выбран() = 1 Тогда
Если Продавец.Направление.Выбран() = 1 Тогда
СпрТЦН = СоздатьОбъект("Справочник.ТипыЦенПоНаправлениям");
СпрТЦН.ИспользоватьВладельца(Клиент);
Если СпрТЦН.НайтиПоРеквизиту("Направление", Продавец.Направление, 0) = 1 Тогда
ТипЦен = СпрТЦН.ТипЦены.ТипЦены;
Иначе
ТипЦен = Клиент.ТипРасхЦены;
КонецЕсли;
Иначе
ТипЦен = Клиент.ТипРасхЦены;
КонецЕсли;
Иначе
ТипЦен = Клиент.ТипРасхЦены;
КонецЕсли;
ПриВыбореКатЦен();
Иначе
Если (Продавец.Выбран() = 1) И (Клиент.Выбран() = 1) Тогда
Если Продавец.Направление.Выбран() = 1 Тогда
СпрТЦН = СоздатьОбъект("Справочник.ТипыЦенПоНаправлениям");
СпрТЦН.ИспользоватьВладельца(Клиент);
Если СпрТЦН.НайтиПоРеквизиту("Направление", Продавец.Направление, 0) = 1 Тогда
ТипЦен = СпрТЦН.ТипЦены.ТипЦены;
ПриВыбореКатЦен();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Суть этой сложной конструкции проста:
если тип цены есть в справочнике ТипыЦенПоНаправлениям для определенной комбинации - то берем из него,
иначе берем из реквизита ТипРасхЦены.
Причем этот говнокод еще и раскопирован в два десятка мест по конфигурации и внешним обработкам и отчетам.
Комментарии (3) RSS