1C / Говнокод #26705 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 Dudozavr, (Updated )

Комментарии (6, +6)

1C / Говнокод #26704 Ссылка на оригинал

0

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

Типовая УХ

aumsej aumsej, (Updated )

Комментарии (15, +15)

1C / Говнокод #26623 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 valchara, (Updated )

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

1C / Говнокод #26487 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 QuickMix, (Updated )

Комментарии (7, +7)

1C / Говнокод #26484 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 sandvich, (Updated )

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

1C / Говнокод #26467 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 Stipa, (Updated )

Комментарии (20, +20)

1C / Говнокод #26424 Ссылка на оригинал

0

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

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

bagrinho bagrinho, (Updated )

Комментарии (7, +7)

1C / Говнокод #26250 Ссылка на оригинал

0

  1. 1
  2. 2
Я ЕБУ СОБАК, ВСЕГДА ГОТОВ СРАЗУ ТРАХАТЬ НЕСКОЛЬКО КОТОВ
ДА Я ЗООФИЛ НЕ ГОВОРИ ЛУЧШЕ МНЕ СОБАЧЕК ПОДАРИ

Я ЕБУ СОБАК, ВСЕГДА ГОТОВ СРАЗУ ТРАХАТЬ НЕСКОЛЬКО КОТОВ
ДА Я ЗООФИЛ НЕ ГОВОРИ ЛУЧШЕ МНЕ СОБАЧЕК ПОДАРИ

xyu_100cm xyu_100cm, (Updated )

Комментарии (5, +5)