Быдлокод

На этой страничке я собираю быдлокод. В основном, он написан на языке 1С, близком к VBA, но я постараюсь описать так, чтобы было понятно всем программистам.

Насилие над базой данных для печати

Разработчики одного из тиражного решения, сильно распространенного в России во внешней обработке придумали такой способ печати наименования номера телефона, за который принимается оплата в чеке:

ОбъектУслуги = Услуга.ПолучитьОбъект();

ОбъектУслуги.НаименованиеПолное = "Платеж: " + СокрЛП(ИдАбонента) + " тр. " + Формат(НомерТранзакции, "ЧГ");

ОбъектУслуги.Записать();

То есть, меняется название товара, потом вызывается процедура печати чека. В результате название товара меняется сто раз на день.
Конечно, при этом не нужно менять процедуру печати чека и конфигурацию клиента, но решение ужасное.

 

Добавление двух строк в таблицу

В форме есть две галочки – А и Б.

При установленной галочке А в таблицу нужно добавить строку А, при установленной галочке Б – строку Б.

Вот правильный код:

Если А Тогда
       Таблица.Добавить(«А»);

КонецЕсли;

Если Б Тогда
       Таблица.Добавить(«Б»);

КонецЕсли;

А вот быдлокод:

Если А и Б Тогда
       Таблица.Добавить(«А»);

       Таблица.Добавить(«Б»);

ИначеЕсли А и НЕ Б Тогда
       Таблица.Добавить(«А»);

ИначеЕсли НЕ А и Б Тогда
       Таблица.Добавить(«Б»);

КонецЕсли;

Сложно понять, какое мышление надо иметь, чтобы так воспринимать реальность. Когда я указал на эту ошибку, услышал ответ: «но ведь работает же».