Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Перем СтрокаСрокДействия;
Функция СтрокаСрокДействия()
Если ТекущийЭлемент().ФлагБессрочного = 1 Тогда
Если ПустоеЗначение(ТекущийЭлемент().СрокДействия.Получить(РабочаяДата())) = 1 Тогда
СтрокаСрокДействия = "от "+ ТекущийЭлемент().ДатаДоговора+" до ";
Иначе
СтрокаСрокДействия = "от "+ ТекущийЭлемент().ДатаДоговора+" до "+ТекущийЭлемент().СрокДействия.Получить(РабочаяДата());
КонецЕсли;
ИначеЕсли ТекущийЭлемент().ФлагБессрочного = 2 Тогда
СтрокаСрокДействия = "бессрочно";
ИначеЕсли ТекущийЭлемент().ФлагБессрочного = 3 Тогда
СтрокаСрокДействия = "пролонгируемый";
КонецЕсли;
Возврат(СтрокаСрокДействия);
КонецФункции
1C 7.7 Такая расчудесная функция была в модуле формы списка справочника. Функция была назначена на текстовое поле формы списка... И таким образом при пролистывании формы списка, в поле "Срок действия" непонятным образом попадали абсолютно левые значения, но зато в каждой из строк было одно и то же до следующего пролистывания...
уже перестал удивляться какими баранами бывают кумиры 1С, абсолютно нет стремления к эффективности и наглядности кода, везде и всюду нарушается мой любимый принцип KISS, особенно это видно в типовых конфах, где элементарные операции разнесены по куче модулей, из-за чего простое редактирование движений документа выливается в детективное расследование откуда и куда ноги растут. вот только в этой маленькой функции можно сделать ряд упрощений, которые на больших объемах данных (для 1С это > 10000 элементов в справочнике) дадут прирост в производительности.
Согласен, расследовать откуда ноги растут приходится слишком уж часто... Особенно в 8.х...
В функции тоже можно сделать упрощения, Во-Первых написать по человечески, Во-вторых ИспользоватьДату(), вместо двух Получить()
> в типовых конфах
Щас трустори расскажу.
Сижу на работе, примус починяю. Просят меня посмотреть, что комп натужно гудит во время загрузки из штриховской (штрих-м, крупный хер знает кто он там, но конфа у них не одна и другого софта тоже море) базы в стандартную восьмёрошную бухгалтерию предприятия. Ну, фигле, чего б не посмотреть. Выгружает выгрузка из штриховской торговли в хмле, в своём формате, загружает их же обработка специально под бухгалтерию 1.6. И документов-то всего ничего, но гудит, зараза, и грузит уже полчаса. Полез смотреть внутрь - офигел мягко говоря.
Для того, чтобы определить, был такой документ загружен уже (и, соответственно, не грузить) или нет, в камментах к операции прописан некий UID документа. Дальше один большой запрос ищет среди существующих документов, но _как_ он это делает.
// .......
|ВЫБРАТЬ
| СчетФактураВыданный.Ссылка
|ИЗ
| Документ.СчетФактураВыданный КАК СчетФактураВыданный
|ГДЕ
| СчетФактураВыданный.Комментарий ПОДОБНО &UIDДокумента
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетФактураПолученный.Ссылка
|ИЗ
| Документ.СчетФактураПолученный КАК СчетФактураПолученный
|ГДЕ
| СчетФактураПолученный.Комментарий ПОДОБНО &UIDДокумента
|
|ОБЪЕДИНИТЬ ВСЕ
// .......
И таких - на каждый вид загружаемого документа.
База ведётся с 2008-го года. Операций там - не возьмусь сказать сколько. А тут запрос сначала дербанит хмль, а потом спрашивает у базы поиском по строке: "а нет ли у тебя списания с таким комментом? а платёжки? а если найду?". Немудрено, что оно гудит.
Когда меня спрашивают, за что я ненавижу этот высер, я обычно вспоминаю уровень погромистовобезьян и тихонько плачу.
а рарус? в их решениях высерах и не такое увидишь, посмотрите розницу, автотранспорт. раньше несколько раз обожглись на их решениях, теперь стороной обходим и никому не советуем.
В функции тоже можно сделать упрощения, Во-Первых написать по человечески, Во-вторых ИспользоватьДату(), вместо двух Получить()
Щас трустори расскажу.
Сижу на работе, примус починяю. Просят меня посмотреть, что комп натужно гудит во время загрузки из штриховской (штрих-м, крупный хер знает кто он там, но конфа у них не одна и другого софта тоже море) базы в стандартную восьмёрошную бухгалтерию предприятия. Ну, фигле, чего б не посмотреть. Выгружает выгрузка из штриховской торговли в хмле, в своём формате, загружает их же обработка специально под бухгалтерию 1.6. И документов-то всего ничего, но гудит, зараза, и грузит уже полчаса. Полез смотреть внутрь - офигел мягко говоря.
Для того, чтобы определить, был такой документ загружен уже (и, соответственно, не грузить) или нет, в камментах к операции прописан некий UID документа. Дальше один большой запрос ищет среди существующих документов, но _как_ он это делает.
И таких - на каждый вид загружаемого документа.
База ведётся с 2008-го года. Операций там - не возьмусь сказать сколько. А тут запрос сначала дербанит хмль, а потом спрашивает у базы поиском по строке: "а нет ли у тебя списания с таким комментом? а платёжки? а если найду?". Немудрено, что оно гудит.
Когда меня спрашивают, за что я ненавижу этот высер, я обычно вспоминаю уровень погромистовобезьян и тихонько плачу.
перем не там. )))