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

    0

    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
    Для уу = 0 по ИндексПЭ-1 цикл 
    		// ** вычисление продаж в розницу**
    		Если Отчет.НетСобственныхТорговыхСетей Тогда 
    			ПроданоВРозницу   = Окр(ОН[уу], 4) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_5[уу] - Окр(ОК[уу],4);
    			//ПроданоВРозницу = Окр(ОН[уу], 6) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_5[уу] - Окр(ОК[уу], 6);
    			//п5_7[уу]=п5_7[уу]+ПроданоВРозницу;
    			п5_7[уу]=ПроданоВРозницу;
    		Иначе 
    			ПроданоВРозницу =   Окр(ОН[уу], 4) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_7[уу] - Окр(ОК[уу], 4);
    			//ПроданоВРозницу = Окр(ОН[уу], 6) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_7[уу] - Окр(ОК[уу], 6);
    			п5_5[уу] = п5_5[уу] + ПроданоВРозницу;
    		КонецЕсли;
    		// ** вычисление колонки Итого ***
    		
    		Если Отчет.ТабачныеИзделия Тогда
    			Если уу = 8 Тогда	//  уу=6 или  уу=5
    				//колонку "Тонны" в колонку итог "млн. штук" не смешиваем....
    				Продолжить;
    			КонецЕсли; 		
    		КонецЕсли; 
    
    		п4_1[ИндексПЭ]		= п4_1[ИндексПЭ]	+ п4_1[уу]; 
    		п4_1_1[ИндексПЭ]	= п4_1_1[ИндексПЭ]	+ п4_1_1[уу]; 
    		п4_1_2[ИндексПЭ]	= п4_1_2[ИндексПЭ]	+ п4_1_2[уу]; 
    		п4_1_3[ИндексПЭ]	= п4_1_3[ИндексПЭ]	+ п4_1_3[уу]; 
    		п4_2[ИндексПЭ]		= п4_2[ИндексПЭ]	+ п4_2[уу]; 
    		п4_3[ИндексПЭ]		= п4_3[ИндексПЭ]	+ п4_3[уу];
    		п5_2[ИндексПЭ]		= п5_2[ИндексПЭ]	+ п5_2[уу];
    		п5_3[ИндексПЭ]		= п5_3[ИндексПЭ]	+ п5_3[уу];
    		п5_4[ИндексПЭ]		= п5_4[ИндексПЭ]	+ п5_4[уу];
    		п5_5[ИндексПЭ]		= п5_5[ИндексПЭ]	+ п5_5[уу];
    		п5_7[ИндексПЭ]		= п5_7[ИндексПЭ]	+ п5_7[уу];  
    		ОН[ИндексПЭ]		= ОН[ИндексПЭ]		+ ОН[уу];
    		ОК[ИндексПЭ]		= ОК[ИндексПЭ]		+ ОК[уу];
    		
    	Конеццикла;	
    	
    	Для уу = 0 по ИндексПЭ цикл
    		п5[уу] =п5_2[уу] + п5_3[уу] + п5_4[уу] + п5_5[уу] + п5_7[уу];
    		п4[уу] =п4_1[уу] + п4_2[уу] + п4_3[уу];
    	Конеццикла;

    Работаю в крупной торговой сети РБ, конфигурация переделана с 7.7 на 8-ку.
    Прилетает сегодня задачка от буха "Не сходятся цифры в алкогольной декларации", захожу в модуль отчета, в котором 2600 строк кода, вроде этого(этот самый сочный), и тут я понял что хочу уволиться))

    Не смог себя сдержать и решил этим поделиться) думаю тут этому коду самое место

    Dudozavr, 29 Мая 2020

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Если НЕ Объект.Валютный Тогда
        Объект.ПересчитыватьВалютнуюСумму=Ложь;
    Иначе
        Объект.ПересчитыватьВалютнуюСумму=Истина;
    КонецЕсли;

    Типовая УХ

    aumsej, 29 Мая 2020

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

    +2

    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
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    //Начало новый код
    |select 
    |	НомерСтроки,
    |	Номенклатура,
    |	ЕдиницаИзмерения,
    |	Партия,
    |	КоличествоВозврата как Количество
    |поместить ДанныеДок
    |from Документ.РеализацияКассаВозврат.Номенклатура
    |where (ссылка=&ТекДок)
    //Конец новый код
    |;
    |
    |select 
    |	Номенклатура,
    |	ЕдиницаИзмерения,
    |	Партия,
    //Основание изменения:
    //Ускорение процесса:
    //Начало старый код
    //|	Количество как Количество,
    //|	СтоимостьРуб как СтоимостьРуб,
    //|	СуммаНДСРуб как СуммаНДСРуб,
    //|	СтоимостьУпр как СтоимостьУпр
    //|поместить ДанныеСклад
    //|from РегистрНакопления.ПартииТоваровНаСкладах
    //|where 
    //	(Период <= &Дата) и (Организация=&Организация и Подразделение=&Подразделение) 
    //Конец старый код
    
    //Начало новый код
    |	СУММА(КоличествоПриход) как Количество,
    |	СУММА(СтоимостьРубПриход) как СтоимостьРуб,
    |	СУММА(СуммаНДСРубПриход) как СуммаНДСРуб,
    //	Тригубович Л. 2016.06.29
    //Основание изменения:
    //Задача № 4036: Корректировка баз в связи с деноминацией
    //Начало новый код
    |	СУММА(СтоимостьBYNПриход) как СтоимостьBYN,
    |	СУММА(СуммаНДСBYNПриход) как СуммаНДСBYN,
    //Конец новый код
    |	СУММА(СтоимостьУпрПриход) как СтоимостьУпр
    |поместить ДанныеСклад
    //Основание изменения:
    //Договор комиссии:
    //Начало старый код
    //|from РегистрНакопления.ПартииТоваровНаСкладах.Обороты(,&Дата, Регистратор, Организация=&Организация и Подразделение=&Подразделение)
    //Конец старый код
    
    //Начало новый код
    |from РегистрНакопления.ПартииТоваровНаСкладах.Обороты("+?(Подразделение.Инглот И Дата >= '20140701', "ДатаВремя(2014,07,01)", "")+",&Дата, Регистратор, Организация=&Организация и Подразделение=&Подразделение)
    //Конец новый код
    |where 
    //Конец новый код
    |	(Номенклатура в (select Номенклатура from ДанныеДок)) 
    
    //Основание изменения:
    //Письмо Александровской Ольги от 01.02.2013 (п.2)
    //Начало новый код
    |	и (Партия в (select Партия from ДанныеДок)) 
    //Конец новый код
    |	и (Регистратор ссылка Документ.ПоступлениеТМЦ или Регистратор ссылка Документ.ПоступлениеТМЦИмпорт ИЛИ Регистратор ссылка Документ.ПеремещениеТМЦ ИЛИ Регистратор ссылка Документ.Пересорт ИЛИ Регистратор ссылка Документ.КомплектацияНаборов ИЛИ Регистратор ссылка Документ.РазукомплектацияНаборов ИЛИ Регистратор ссылка Документ.СкидкиПоСрокамГодности)
    |group by Номенклатура,ЕдиницаИзмерения,Партия
    |;
    |
    //Основание изменения:
    //Учтем данные по продажам
    //Начало новый код
    |select 
    |	Номенклатура,
    |	ЕдиницаИзмерения,
    |	Партия,
    |	СУММА(-КоличествоОборот) как Количество,
    |	СУММА(-СтоимостьРубОборот) как СтоимостьРуб,
    |	СУММА(-СуммаНДСРубОборот) как СуммаНДСРуб,
    //Основание изменения:
    //Задача № 4036: Корректировка баз в связи с деноминацией
    //Начало новый код
    |	СУММА(-СтоимостьBYNОборот) как СтоимостьBYN,
    |	СУММА(-СуммаНДСBYNОборот) как СуммаНДСBYN,
    //Конец новый код
    |	СУММА(-СтоимостьУпрОборот) как СтоимостьУпр
    |поместить ДанныеПродаж
    |from РегистрНакопления._ИмяРегистра_.Обороты("+?(ДатаРеализации = '00010101', "", "&ДатаНач")+",&ДатаКон, Регистратор, Организация=&Организация и _УсловиеПодразделение_)
    |where 
    |	Номенклатура в (select Номенклатура from ДанныеДок)
    |	и Партия в (select Партия from ДанныеДок)
    |	и (Регистратор ссылка Документ.РеализацияКасса ИЛИ Регистратор ссылка Документ.РеализацияКассаВозврат)
    |group by Номенклатура,ЕдиницаИзмерения,Партия
    |;
    |
    //Конец новый код
    |// сводные данные
    |select
    //Основание изменения:
    //Управленческий учет:
    //Начало новый код
    |	док.НомерСтроки КАК НомерСтрокиДокумента,
    //Конец новый код

    такое мог изобразить только ональный говноклоун
    сразу, на двух языках, блеать, вот бы еще украинского туда. Осмысленность и нужность комментариев феноменальна.
    анус мой от вида таких поделок полыхает.

    valchara, 30 Апреля 2020

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

    −1

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

    Оформление по красоте, как и количество параметров.

    QuickMix, 11 Марта 2020

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

    0

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

    Когда джуны на проекте по ЕРП

    sandvich, 09 Марта 2020

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

    +3

    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
    ОбластьТело.Параметры.Нерабочий = ?(
    	(Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 1 И (День(СсылкаНаОбъект.ДатаНачалаСобытия) = 1 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 2 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 3 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 4 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 5 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 6 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 7 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 8))
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 2 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 23
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 3 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 8
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 5 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 1
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 5 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 9
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 6 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 12
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 11 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 4
    	,"праздничный", "выходной");

    Проверочка на соответствие даты действия документа праздничному дню.. не ну а чо бы нет то

    Stipa, 06 Марта 2020

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

    −3

    1. 1
    Приведите реальный пример программы на 1С

    Вот прямо типичный пример задачи, где я должен взять именно 1С.

    bagrinho, 08 Февраля 2020

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

    +1

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

    pahalovo, 05 Ноября 2019

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Функция УбратьПробел(стрЧисло)
    	//убирает пустой пробел
    	нСтр = "";
    	Для п=1 По СтрДлина(стрЧисло) Цикл
    		р = Сред(стрЧисло,п,1);
    		Если р = "1" ИЛИ р = "2" ИЛИ р = "3" ИЛИ р = "4" ИЛИ р = "5" ИЛИ р = "6" ИЛИ р = "7" ИЛИ р = "8" ИЛИ р = "9" ИЛИ р = "0" ИЛИ р = "," Тогда
    			нСтр = нСтр+р;
    		КонецЕсли;
    	КонецЦикла;
    	Возврат нСтр;
    КонецФункции

    Senior

    sandvich, 30 Октября 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Выборка = Запрос.Выполнить.Выбрать();
    Пока Выборка.Следующий() цикл
      Петух = Выборка.Хуй;
      Прервать;
    конеццикла;

    классика

    3oJIoTou_xyu, 29 Октября 2019

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