1. 1C / Говнокод #9333

    −136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    ВыполнениеОплаченнойУслугиТранспорт="1";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиОплатаТруда="2";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиОтчисления="3";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиАрендаОС="4";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиАмортизацияОС="5";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиРемонтОС="6";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиИзносМБП="7";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиТопливо="8";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиХранение="9";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиРеклама="Q";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиПроценты="W";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиПотери="E";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиТара="R";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиПрочие="T";  // выполнение Услуги
    ВыполнениеОплаченнойУслугиНеПринимаемые="Y";  // выполнение Услуги
    
    НеоплаченноеВыполнениеУслугиТранспорт="!";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиОплатаТруда="@";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиОтчисления="#";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиАрендаОС="$";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиАмортизацияОС="%";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиРемонтОС="^";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиИзносМБП="&";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиТопливо="*";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиХранение="(";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиРеклама="q";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиПроценты="w";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиПотери="e";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиТара="r";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиПрочие="t";  // выполнение Услуги
    НеоплаченноеВыполнениеУслугиНеПринимаемые="y";  // выполнение Услуги

    Шо це такое непонятно. Но впечатление производит пугающее

    glavdir, 06 Февраля 2012

    Комментарии (15)
  2. 1C / Говнокод #9277

    −134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    Запрос = Новый Запрос;
    	Запрос.Текст = 
    	"ВЫБРАТЬ ПЕРВЫЕ 1
    	|	ВложенныйЗапрос.Ссылка,
    	|	ВложенныйЗапрос.Заказ,
    	|	ЕСТЬNULL(ВложенныйЗапрос.ВРезерве, 0) + ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВНаличииОстаток, 0) - ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВРезервеОстаток, 0) КАК СвободныйОстаток
    	|ИЗ
    	|	(ВЫБРАТЬ ПЕРВЫЕ 1
    	|		ВложенныйЗапрос.Ссылка КАК Ссылка,
    	|		ВложенныйЗапрос.Заказ КАК Заказ,
    	|		СвободныеОстаткиТоваровНаСкладах.ВРезерве КАК ВРезерве,
    	|		ВложенныйЗапрос.Размер КАК Размер
    	|	ИЗ
    	|		(ВЫБРАТЬ ПЕРВЫЕ 1
    	|			Номенклатура.Ссылка КАК Ссылка,
    	|			ЗаказПокупателя.Ссылка КАК Заказ,
    	|			ВЫБОР
    	|				КОГДА &Размер = ЗНАЧЕНИЕ(Справочник.Размер.ПустаяСсылка)
    	|					ТОГДА ЗНАЧЕНИЕ(Справочник.Размер.ПустаяСсылка)
    	|				ИНАЧЕ &Размер
    	|			КОНЕЦ КАК Размер
    	|		ИЗ
    	|			Справочник.Номенклатура КАК Номенклатура,
    	|			Документ.ЗаказПокупателя КАК ЗаказПокупателя
    	|		ГДЕ
    	|			Номенклатура.Ссылка = &Номенклатура
    	|			И ЗаказПокупателя.Ссылка = &Ссылка) КАК ВложенныйЗапрос
    	|			ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстаткиТоваровНаСкладах КАК СвободныеОстаткиТоваровНаСкладах
    	|			ПО ВложенныйЗапрос.Ссылка = СвободныеОстаткиТоваровНаСкладах.Номенклатура
    	|				И ВложенныйЗапрос.Заказ = СвободныеОстаткиТоваровНаСкладах.Регистратор
    	|				И ВложенныйЗапрос.Размер = СвободныеОстаткиТоваровНаСкладах.Размер
    	|	
    	|	СГРУППИРОВАТЬ ПО
    	|		ВложенныйЗапрос.Ссылка,
    	|		ВложенныйЗапрос.Заказ,
    	|		СвободныеОстаткиТоваровНаСкладах.ВРезерве,
    	|		ВложенныйЗапрос.Размер) КАК ВложенныйЗапрос
    	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстаткиТоваровНаСкладах.Остатки(
    	|				,
    	|				Склад = &Склад
    	|					И Организация = &Организация) КАК СвободныеОстаткиТоваровНаСкладахОстатки
    	|		ПО ВложенныйЗапрос.Размер = СвободныеОстаткиТоваровНаСкладахОстатки.Размер
    	|			И ВложенныйЗапрос.Ссылка = СвободныеОстаткиТоваровНаСкладахОстатки.Номенклатура
    	|
    	|СГРУППИРОВАТЬ ПО
    	|	ВложенныйЗапрос.Ссылка,
    	|	ВложенныйЗапрос.Заказ,
    	|	ЕСТЬNULL(ВложенныйЗапрос.ВРезерве, 0) + ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВНаличииОстаток, 0) - ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВРезервеОстаток, 0)" );
    	
    	Запрос.УстановитьПараметр("Номенклатура",ТекущийЭлемент.ТекущаяСтрока.Номенклатура);
    	Запрос.УстановитьПараметр("Размер",ТекущийЭлемент.ТекущаяСтрока.Размер);
    	Запрос.УстановитьПараметр("Склад",Склад);
    	Запрос.УстановитьПараметр("Ссылка",Ссылка);
    	Запрос.УстановитьПараметр("Организация",Ссылка.Организация);
    	Выборка = Запрос.Выполнить().Выбрать();

    Человек, написавший такой запрос явно был с перепоя. С учетом его двухлетнего опыта программирования в 1С - никогда бы на него не подумал... но факт.

    Maikl_kar, 31 Января 2012

    Комментарии (44)
  3. 1C / Говнокод #9216

    −137

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    Процедура НачалоВыбораСчета(Элемент, СписокСчетов = "", СписокСчетовНУ = "", ТекущийСчет = Неопределено)
    	
    	СписокСчетовОтбора = "";
    	Если ЗначениеЗаполнено(СписокСчетов) Тогда
    		ФормаВыбораСчета   = ПланыСчетов.Хозрасчетный.ПолучитьФормуВыбора( ,Элемент, );
    		СписокСчетовОтбора = СписокСчетов;
    	КонецЕсли;
    	
    	ПолеОтбора	= ФормаВыбораСчета.Отбор.Код;
    	
    	ПолеОтбора.ВидСравнения	= ВидСравнения.ВСписке;
    	ПолеОтбора.Значение		= СписокСчетовОтбора;
    	ПолеОтбора.Использование	= Истина;
    	
    	ФормаВыбораСчета.ЭлементыФормы.Список.НастройкаОтбора.Код.Доступность = Ложь;
    	Если ТекущийСчет <>  Неопределено Тогда
    		ФормаВыбораСчета.ЭлементыФормы.Список.ТекущаяСтрока = ТекущийСчет;
    	КонецЕсли;
    	ФормаВыбораСчета.ОткрытьМодально();
    	
    КонецПроцедуры

    Конфа Бухгалтерия 2.0 - официальный код 1С. Просто нет слов.

    1. Передаваемый процедуре параметр "СписокСчетов" по умолчанию имеет значение "".
    2. В первом "Если" идет инициализация объекта "ФормаВыбораСчета", но в это "Если" мы попадем не всегда (п.1)
    3. Ну а дальше без всякого рода сомнений происходит получение реквизита объекта, который на ура может быть неинициализированным: ПолеОтбора = ФормаВыбораСчета.Отбор.Код

    1С - ты всегда будешь в нашей памяти, СЦУКО!

    squeez, 25 Января 2012

    Комментарии (7)
  4. 1C / Говнокод #9140

    −134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    с = 0;
    Для Каждого стчТовары Из ЗаказНаряд.Товары Цикл
    	нстчТовары = НоваяНалоговая.Товары.Добавить();
    	нстчТовары.Номенклатура = ЗаказНаряд.Товары[с].Номенклатура;
    	нстчТовары.Количество = ЗаказНаряд.Товары[с].Количество;
    	нстчТовары.Цена = ЗаказНаряд.Товары[с].Цена; 
    	...
    	нстчТовары.СуммаВсего = ЗаказНаряд.Товары[с].СуммаВсего;
    	с = с + 1;
    КонецЦикла;

    Ни шагу без счетчика! Особенно в итераторе. =)

    zfilin, 16 Января 2012

    Комментарии (45)
  5. 1C / Говнокод #8900

    −138

    1. 1
    вайп

    TarasGovno, 04 Января 2012

    Комментарии (3)
  6. 1C / Говнокод #8899

    −137

    1. 1
    вайп

    TarasGovno, 04 Января 2012

    Комментарии (1)
  7. 1C / Говнокод #8435

    −89

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    // Функция для склонения одного слова!!!
    // z1 - само слово
    // z2 - номер падежа
    // z3 - пол
    // z4 - 1-склонять как фамилию, 2-имя, 3-отчество
    Функция ПадежС(z1,Знач z2=2,Знач z3="*",z4=0) Экспорт
    	z5=Найти(z1,"-"); z6=?(z5=0,"","-"+ПадежС(Сред(z1,z5+1,СтрДлина(z1)-z5+1),z2,z3,z4)); z1=НРег(?(z5=0,z1,Лев(z1,z5-1))); z7=Прав(z1,3);z8=Прав(z7,2);z9=Прав(z8,1);
    	z5=СтрДлина(z1); za=Найти("ая ия ел ок яц ий па да ца ша ба та га ка",z8); zb=Найти("аеёийоуэюяжнгхкчшщ",Лев(z7,1)); zc=Макс(z2,-z2); zd=?(za=4,5,Найти("айяь",z9));
    	zd=?((zc=1)или(z9=".")или((z4=2)и(Найти("оиеу"+?(z3="ч","","бвгджзклмнпрстфхцчшщъ"),z9)>0))или((z4=1)и(Найти("мия мяэ лия кия жая лея",z7)>0)),9,?((zd=4)и(z3="ч"),2,?(z4=1,?(Найти("оеиую",z9)+Найти("их ых аа еа ёа иа оа уа ыа эа юа яа",z8)>0,9,?(z3<>"ч",?(za=1,7,?(z9="а",?(za>18,1,6),9)),?(((Найти("ой ый",z8)>0)и(z5>4)и(Прав(z1,4)<>"опой"))или((zb>10)и(za=16)),8,zd))),zd)));
    	ze=Найти("лец вей бей дец пец мец нец рец вец аец иец ыец бер",z7);
    	zf=?((zd=8)и(zc<>5),?((zb>15)или(Найти("жий ний",z7)>0),"е","о"),?(z1="лев","ьв",?((Найти("аеёийоуэюя",Сред(z1,z5-3 ,1))=0)и((zb>11)или(zb=0))и(ze<>45),"",?(za=7,"л",?(za=10,"к",?(za=13,"йц",?(ze=0,"",?(ze<12,"ь"+?(ze=1,"ц",""),?(ze<37,"ц",?(ze<49,"йц","р"))))))))));
    	zf=?((zd=9)или((z4=3)и(z3="ы")),z1,Лев(z1,z5-?((zd>6)или(zf<>""),2,?(zd>0,1,0)))+zf+СокрП(Сред("а у а "+Сред("оыые",Найти("внч",z9)+1,1)+"ме "+?(Найти("гжкхш",Лев(z8,1))>0,"и","ы")+" е у ойе я ю я ем"+?(za=16,"и","е")+" и е ю ейе и и ь ьюи и и ю ейи ойойу ойойойойуюойойгомуго"+?((zf="е")или(za=16)или((zb>12)и(zb<16)),"и","ы")+"мм",10*zd+2*zc-3,2)));
    Возврат ?(""=z1,"",?(z4>0,ВРег(Лев(zf,1))+?((z2<0)и(z4>1),".",Сред(zf,2)),zf)+z6);
    КонецФункции

    шедевр, кстати!

    Cthulhu, 06 Ноября 2011

    Комментарии (24)
  8. 1C / Говнокод #8386

    −123

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    Функция МесяцПрописью()
    	
    	М = Месяц(КонПериода);
    	П = "";
    	Если М = 1 Тогда П = "январь"
    	ИначеЕсли 
    		М = 2 Тогда П = "февраль"
    	ИначеЕсли 
    		М = 3 Тогда П = "март"
    	ИначеЕсли 
    		М = 4 Тогда П = "апрель"
    	ИначеЕсли 
    		М = 5 Тогда П = "май" 
    	ИначеЕсли 
    		М = 6 Тогда П = "июнь"
    	ИначеЕсли 
    		М = 7 Тогда П = "июль"
    	ИначеЕсли 
    		М = 8 Тогда П = "август"
    	ИначеЕсли 
    		М = 9 Тогда П = "сентябрь"
    	ИначеЕсли 
    		М = 10 Тогда П = "октябрь"
    	ИначеЕсли 
    		М = 11 Тогда П = "ноябрь"
    	ИначеЕсли 
    		М = 12 Тогда П = "декабрь"
    	КонецЕсли;
    	
    	Возврат П;
    	
    КонецФункции

    Абсолютно реальный код в одном из отчетов...

    pasechnik13, 01 Ноября 2011

    Комментарии (21)
  9. 1C / Говнокод #8374

    −102

    1. 1
    2. 2
    Сегодня мы отказались от 1С.
    Сегодня, когда день апплодировал стоя.

    А в штанах остались желтые бумажки. В назидание?

    alexoy, 31 Октября 2011

    Комментарии (3)
  10. 1C / Говнокод #8369

    −123

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    СпрСклады = СоздатьОбъект("Справочник.Склады");
    НСкл = 0;
    СпрСклады.ВыбратьЭлементы();
    Пока СпрСклады.ПолучитьЭлемент() = 1 Цикл
    	Склад = СпрСклады.ТекущийЭлемент();
    	НСкл = НСкл + 1;
    	Если НСкл = 1 Тогда
    		Прервать
    	КонецЕсли;
    КонецЦикла;

    Вот такую "красоту" оставили предыдущие программисты.

    droff, 31 Октября 2011

    Комментарии (10)