Бухгалтерия / Говнокод #11558 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
Перем СтрокаСрокДействия;

Функция СтрокаСрокДействия()     

            Если ТекущийЭлемент().ФлагБессрочного = 1 Тогда
                  Если ПустоеЗначение(ТекущийЭлемент().СрокДействия.Получить(РабочаяДата())) = 1 Тогда
                        СтрокаСрокДействия = "от "+ ТекущийЭлемент().ДатаДоговора+" до ";
                  Иначе
                        СтрокаСрокДействия = "от "+ ТекущийЭлемент().ДатаДоговора+" до "+ТекущийЭлемент().СрокДействия.Получить(РабочаяДата());
                  КонецЕсли;
            ИначеЕсли ТекущийЭлемент().ФлагБессрочного = 2 Тогда
                  СтрокаСрокДействия = "бессрочно"; 
            ИначеЕсли ТекущийЭлемент().ФлагБессрочного = 3 Тогда
                  СтрокаСрокДействия = "пролонгируемый";
            КонецЕсли;     

      Возврат(СтрокаСрокДействия);           

КонецФункции

1C 7.7 Такая расчудесная функция была в модуле формы списка справочника. Функция была назначена на текстовое поле формы списка... И таким образом при пролистывании формы списка, в поле "Срок действия" непонятным образом попадали абсолютно левые значения, но зато в каждой из строк было одно и то же до следующего пролистывания...

Запостил: ok0504 ok0504, (Updated )

Комментарии (12) RSS

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

      И таких - на каждый вид загружаемого документа.

      База ведётся с 2008-го года. Операций там - не возьмусь сказать сколько. А тут запрос сначала дербанит хмль, а потом спрашивает у базы поиском по строке: "а нет ли у тебя списания с таким комментом? а платёжки? а если найду?". Немудрено, что оно гудит.

      Когда меня спрашивают, за что я ненавижу этот высер, я обычно вспоминаю уровень погромистовобезьян и тихонько плачу.
      Ответить
      • да, штрих-м - знатный поставщик на отечественный рынок надежных, доработанных решений
        Ответить
        • а рарус? в их решениях высерах и не такое увидишь, посмотрите розницу, автотранспорт. раньше несколько раз обожглись на их решениях, теперь стороной обходим и никому не советуем.
          Ответить
      • ё моё... я думал такое только в сказках бывает, которыми непослушных детишек пугают. Достойно отдельного поста, имхо.
        Ответить
  • не "абсолютно левые", а значение последнего видимого на экране элемента списка...
    перем не там. )))
    Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8