"Перлы" (Жемчужины) или как не надо писать на 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;
	КонецЦикла;
КонецПроцедуры
        

 

МАСТЕР СОФТ. РЕШАЕМ ЗАДАЧИ АВТОМАТИЗАЦИИ БИЗНЕСА!

 

 
© 2006-2008 Master Soft Ltd.

Хостинг провайдер