fixin (fixin) wrote,
fixin
fixin

Тысяча 1С-чертей!

Давеча пришлось ковыряться с одним отчетом. На него не выделялось очень много времени,  т.к. горели сроки. А жаль, потому что хотелось этот отчет переписать заново.
Косяков там много, настоящий индийский код, хотя автор русский, лично его знаю, правда, он уже уволился.

Итак, основные проблемы отчета:

1. Отчет собран через UNION, т.е. объединяется запрос по остаткам и по движениям, в итоге добавить новый показатель в такую схему сложно, приходится прописывать нули во все остальные запросы, где это поле не рассчитывается. Аналогично сложно понять, как рассчитывается каждое конкретное поле – нужно высчитывать номер колонки в каждом запросе и смотреть, равна она нулю или нет.

2. Автору самому надоело менять этот UNION-отчет и некоторые показатели он вытаскивает отдельным запросом по каждой позиции. Выполняет не всегда (чтобы не напрягать отчет), а по условию. Но ошибся с условием, в итоге в нужных позициях не срабатывает иногда.

3. Копи-паста, друзья мои. Один и тот же расчет по позиции происходит  в двух местах. Нет, чтобы вынести в функции, так сделано дублирование. В итоге проще оказалось вынести те куски кода, в которых я точно уверен, что они одинаковые в двух местах, в отдельную функцию, остальное не трогал, поэтому мне менял эту копи-пасту.

4. Жуткие сокращенные названия. По ним сложно догадаться, что имеется ввиду. Даже после того, как расшифровываешь аббревиатуру, сложно запомнить. Пришлось переименовать глобальной заменой на читаемые,  не сокращенные, смысловые  наименования.

5. Нет таблиц расшифровки. Данные строятся на основе одной таблицы, выводятся в другую. Пришлось вытащить на форму первую таблицу, чтобы понять некоторые моменты.

6. Скорость. В отчете 10 000 позиций. Отлаживать нереально – расчет длится минут 10. Пришлось добавить отбор, чтобы работал по 2-3 выбранным позициям.

Вот видите, коллеги, как важен в написании даже отчетов опыт. Потому что этот отчет использовался раз в год и был написан на тяп-ляп, но через год кое-что поменялось, и отчет пришлось менять, но уже другому человеку. Думайте о тех, кто придет после вас!

Tags:
Subscribe

Posts from This Journal “1С” Tag

Buy for 50 tokens
Чуть больше месяца назад я начал вкладывать в биткоин и другие формы криптовалютного рынка. Вчера мне стало интересно - в каком барыше (или минусе) нахожусь? Были и удачные вложения, и не очень. Стратегия была самой правильной: не складывать все криптояйца в одну корзину. В итоге выбрал 3…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 19 comments