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

    −147

    1. 1
    спВидТорговли.ДобавитьЗначение(Перечисление.ВидыТорговли.Нал,Строка(Перечисление.ВидыТорговли.Нал));

    Типовая торговля для Украины.
    Подозреваю , ШО текст датируется концом 90-х.

    Xbrut, 09 Февраля 2012

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

    −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
    Если Сумма25<>0 Тогда
    				с25=Сумма25/Итог("Материалы")*Материалы;
    			КонецЕсли; 
    			Если Сумма26<>0 Тогда
    				с26=Сумма26/Итог("Материалы")*Материалы;
    			КонецЕсли;
    			Если Сумма60<>0 Тогда
    				с60=Сумма60/Итог("Материалы")*Материалы;
    			КонецЕсли; 
    			Если Сумма691<>0 Тогда
    				с691=Сумма691/Итог("Материалы")*Материалы;
    			КонецЕсли; 
    			Если Сумма692<>0 Тогда
    				с692=Сумма692/Итог("Материалы")*Материалы;
    			КонецЕсли; 
    			Если Сумма6921<>0 Тогда
    				с6921=Сумма6921/Итог("Материалы")*Материалы;
    			КонецЕсли; 
    			Если Сумма6922<>0 Тогда
    				с6922=Сумма6922/Итог("Материалы")*Материалы;
    			КонецЕсли; 
    
    			Если Сумма693<>0 Тогда
    				с693=Сумма693/Итог("Материалы")*Материалы;
    			КонецЕсли; 
    			Если Сумма6931<>0 Тогда
    				с6931=Сумма6931/Итог("Материалы")*Материалы;
    			КонецЕсли; 
    			Если Сумма6932<>0 Тогда
    				с6932=Сумма6932/Итог("Материалы")*Материалы;
    			КонецЕсли; 
    			Если Сумма694<>0 Тогда
    				с694=Сумма694/Итог("Материалы")*Материалы;
    			КонецЕсли; 
    			Если Сумма695<>0 Тогда
    				с695=Сумма695/Итог("Материалы")*Материалы;
    			КонецЕсли;
    			Если Сумма70<>0 Тогда
    				с70=Сумма70/Итог("Материалы")*Материалы;
    			КонецЕсли; 
    			Если Сумма97<>0 Тогда
    				с97=Сумма97/Итог("Материалы")*Материалы;
    			КонецЕсли;

    glavdir, 06 Февраля 2012

    Комментарии (2)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 1C / Говнокод #8900

    −138

    1. 1
    вайп

    TarasGovno, 04 Января 2012

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

    −137

    1. 1
    вайп

    TarasGovno, 04 Января 2012

    Комментарии (1)
  9. 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)
  10. 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)