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

    −99

    1. 1
    2. 2
    Если НоменклатураКонтрагентов.Наличие=Перечисления.ДаНет.Да тогда
    ....

    Создан новый элемент перечисления "ДаНет" на который ссылается измерение регистра сведений. Джордж Буль продолжает медленно крутиться...

    FesenkoA, 03 Апреля 2017

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

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

    Нужно больше параметров! Иначе ты не адинэсник, а полное ничтожество. (Это не результат легаси, там реально скопипащено ПЯТЬ процедур с одинаковыми параметрами, из которых используется только "Отказ", да и то как видим - через заднепроходное отверстие)

    Old_Chroft, 31 Марта 2017

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

    −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
    ВЫБОР
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 1
    		ТОГДА "01 Январь"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 2
    		ТОГДА "02 Февраль"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 3
    		ТОГДА "03 Март"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 4
    		ТОГДА "04 Апрель"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 5
    		ТОГДА "05 Май"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 6
    		ТОГДА "06 Июнь"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 7
    		ТОГДА "07 Июль"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 8
    		ТОГДА "08 Август"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 9
    		ТОГДА "09 Сентябрь"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 10
    		ТОГДА "10 Октябрь"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 11
    		ТОГДА "11 Ноябрь"
    	ИНАЧЕ "12 Декабрь"
    КОНЕЦ

    Конвертация

    spaceashot, 30 Марта 2017

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

    −11

    1. 1
    ДобавитьИндексерованиеВТекстЗапроса(ТекстЗапросаПодневынеДанные, "НеИнициализированныеИстчоникиДанных...

    ЗУП КОРП 3.1.2.121
    Типовой код.
    Обработка.МенеджерДанныхУчетаВремениСотр удников.МодульОбъекта - строка 2410

    Arhal, 22 Марта 2017

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

    −14

    1. 1
    2. 2
    3. 3
    ...
    ТабличныйДокумент.Вывести(Отчеты[Сред(Лев(ЭтаФорма.ИмяФормы, СтрНайти(ЭтаФорма.ИмяФормы, ".Форма.") - 1), 7)].ПолучитьМакет(Сред(ЭтаФорма.ИмяФормы, СтрНайти(ЭтаФорма.ИмяФормы, "ФормаОтчета")) + "_" + Раздел.ИмяСтраницы));
    ...

    Типовая ЗУП 3.0.25.150, модуль ФОРМЫ регл. отчета 6-НДФЛ.

    SkyHunter, 22 Марта 2017

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

    −19

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

    Если Истина Тогда ...
    Действительно, а вдруг Истина = Ложь!

    saturn5, 21 Марта 2017

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

    −19

    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;
    Пока 1=1 Цикл 
    	Если Счетчик>=Табл.Количество() Тогда
    		Прервать;
    	КонецЕсли;
    	Стр=Табл[Счетчик];
    
            //.....
    	//Здесь лютый говнокод, 
    	//не имеющий отношения к этому фееричному паттерну "Итератор"!	
           // .....
    
    КонецЕсли;

    Паттерн "Итератор" для 1С 8.

    saturn5, 13 Марта 2017

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

    −50

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

    Суть этой сложной конструкции проста:
    если тип цены есть в справочнике ТипыЦенПоНаправлениям для определенной комбинации - то берем из него,
    иначе берем из реквизита ТипРасхЦены.
    Причем этот говнокод еще и раскопирован в два десятка мест по конфигурации и внешним обработкам и отчетам.

    Palmer, 03 Февраля 2017

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

    −47

    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
    Если РаздельнаяДоставка И МассивОшибок.Количество() = Получатели.Количество() Тогда
    	ТекстСообщения = "Сообщения НЕ отправлены !!!";
    ИначеЕсли РаздельнаяДоставка И МассивОшибок.Количество() Тогда
    	ТекстСообщения = "Не все сообщения отправлены !!!";
    ИначеЕсли НЕ РаздельнаяДоставка И МассивОшибок.Количество() Тогда
    	ТекстСообщения = "Сообщение НЕ отправлено !!!";
    ИначеЕсли РаздельнаяДоставка И НЕ МассивОшибок.Количество() Тогда
    	ТекстСообщения = "Сообщения отправлены.";
    ИначеЕсли НЕ РаздельнаяДоставка И НЕ МассивОшибок.Количество() Тогда
    	ТекстСообщения = "Сообщение отправлено.";
    Иначе
    	ТекстСообщения = "Непонятка какая-то!?";
    КонецЕсли;

    Непонятка какая-то!?

    grandatlant, 01 Февраля 2017

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

    −50

    1. 1
    2. 2
    3. 3
    4. 4
    ДатаКурса = ДатаДока;
    Если НЕ СтруктураШапкиДокумента.Свойство("ДатаКурса", ДатаКурса) Тогда
    	ДатаКурса = ДатаДока;
    КонецЕсли;

    Смысла не лишено, но зачем так?

    grandatlant, 26 Января 2017

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