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

    Всего: 5

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

    −96

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Процедура Таймаут(ЧислоСекунд)
    	НачВремя = ТекущаяДата();
    	Пока 1 = 1 Цикл
    		Если ТекущаяДата() - НачВремя > ЧислоСекунд Тогда
    			Прервать;
    		КонецЕсли;
    	КонецЦикла; 
    КонецПроцедуры

    Вот это я понимаю!!! Таймаут...
    Это из той же конфигурации, что и прошлые мои кладки.
    По прежнему коплю на патроны.
    Открыт для любых конструктивных идей.

    ivan_0110, 05 Мая 2016

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

    −101

    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
    ЗапросУсл= Новый Запрос;
    ЗапросУсл.Текст=" ВЫБРАТЬ бит_УслугиЖКХ.Ссылка,
    |                       бит_УслугиЖКХ.Код,
    |                       бит_УслугиЖКХ.Наименование,
    |                       бит_УслугиЖКХ.Приоритет,
    |                       бит_УслугиЖКХ.ГруппаУслуги
    | ИЗ Справочник.бит_УслугиЖКХ КАК бит_УслугиЖКХ
    | ГДЕ бит_УслугиЖКХ.ПометкаУдаления=Ложь";
    	  
    tzУслуги=ЗапросУсл.Выполнить().Выгрузить(); 
    	 	 
    kolFind="";
    kolFind=мТаблицаПечати.Колонки.Найти("ГруппаУслуги");
    Если СокрЛП(Строка(kolFind))="" тогда
    	  мТаблицаПечати.Колонки.Добавить("ГруппаУслуги");
    КонецЕсли;
    	
     Для Каждого str_TP  Из мТаблицаПечати  Цикл 
     	//Сообщить(Строка(str_TP.Приоритет)+"    "+Строка(str_TP.Услуга));
    	 ncv="";
    	ncv= tzУслуги.Найти(str_TP.Услуга, "Ссылка" );
    	если СокрЛП(Строка(ncv))<>"" тогда
    		  str_TP.ГруппаУслуги=СокрЛП(Строка(ncv.ГруппаУслуги));
    	 конецесли;
    КонецЦикла;

    Так и хочется расстрелять этих козлов, но у них на сайте написано, что их более 5000 и они, как зараза, проникли в 43 города, в том числе и к буржуям.
    Ребя, скиньтесь на патроны, Greenpeace нас не забудет!

    ivan_0110, 05 Февраля 2016

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

    −97

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    ПроцентОтОплаты = 0;
    		
    Если ЗначениеЗаполнено(Процент) Тогда			
    	ПроцентОтОплаты = Окр((ВыборкаПоГруппам.КОплате * 100 / (100 - Процент )) - ВыборкаПоГруппам.КОплате, 2);   			
    КонецЕсли; 
    ...
    мСтруктураДанных.Вставить("ИтогоКОплатеСУчетомПредоплаты",    ВыборкаПоГруппам.КОплате + ПроцентОтОплаты);

    Всё та же конфигурация...
    Если на форме выставили 10% предоплаты на 100р услуг, то некий сбор в пользу бедных будет 1,11р., а к оплате жильцу 111,11р.
    Если на форме выставили 15% предоплаты на 100р услуг, то некий сбор в пользу бедных будет 2,64р., а к оплате жильцу 117,64р.
    Если на форме выставили 99% предоплаты на 100р услуг, то некий сбор в пользу бедных будет 9900р., а к оплате жильцу 10000р.
    Если на форме выставили 100% предоплаты на 100р услуг, то будет крах босякам...

    Великий и могучий русский язык, но язык 1С его переплюнул тысячекратно... (

    ivan_0110, 05 Февраля 2016

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

    −101

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

    Самый реальный способ получения итогов запроса, что я видел!
    + кто-то ничье застолбил.
    Это из той же конфигурации, что и первая моя кладка.

    ivan_0110, 05 Февраля 2016

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

    −99

    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
    Если Сальдо = Перечисления.ДаНет.Да И Кредит = Перечисления.ДаНет.Да Тогда
                
    	СуммаКОплате   =  Строка.Сальдо +  Строка.Начислено +  Строка.Разовые - Строка.Оплата - Льгота;
    	Строка.Коплате = СуммаКОплате;
                
    ИначеЕсли Сальдо = Перечисления.ДаНет.Нет И Кредит = Перечисления.ДаНет.Да Тогда
                
    	СуммаКОплате   = Строка.Начислено + Строка.Разовые - Строка.Оплата - Льгота - ?(Строка.Сальдо < 0, Строка.Сальдо * -1, 0);
    	Строка.Коплате = СуммаКОплате;
                
    ИначеЕсли Сальдо = Перечисления.ДаНет.Да И Кредит = Перечисления.ДаНет.Нет Тогда
                
    	СуммаКОплате = ?(Строка.Сальдо > 0, Строка.Сальдо , 0) +  Строка.Начислено + Строка.Разовые - Строка.Оплата  - Льгота;
    	Строка.Коплате = СуммаКОплате;
                
    ИначеЕсли Сальдо = Перечисления.ДаНет.Нет И Кредит = Перечисления.ДаНет.Нет Тогда
                
    	СуммаКОплате = Строка.Начислено + Строка.Разовые - Льгота;
    	Строка.Коплате = СуммаКОплате;
                
    КонецЕсли;

    Проняло до слез. Ребята не знают простой математики, зато им известна условная тернарная операция. Привел самый эпичный отрывок, но там впору публиковать всю конфигурацию.

    ivan_0110, 03 Февраля 2016

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