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

    −130

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Запрос.Текст = "
    |...
    | И УслугиОказанные.Проведен = &Истина
    |...";
    Запрос.УстановитьПараметр("Истина", Истина);

    Вот как бывает когда людям платят за количество строк.
    Коллега нашёл в отчёте из БГУ 1.0.

    Voittamaton, 04 Июня 2014

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

    −125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Процедура ПриОткрытии()
    	Если ЭтоНовый() И НЕ РольДоступна("СуперАдмин") Тогда
                  ЭтаФорма.Закрыть();
    	      Возврат;
    	КонецЕсли;
    КонецПроцедуры

    УТ 10.3. Такие перлы добавлены почти во все документы конфигурации

    105_306330_ru, 28 Мая 2014

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

    −123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ИначеЕсли  Отправитель = "h*@**k.ua" Тогда
      НовыйДокумент.Услуга   = Справочники.Услуги.НайтиПоКоду("0000000029");
     ИначеЕсли  Отправитель = "*******@**k.ua" Тогда
      НовыйДокумент.Услуга   = Справочники.Услуги.НайтиПоКоду("0000000029");
      НовыйДокумент.Ответственный = Справочники.Сотрудники.НайтиПоКоду("0000000063");
     КонецЕсли;

    alexinzaz, 23 Мая 2014

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

    −132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() И Выборка.Количество() > 0 Тогда
    	Возврат Выборка.ПлощадьДома;
    Иначе
    	Возврат 0;
    КонецЕсли;

    проверка пустая ли выборка по одному из принципов:
    "больше лучше, чем меньше", "доверяй, но проверяй", "семь раз отмерь, один отрежь"

    Olna, 21 Мая 2014

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

    −126

    1. 1
    2. 2
    3. 3
    4. 4
    Запрос = Новый Запрос("
    |ВЫБРАТЬ ПЕРВЫЕ 1000
    |.....");
    ВыборкаДанных = Запрос.Выполнить().Выгрузить();

    Код из правила выгрузки данных с произвольным запросом.
    Ведущий программист: "Блин, почему каждый раз выгружается разное количество объектов? Это же мистика!!!"

    Voittamaton, 06 Мая 2014

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

    −166

    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
    Функция ЭтоБуква(Буква)
                    Возврат Найти("еоатинркулмДСвПдОсКцчыгзпбТНИьБФхВяРАЗЭйУЕГМЦжщЙШЩЫЛЯЧЬХЪЖЮЁёшъфэюQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm", Буква) > 0;
    КонецФункции
     
    Функция ЭтоЦифра(Буква)
     
                    Возврат Найти("1234567890", Буква)>0;
     
    КонецФункции // ЭтоЦифра()
     
    Функция ЭтоБукваИлиЦифра(Символ)
     
                    Возврат Найти("еоатинркулмДСвПдОсКцчыгзпбТНИьБФхВяРАЗЭйУЕГМЦжщЙШЩЫЛЯЧЬХЪЖЮЁёшъфэюQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890", Символ) > 0;
     
    КонецФункции // ЭтоБукваИлиЦифра()

    Из типовой конфигурации БГУ 2.0.
    На первый взгляд реализация забавна :-) Но, в общем-то, это не является говнокодом: просмотрев в гугле различные "рейтинги букв", получил примерно то же самое.
    Тем не менее, можно решить вопрос с помощью проверки кода символа.

    Voittamaton, 01 Мая 2014

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

    −162

    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
    Процедура ОбождатьПятьСекунд()
    	
    	Время1 = ТекущаяДата();
    	Пока ТекущаяДата() <= Время1 + 5 Цикл
    	КонецЦикла;
    	
    КонецПроцедуры
    
    Процедура ОбождатьМенуту()
    	
    	Н = 1;
    	Пока Н <= 12 Цикл
    		ОбождатьПятьСекунд();
    		Н = Н + 1;
    	КонецЦикла;
    	
    КонецПроцедуры
    
    Процедуры ВыгрузитьВСайт(КоличествоМенут)
    	
    	Н = 1;
    	Пока Н <= КоличествоМенут Цикл
    		ОбождатьМенуту();
    		Н = Н + 1;
    	КонецЦикла;
    	
    	СформероватьОправитьХМЛ();
    	
    КонецПроцедуры

    В пятницу на собеседование пришёл программист.
    Задание было следующим: по определённым правилам сформировать XML-файл для выгрузки в интернет-кабинет. Выгрузка должна была производиться с определённой периодичностью. В клиент-серверной версии нужно было создать регламентное задание.

    С заполнением XML-файла программист справился согласно требованиям.
    Но, к сожалению, парень не умел работать с регламентными заданиями, поэтому в качестве решения сделал внешнюю обработку с обработчиком ожидания, которая запускалась в отдельном сеансе.
    Орфография сохранена :-)

    Voittamaton, 12 Апреля 2014

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

    −163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    ВЫБОР
      КОГДА ПеремещениеТоваровТовары.ЕдиницаИзмерения = ПеремещениеТоваровТовары.Номенклатура.ЕдиницаХраненияОстатков
       ТОГДА ПеремещениеТоваровТовары.Количество * ПеремещениеТоваровТовары.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * ПеремещениеТоваровТовары.Номенклатура.бит_п_МассаНетто
      КОГДА ПеремещениеТоваровТовары.ЕдиницаИзмерения = ПеремещениеТоваровТовары.Номенклатура.ЕдиницаДляОтчетов
       ТОГДА ПеремещениеТоваровТовары.Количество * ПеремещениеТоваровТовары.Номенклатура.ЕдиницаДляОтчетов.Коэффициент * ПеремещениеТоваровТовары.Номенклатура.бит_п_МассаНетто
      КОГДА ПеремещениеТоваровТовары.ЕдиницаИзмерения = ПеремещениеТоваровТовары.Номенклатура.ЕдиницаИзмеренияМест
       ТОГДА ПеремещениеТоваровТовары.Количество * ПеремещениеТоваровТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент * ПеремещениеТоваровТовары.Номенклатура.бит_п_МассаНетто
      КОГДА ПеремещениеТоваровТовары.ЕдиницаИзмерения = ПеремещениеТоваровТовары.Номенклатура.бит_п_ЕдиницаПаллет
       ТОГДА ПеремещениеТоваровТовары.Количество * ПеремещениеТоваровТовары.Номенклатура.бит_п_ЕдиницаПаллет.Коэффициент * ПеремещениеТоваровТовары.Номенклатура.бит_п_МассаНетто
    КОНЕЦ

    iMoxa, 02 Апреля 2014

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

    −165

    1. 1
    2. 2
    ...
    Возврат ?(НЕ Запрос.Выполнить().Пустой(),Истина,Ложь);

    maximilian6547s, 27 Марта 2014

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

    −168

    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
    Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    	
    	Если ОбменДанными.Загрузка Тогда
    		Возврат;
    	КонецЕсли; 
    	
    	Если ДополнительныеСвойства.Свойство("НомерПартииДляСерии") Тогда
    		ДополнительныеСвойства.Удалить("НомерПартииДляСерии");
    	КонецЕсли;
    
    	Если ЭтоНовый() И РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
    		Записать(РежимЗаписиДокумента.Запись);
    		Записать(РежимЗаписиДокумента.Проведение);		 
    	Иначе
    		Если Не ЭтоНовый() И Не РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения Тогда
    			НомерСтрокиДокумента = 0;
    			бит_п_ОбщегоНазначения.ПроверитьИСформироватьСериюНоменклатуры(Ссылка, Продукция, НомерСтрокиДокумента);	
    			бит_п_ОбщегоНазначения.ПроверитьИСформироватьСериюНоменклатуры(Ссылка, Брак, НомерСтрокиДокумента);
    		КонецЕсли;
    	КонецЕсли;
    	
    	Если ЭтоНовый() И РежимЗаписи = РежимЗаписиДокумента.Запись Тогда
    		Если ДополнительныеСвойства.Свойство("НеобходимоФормироватьСерию") = Ложь Тогда
    			ДополнительныеСвойства.Вставить("НеобходимоФормироватьСерию", Истина);
    			Записать(РежимЗаписиДокумента.Запись);
    			Записать(РежимЗаписиДокумента.Запись);
    		КонецЕсли;
    	КонецЕсли;    
    	
    КонецПроцедуры

    У меня нет слов.
    НО(!!!) ... это работает как надо :D .

    iMoxa, 19 Марта 2014

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