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

    −167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    МассивКоэффициентов = Новый Структура;
    -------------------------------------------------------------------------------------------------------
    Если Элемент.Имя = "КнопкаПерсонал" тогда
    	СписокВидоврасчета = 1;
    иначе
    	СписокВидоврасчета = 2;
    конецЕсли;

    "Принцип наименьшего удивления" при выборе имен переменных в работе

    doom2good, 13 Мая 2013

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

    −121

    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
    Функция ТекстЗапросаИзСтрокиВЧисло(пИмяПоля, пДлинаСтроки, пСимволРазделителя=".")
        лТекст="ВЫБОР ";
        Для лДлинаЦелойЧасти=0 По пДлинаСтроки Цикл
            Если лДлинаЦелойЧасти=пДлинаСтроки Тогда 
                лТекст=лТекст+"ИНАЧЕ"+Символы.ПС;
            Иначе
                лТекст=лТекст+"КОГДА ПОДСТРОКА("+пИмяПоля+", "+(лДлинаЦелойЧасти+1)+", 1)="""+пСимволРазделителя+""" ИЛИ ПОДСТРОКА("+пИмяПоля+", "+(лДлинаЦелойЧасти+1)+", 1)="""" ТОГДА "+Символы.ПС;
            КонецЕсли; 
            Если лДлинаЦелойЧасти=0 Тогда лТекст=лТекст+"    0"+Символы.ПС; КонецЕсли; 
            Для лИнд=1 По лДлинаЦелойЧасти Цикл
               лТекст=лТекст+"    ВЫБОР "+Символы.ПС;
                Для лЦифра=0 По 9 Цикл
                    лТекст=лТекст+"    КОГДА ПОДСТРОКА("+пИмяПоля+", "+лИнд+", 1)="""+лЦифра+""" ТОГДА "+лЦифра+Символы.ПС;
                КонецЦикла;
                лТекст=лТекст+"    ИНАЧЕ 0 КОНЕЦ"+?(лИнд=лДлинаЦелойЧасти, "", "*"+Формат(Pow(10, лДлинаЦелойЧасти-лИнд), "ЧРД=.; ЧГ=0")+"+")+Символы.ПС;
            КонецЦикла;
            Для лИнд=лДлинаЦелойЧасти+2 По пДлинаСтроки Цикл
                лТекст=лТекст+"+ ВЫБОР";
                Для лЦифра=0 По 9 Цикл
                    лТекст=лТекст+"    КОГДА ПОДСТРОКА("+пИмяПоля+", "+лИнд+", 1)="""+лЦифра+""" ТОГДА "+лЦифра+Символы.ПС;
                КонецЦикла;
                лТекст=лТекст+"    ИНАЧЕ 0 КОНЕЦ"+?(лИнд=лДлинаЦелойЧасти, "", "/"+Формат(Pow(10, лИнд-лДлинаЦелойЧасти-1), "ЧРД=.; ЧГ=0"))+Символы.ПС;
            КонецЦикла;
        КонецЦикла;
        лТекст=лТекст+"КОНЕЦ";
        Возврат лТекст;
    КонецФункции

    kovyl2404, 23 Апреля 2013

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

    −117

    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
    Запрос.УстановитьПараметр("Дата1",началомесяца(дата));
     запрос.УстановитьПараметр("Дата2",Конецмесяца(дата)-Дней(1));//дата заказа
     Запрос.УстановитьПараметр("МесяцОплаты",Месяц(Дата));
     Запрос.УстановитьПараметр("ПДата1",НачалоМесяца(Дата));
     Запрос.УстановитьПараметр("ПДата2",КонецМесяца(Дата)+345600);
     Запрос.УстановитьПараметр("ЗДата1",НачалоМесяца(ПДата));
     Запрос.УстановитьПараметр("ЗДата2",КонецМесяца(ПДата));
     Запрос.УстановитьПараметр("ЗПДата1",НачалоМесяца(Дата));
     Запрос.УстановитьПараметр("ЗПДата2",КонецМесяца(Дата));
     Запрос.УстановитьПараметр("ППДата1",НачалоМесяца(Дата));
     Запрос.УстановитьПараметр("ППДата2",КонецМесяца(Дата));
     запрос.УстановитьПараметр("дата22",Конецмесяца(дата));
     запрос.УстановитьПараметр("Дата21", Конецмесяца(дата));// для корпоративных клиентов берем весь период
     запрос.УстановитьПараметр("ПодключениеФ",Справочники.ФормулировкиСчетов.Подключение);
     запрос.УстановитьПараметр("Сотрудник",Сотрудник);
     запрос.УстановитьПараметр("Список",Список);
     запрос.УстановитьПараметр("ПРИХОД",ВидДвиженияНакопления.Расход);

    kovyl2404, 05 Апреля 2013

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

    −124

    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
    КоличествоОбъектов_ = 0;
    	
    	Для Каждого СтрокаТаблицы Из Объекты Цикл
    		Если СтрокаТаблицы.Объект = Элемент.Значение Тогда
    			КоличествоОбъектов_ = КоличествоОбъектов_ + 1;
    		КонецЕсли;
    	КонецЦикла;
    
    	Если КоличествоОбъектов_ > 1 Тогда
    		Элемент.Значение = Справочники.ОбъектыСтрахования.ПустаяСсылка();
    		Предупреждение("Выбранный объект уже присутствует в списке");
    		Возврат;
    	КонецЕсли;

    Нашел такое в конфе, которую поддерживаю.
    Программер накнопал алгоритм, чтобы исключить попадание одного и того же объекта в таблицу.
    Вначале был ступор, потом дошло.

    Ivon, 18 Марта 2013

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

    −117

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ПриФлагЖилое0(запросАДО,КодЧастиДома,ПредыдущийКонтрагент,обУК,предыдущаяУК,ДокДата,
    квплулицы,квплуслуги,квплБлагоустр,ФлагПрервать,ДокНачНФ,ДокПостПД,ДокСтроение,
    ИтогоКОплатеЗаМесяц,Оплаты,ПредыдущийКод,ДокНачНас,ДокПостОтНас,ВремТЧ_ДокНачНас_Услуги,
    ВремТЧ_ДокПостОтНас_Услуги,счетСтроений,счетДокНачНас,счетДокПостОтНас,СтроениеКолвоЛицевыхНФ,
    СтроениеКолвоЛицевых,СтроениеКолвоПроживающих,техПаспСтроениеОбщаяПлощадь);

    Всего 27 параметров. Форматирование от автора.

    croacker, 15 Марта 2013

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

    −117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Функция КоличествоМесяцев(Дата1, Дата2)
    	Запрос = Новый Запрос;
    	Запрос.Текст = "ВЫБРАТЬ
    	|	РАЗНОСТЬДАТ(&Дата1, &Дата2, МЕСЯЦ) + 1 КАК Результат";
    	Запрос.УстановитьПараметр("Дата1", Дата1);
    	Запрос.УстановитьПараметр("Дата2", Дата2);
    	Выборка = Запрос.Выполнить().Выбрать();
    	Если Выборка.Следующий() тогда
    		Возврат Выборка.Результат
    	КонецЕсли;
    КонецФункции

    Хотя, по-моему, неоригинально, уже было.
    Может начнем ходить на сервер, чтобы два числа сложить?

    mrbus, 14 Марта 2013

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

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Если Организация = Справочники.Организации.НайтиПоКоду("650532") Тогда	
    			Сумма2011 = 14271648;
    		ИначеЕсли Организация = Справочники.Организации.НайтиПоКоду("325316") Тогда
    			Сумма2011 = 1195741.30;
    		ИначеЕсли Организация = Справочники.Организации.НайтиПоКоду("670054") Тогда
    			Сумма2011 = 7782829;
    		ИначеЕсли Организация = Справочники.Организации.НайтиПоКоду("650533") Тогда
    			Сумма2011 = 72882366.11;

    Чем-то напоминает int rand() { return 4; };
    Тут не расстреливать, а живьем закапывать надо!

    mrbus, 14 Марта 2013

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

    −122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Если ВыгружатьВзаиморасчеты тогда
        Если ВыгружатьВзаиморасчеты() тогда
            УспешноВзаиморасчетыВыгружено=ВыгрузитьВзаиморасчетыНаСайт(СтруктураПараметровСайта);
        КонецЕсли;
    КонецЕсли;

    Херово, когда имен не хватает =(

    kovyl2404, 05 Марта 2013

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

    −160

    1. 1
    2. 2
    3. 3
    Процедура ЗАЕБАШИТЬЧТОБВСЕРАБОТАЛО ()
    	СООБЩИТЬ("Так не бывает!");
    КонецПроцедуры

    Из реального проекта крупного торгового дома.

    infolex, 27 Февраля 2013

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

    −117

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Функция НайтиТовар(Наименование)
    	Запрос = Новый Запрос("ВЫБРАТЬ Ссылка, Наименование ИЗ Справочник.Номенклатура ГДЕ НЕ ПометкаУдаления");
    	Выборка = Запрос.Выполнить().Выбрать();
    	Пока Выборка.Следующий() Цикл
    		Если СокрЛП(ВРег(Выборка.Наименование))=ВРег(Наименование) Тогда
    			Возврат Выборка.Ссылка;
    		КонецЕсли;
    	КонецЦикла;
    КонецФункции

    и все это вызывается в цикле

    BlackMamba, 25 Февраля 2013

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