График : Пн-Пт: 9.30 - 18.00


"Перлы" (Жемчужины) или как не надо писать на 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;
                    КонецЦикла;
                КонецПроцедуры
                        
Нашли ошибку на сайте? Напишите о ней нам!
Наверх Обратный звонок