1. 1C / Говнокод #18998

    −96

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Если ОтражатьВБухгалтерскомУчете = Истина Тогда
    		Если Лев(Номер, 3) <> ТекПрефикс Тогда	Номер = "";	УстановитьНовыйНомер(); КонецЕсли;
    	Иначе
    		Если Лев(Номер, 3) = ТекПрефикс Тогда	Номер = "";	УстановитьНовыйНомер(); КонецЕсли;
    КонецЕсли;

    В чем смысл проверки на соответствие префиксу остается только гадать...

    Запостил: imxored, 10 Ноября 2015

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

    • Заказчик сказал сделать так. Потом сказал сделать по-другому. Потом опять скажет как в первый раз. Дае в коде должно быть минимум изменений?
      Ответить
      • Не нужно размазывать такую бизнес-логику по коду.
        Нужно выносить её в таблицы и делать GUI для заказчика.

        Пускай он сам думает о таких кейсах типа "а ИМЕННО СЕГОДНЯ для клиентов из Сыктывкара с фамилией на букву Г скидка 42.5% на все товары фирмы ООО 'Вектор'".

        Если такую муйню девелопер будет сам все время в коде писать он с ума сойдет
        Ответить
        • Ну так тупые жадные одноэсники берут за каждую строчку по тыще деревянных. Так что "и так сойдет!"
          Ответить
    • А тут, кстати, все довольно понятно (только оформление страдает).
      Если установлен флаг ОтражатьВБухгалтерскомУчете, то генерируем новый номер только если префикс номера "неправильный".
      Если флаг не установлен, то всё наоборот.
      Насколько это соответствует бизнес-логике - другой вопрос, но по крайней мере смысл кода сводится не к тому, о чем многие подумали, я уверен.
      Ответить
    • Спорим он сперва хотел запилить учет одновременно белый и черный?
      Я видел конфу, которая создавала проводки для белой и черной бухгалтерии в одной базе.
      Ответить

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