1. Список говнокодов пользователя jerokee

    Всего: 9

  2. 1C / Говнокод #18793

    −96

    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
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    	|	ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Контрагент,
    	|	ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК ТорговаяТочка,
    	|	0 КАК ЛимитСумма,
    	|   0 КАК ЛимитСрок,
    	|   0 КАК ПросроченаСумма,
    	|   0 КАК ПросроченоДней,
    	|	0 КАК ОтгрузкаРазрешена,
    	|   Значение(Документ.РеализацияТоваровУслуг.ПустаяСсылка) КАК Документ,
    	|	0 КАК Сумма
    	|";
    РезультатЗапроса = Запрос.Выполнить();
    ТаблицаДЗ = РезультатЗапроса.Выгрузить();
    Результаты.Вставить("АктуальнаяДЗСумма", ТаблицаДЗ);

    Кто может объяснить мне сакральный смысл этого запроса?

    jerokee, 01 Октября 2015

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

    −122

    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
    Процедура Сформировать()
    	СпрКонтр = СоздатьОбъект("Справочник.Контрагенты");
    	СпрКонтр.ВыбратьЭлементы();
    	Пока СпрКонтр.ПолучитьЭлемент()=1 Цикл
    		Сообщить(СпрКонтр.Наименование);
    		Спр = СоздатьОбъект("Справочник.ТорговыеТочки");
    		Спр.ИспользоватьВладельца(СпрКонтр.ТекущийЭлемент());
    		Спр.ВыбратьЭлементы();
    		
    		Пока Спр.ПолучитьЭлемент()=1 Цикл
    			Сообщить(Спр.Наименование);
    			Х = СокрЛп(Спр.Код);
    			У = "";
    			Если Х="80002963" Тогда У = "68000550";
    			ИначеЕсли Х="80002964" Тогда У = "68000549";
    			ИначеЕсли Х="80004172" Тогда У = "68000551";
    ....................................
    			ИначеЕсли Х="80004503" Тогда У = "68000811";
    			ИначеЕсли Х="80003952" Тогда У = "68001300";
    	                КонецЕсли;
    			Если У <> "" Тогда
    				Спр.CASID = У;
    				Спр.Записать();
    			КонецЕсли;
    		КонецЦикла;
    	КонецЦикла;
    	Сообщить("Обработка завершена!");
    КонецПроцедуры

    Прислали обработку проставления определенного значения реквизита... Чуть со стула не упали... Всего 619 условий...

    jerokee, 30 Сентября 2014

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

    −166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Попытка
    	ФС.КопироватьФайл(Каталог+Файл+Расширение,НовоеИмя,1);
    	Если ФС.СуществуетФайл(НовоеИмя)=0 Тогда
    		СоздатьОбъект("АбсолютнаяЧушь");
    	КонецЕсли;
    	НовоеЗначение=Сред(НовоеИмя,СтрДлина(Лев(КаталогИБ(),СтрДлина(КаталогИБ())-1)+"-MEDIA\")+1);
    	НовоеСтрока=НовоеЗначение;
    Исключение
    	Предупреждение("Не удаётся скопировать файл!",5);
    КонецПопытки;

    Классный способ вызвать исключение.

    jerokee, 16 Мая 2013

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

    −171

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    ЕстьПроблема       = (Мин(СсылкаНаЗапрос.ЭтоПроблема,СвязанныйЗапрос.ЭтоПроблема)<>Макс(СсылкаНаЗапрос.ЭтоПроблема,СвязанныйЗапрос.ЭтоПроблема));
    ТолькоПроблемы = Мин(СсылкаНаЗапрос.ЭтоПроблема,СвязанныйЗапрос.ЭтоПроблема);
    
    Если ЕстьПроблема И Не ТолькоПроблемы Тогда 
         // кусок кода
    Иначе 
         // кусок кода
    КонецЕсли;

    Наваял тут... Самому прикольно стало.

    jerokee, 16 Мая 2013

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

    −120

    1. 1
    2. 2
    3. 3
    Пока ТЗРаспределения.ТаблицаРеализацийИВозвратовНеСвернутая.ТаблицаНоменклатур.ТаблицаРеализацийНеСв.ТаблицаВозвратовНеСв.ПолучитьСтроку()=1 Цикл
         СтрокаВозвратов = СтрокаВозвратов + ТЗРаспределения.ТаблицаРеализацийИВозвратовНеСвернутая.ТаблицаНоменклатур.ТаблицаРеализацийНеСв.ТаблицаВозвратовНеСв.Возврат  	+ ";" ;
    КонецЦикла;

    Очередной шедевр... Живем в 6(!!!)-мерном мире. У меня чуть мозг не взорвался.

    jerokee, 29 Ноября 2012

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

    −97

    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
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    Функция Транслит(Имя)
        Рез = СокрЛП(Имя);
        Рез = СтрЗаменить(Рез,"а","a");
        Рез = СтрЗаменить(Рез,"б","b");
        Рез = СтрЗаменить(Рез,"в","v");
        Рез = СтрЗаменить(Рез,"г","g");
        Рез = СтрЗаменить(Рез,"д","d");
        Рез = СтрЗаменить(Рез,"е","e");
        Рез = СтрЗаменить(Рез,"ё","jo");
        Рез = СтрЗаменить(Рез,"ж","zh");
        Рез = СтрЗаменить(Рез,"з","z");
        Рез = СтрЗаменить(Рез,"и","i");
        Рез = СтрЗаменить(Рез,"й","jj");
        Рез = СтрЗаменить(Рез,"к","k");
        Рез = СтрЗаменить(Рез,"л","l");
        Рез = СтрЗаменить(Рез,"м","m");
        Рез = СтрЗаменить(Рез,"н","n");
        Рез = СтрЗаменить(Рез,"о","o");
        Рез = СтрЗаменить(Рез,"п","p");
        Рез = СтрЗаменить(Рез,"р","r");
        Рез = СтрЗаменить(Рез,"с","s");
        Рез = СтрЗаменить(Рез,"т","t");
        Рез = СтрЗаменить(Рез,"у","u");
        Рез = СтрЗаменить(Рез,"ф","f");
        Рез = СтрЗаменить(Рез,"х","h");
        Рез = СтрЗаменить(Рез,"ч","ch");
        Рез = СтрЗаменить(Рез,"ш","sh");
        Рез = СтрЗаменить(Рез,"щ","shh");
        Рез = СтрЗаменить(Рез,"ъ","");
        Рез = СтрЗаменить(Рез,"ь","");
        Рез = СтрЗаменить(Рез,"э","eh");
        Рез = СтрЗаменить(Рез,"ю","ju");
        Рез = СтрЗаменить(Рез,"ц","c");
        Рез = СтрЗаменить(Рез,"я","ja");
        Рез = СтрЗаменить(Рез,"ы","i");
        Рез = СтрЗаменить(Рез,"А","A");
        Рез = СтрЗаменить(Рез,"Б","B");
        Рез = СтрЗаменить(Рез,"В","V");
        Рез = СтрЗаменить(Рез,"Г","G");
        Рез = СтрЗаменить(Рез,"Д","D");
        Рез = СтрЗаменить(Рез,"Е","E");
        Рез = СтрЗаменить(Рез,"Ё","JO");
        Рез = СтрЗаменить(Рез,"Ж","ZH");
        Рез = СтрЗаменить(Рез,"З","Z");
        Рез = СтрЗаменить(Рез,"И","I");
        Рез = СтрЗаменить(Рез,"Й","JJ"); 
        Рез = СтрЗаменить(Рез,"К","K");
        Рез = СтрЗаменить(Рез,"Л","L");
        Рез = СтрЗаменить(Рез,"М","M");
        Рез = СтрЗаменить(Рез,"Н","N");
        Рез = СтрЗаменить(Рез,"О","O");
        Рез = СтрЗаменить(Рез,"П","P");
        Рез = СтрЗаменить(Рез,"Р","R");
        Рез = СтрЗаменить(Рез,"С","S");
        Рез = СтрЗаменить(Рез,"Т","T");
        Рез = СтрЗаменить(Рез,"У","U");
        Рез = СтрЗаменить(Рез,"Ф","F");
        Рез = СтрЗаменить(Рез,"Х","H");
        Рез = СтрЗаменить(Рез,"Ч","CH");
        Рез = СтрЗаменить(Рез,"Ш","SH");
        Рез = СтрЗаменить(Рез,"Щ","SHH");
        Рез = СтрЗаменить(Рез,"Ъ","");
        Рез = СтрЗаменить(Рез,"Ь","");
        Рез = СтрЗаменить(Рез,"Ы","");
        Рез = СтрЗаменить(Рез,"Ц","C");
        Рез = СтрЗаменить(Рез,"Э","EH");
        Рез = СтрЗаменить(Рез,"Ю","JU");
        Рез = СтрЗаменить(Рез,"Я","JA");
       
        Возврат(Рез);
    КонецФункции

    Суровая транслитерация... Я плакалъ

    jerokee, 16 Октября 2012

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

    −121

    1. 1
    НомСтрЗаказа = ПолучитьПустоеЗначение("Число");

    Нашел тут в загашниках при поддержке "чужого кода".
    Вот оказывается как надо присваивать переменной нулевое значение!

    jerokee, 11 Октября 2012

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

    −143

    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
    Функция ПолучитьМаксимальныйДокументРеализации(ТЗРеализаций)
    	МаксДок = ПолучитьПустоеЗначение("Документ");
    	ТЗРеализаций.ВыбратьСтроки();
    	Пока ТЗРеализаций.ПолучитьСтроку()=1 Цикл
    		Если МаксДок = ПолучитьПустоеЗначение("Документ") Тогда
    			МаксДок =  ТЗРеализаций.ДокументРеализации;
    		ИначеЕсли МаксДок.ДатаДок < ТЗРеализаций.ДокументРеализации.ДатаДок Тогда
    		    МаксДок =  ТЗРеализаций.ДокументРеализации;
    		КонецЕсли;
    		
    	КонецЦикла;
    	Возврат МаксДок;
    КонецФункции

    Во как надо получать последний документ из таблицы!

    jerokee, 10 Февраля 2012

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

    −135

    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
    Процедура ЗаписатьТрижды(Док)
    	Попытка
    		Док.Записать();
    	
    	Исключение
    		Для ХХХ=1 По 1000 Цикл
    			УУУ = ХХХ;
    		КонецЦикла;
    		Попытка
    			Док.Записать();
    		
    		Исключение
    			Для ХХХ=1 По 1000 Цикл
    				УУУ = ХХХ;
    			КонецЦикла;
    			Попытка
    				Док.Записать();
    			
    			Исключение
    				Сообщить("И с третьей попытки не удалось записать документ "+Док);
    				Сообщить(ОписаниеОшибки());
    			КонецПопытки;
    		КонецПопытки;
    	КонецПопытки;

    Разбирал тут обработку, наткнулся на этот шедевр...

    jerokee, 10 Февраля 2012

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