"Перлы" (Жемчужины) или как не надо писать на 1С

Дата создания: 12.10.2016
Автор: Жадаев Иван
начинающие 1с_программирование перлы
Изображение статьи

Внимание! Все используемые в этой статье примеры взяты из реальных модулей. Все программы приводятся с сохраненным форматированием и оформлением кода.

  1. Часто начинающие программисты, стараясь «заточить» свою программу под конкретного заказчика, перегибают палку и вот что у них получается:

    Если ТЗСотр.Сотрудник.Подразделение.Получить(НаДату).Код="7"

    тогда Если ТЗСотр.Сотрудник.Должность.Получить(НаДату).Код<>"00055"

    тогда Если число(ТЗСотр.Сотрудник.Оклад.Получить(НаДату).Код)<13 тогда

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

    Всего=Точка1+Точка2+Точка3+Точка4+Точка5+Точка6+Точка7+Точка8+Точка9+Точка10+

    Точка11+Точка12+Точка13+Точка14+Точка15+Точка16+Точка17+Точка18+Точка19+Точка20+

    Точка21+Точка22+Точка23+Точка24+Точка25+Точка26+Точка27+Точка28+Точка29+Точка30;

    И там же:

    Процедура ВводНового() Склад = Константа.ОснСклад;

    Спр=СоздатьОбъект("Справочник.Точки"); Спр.НайтиПоКоду("1");

    Имя1=Спр.ТекущийЭлемент(); Спр.НайтиПоКоду("2");

    Имя2=Спр.ТекущийЭлемент(); Спр.НайтиПоКоду("3");

    Имя3=Спр.ТекущийЭлемент(); Спр.НайтиПоКоду("4");

    Имя4=Спр.ТекущийЭлемент(); Спр.НайтиПоКоду("5");

    Имя5=Спр.ТекущийЭлемент(); … Спр.НайтиПоКоду("29");

    Имя29=Спр.ТекущийЭлемент(); Спр.НайтиПоКоду("30");

    Имя30=Спр.ТекущийЭлемент();

  3. Просто, "гениальные" названия:

    Константа.Новый2; Перечисление.Скотч; Процедура Сформировать88888888(); Процедура Сформироватьчччччч();
  4. Люди – полиглоты:

    Пока ПолучитьСтроку() = 1 do … enddo;

  5. Кто ищет тот найдет! Но видимо не в этот раз :)

    Если -Зн>10000 тогда Спр.НайтиПоКоду( -(Цел(Зн1/10000)) );

    ВВ=Спр.ТекущийЭлемент(); //СС=Выб Сообщить(ВыбПлан.Субконто);

    СпрС.Вид(ВыбПлан.Субконто); СпрС.НайтиПоКоду ( (-зн1)-(10000*( -(Цел(Зн1/10000)) )) ,0);

    СС=СпрС.ТекущийЭлемент(); иначе Спр.НайтиПоКоду(-Зн1,0); ВВ=Спр.ТекущийЭлемент(); СС=0;

    КонецЕсли;

  6. А что эта гениальная программа делает?

    Процедура ОбработкаПоставщиков() ф3="99"; ф4="8"; ф1="01.0"; ф2="9.1";

    Раз=Дата(ПолучитьДатуТА())- Дата(ф1+ф2+ф3+ф4); Если Раз<0 Тогда Раз=0; КонецЕсли; к=0; Пока к<(Раз*380) Цикл //Сообщить(К); к=к+1;

    КонецЦикла; КонецПроцедуры

Частые проблемы, которые мы решаем:
Недостача на складе или магазине, воровство
Низкая скорость обслуживания клиентов
Отсутствует обмен информацией между подразделениями
Ручной учет на бумаге, Excel или самописной программе
Нет контроля за движением денег в компании
Расчет зарплаты сотрудникам
Обмен товарами и заказами с интернет-магазином
Большие затраты времени на выполнение ежедневных задач
Отзыв о нашей работе
Скрыть
Перезвоним Вам в течении 30 минут!

...ну в рабочее время разумеется =)