На этой страничке я собираю быдлокод. В основном, он написан на языке 1С, близком к VBA, но я постараюсь описать так, чтобы было понятно всем программистам.
Разработчики одного из тиражного решения, сильно распространенного в России во внешней обработке придумали такой способ печати наименования номера телефона, за который принимается оплата в чеке:
ОбъектУслуги = Услуга.ПолучитьОбъект();
ОбъектУслуги.НаименованиеПолное = "Платеж: " + СокрЛП(ИдАбонента) + " тр. " + Формат(НомерТранзакции, "ЧГ");
ОбъектУслуги.Записать();
То есть, меняется название товара, потом вызывается
процедура печати чека. В результате название товара меняется сто раз на день.
Конечно, при этом не нужно менять процедуру печати чека и конфигурацию клиента,
но решение ужасное.
В форме есть две галочки – А и Б.
При установленной галочке А в таблицу нужно добавить строку А, при установленной галочке Б – строку Б.
Вот правильный код:
Если А Тогда
Таблица.Добавить(«А»);
КонецЕсли;
Если Б Тогда
Таблица.Добавить(«Б»);
КонецЕсли;
А вот быдлокод:
Если А и Б Тогда
Таблица.Добавить(«А»);
Таблица.Добавить(«Б»);
ИначеЕсли А и НЕ Б Тогда
Таблица.Добавить(«А»);
ИначеЕсли НЕ А и Б Тогда
Таблица.Добавить(«Б»);
КонецЕсли;
Сложно понять, какое мышление надо иметь, чтобы так воспринимать реальность. Когда я указал на эту ошибку, услышал ответ: «но ведь работает же».