Бухгалтерия / Говнокод #9334 Ссылка на оригинал

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
Если Сумма25<>0 Тогда
				с25=Сумма25/Итог("Материалы")*Материалы;
			КонецЕсли; 
			Если Сумма26<>0 Тогда
				с26=Сумма26/Итог("Материалы")*Материалы;
			КонецЕсли;
			Если Сумма60<>0 Тогда
				с60=Сумма60/Итог("Материалы")*Материалы;
			КонецЕсли; 
			Если Сумма691<>0 Тогда
				с691=Сумма691/Итог("Материалы")*Материалы;
			КонецЕсли; 
			Если Сумма692<>0 Тогда
				с692=Сумма692/Итог("Материалы")*Материалы;
			КонецЕсли; 
			Если Сумма6921<>0 Тогда
				с6921=Сумма6921/Итог("Материалы")*Материалы;
			КонецЕсли; 
			Если Сумма6922<>0 Тогда
				с6922=Сумма6922/Итог("Материалы")*Материалы;
			КонецЕсли; 

			Если Сумма693<>0 Тогда
				с693=Сумма693/Итог("Материалы")*Материалы;
			КонецЕсли; 
			Если Сумма6931<>0 Тогда
				с6931=Сумма6931/Итог("Материалы")*Материалы;
			КонецЕсли; 
			Если Сумма6932<>0 Тогда
				с6932=Сумма6932/Итог("Материалы")*Материалы;
			КонецЕсли; 
			Если Сумма694<>0 Тогда
				с694=Сумма694/Итог("Материалы")*Материалы;
			КонецЕсли; 
			Если Сумма695<>0 Тогда
				с695=Сумма695/Итог("Материалы")*Материалы;
			КонецЕсли;
			Если Сумма70<>0 Тогда
				с70=Сумма70/Итог("Материалы")*Материалы;
			КонецЕсли; 
			Если Сумма97<>0 Тогда
				с97=Сумма97/Итог("Материалы")*Материалы;
			КонецЕсли;

glavdir glavdir, (Updated )

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

Бухгалтерия / Говнокод #9333 Ссылка на оригинал

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
ВыполнениеОплаченнойУслугиТранспорт="1";  // выполнение Услуги
ВыполнениеОплаченнойУслугиОплатаТруда="2";  // выполнение Услуги
ВыполнениеОплаченнойУслугиОтчисления="3";  // выполнение Услуги
ВыполнениеОплаченнойУслугиАрендаОС="4";  // выполнение Услуги
ВыполнениеОплаченнойУслугиАмортизацияОС="5";  // выполнение Услуги
ВыполнениеОплаченнойУслугиРемонтОС="6";  // выполнение Услуги
ВыполнениеОплаченнойУслугиИзносМБП="7";  // выполнение Услуги
ВыполнениеОплаченнойУслугиТопливо="8";  // выполнение Услуги
ВыполнениеОплаченнойУслугиХранение="9";  // выполнение Услуги
ВыполнениеОплаченнойУслугиРеклама="Q";  // выполнение Услуги
ВыполнениеОплаченнойУслугиПроценты="W";  // выполнение Услуги
ВыполнениеОплаченнойУслугиПотери="E";  // выполнение Услуги
ВыполнениеОплаченнойУслугиТара="R";  // выполнение Услуги
ВыполнениеОплаченнойУслугиПрочие="T";  // выполнение Услуги
ВыполнениеОплаченнойУслугиНеПринимаемые="Y";  // выполнение Услуги

НеоплаченноеВыполнениеУслугиТранспорт="!";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиОплатаТруда="@";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиОтчисления="#";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиАрендаОС="$";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиАмортизацияОС="%";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиРемонтОС="^";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиИзносМБП="&";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиТопливо="*";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиХранение="(";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиРеклама="q";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиПроценты="w";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиПотери="e";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиТара="r";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиПрочие="t";  // выполнение Услуги
НеоплаченноеВыполнениеУслугиНеПринимаемые="y";  // выполнение Услуги

Шо це такое непонятно. Но впечатление производит пугающее

glavdir glavdir, (Updated )

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

Бухгалтерия / Говнокод #9277 Ссылка на оригинал

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

Человек, написавший такой запрос явно был с перепоя. С учетом его двухлетнего опыта программирования в 1С - никогда бы на него не подумал... но факт.

Maikl_kar Maikl_kar, (Updated )

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

Бухгалтерия / Говнокод #9216 Ссылка на оригинал

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

Конфа Бухгалтерия 2.0 - официальный код 1С. Просто нет слов.

1. Передаваемый процедуре параметр "СписокСчетов" по умолчанию имеет значение "".
2. В первом "Если" идет инициализация объекта "ФормаВыбораСчета", но в это "Если" мы попадем не всегда (п.1)
3. Ну а дальше без всякого рода сомнений происходит получение реквизита объекта, который на ура может быть неинициализированным: ПолеОтбора = ФормаВыбораСчета.Отбор.Код

1С - ты всегда будешь в нашей памяти, СЦУКО!

squeez squeez, (Updated )

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

Бухгалтерия / Говнокод #9140 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
с = 0;
Для Каждого стчТовары Из ЗаказНаряд.Товары Цикл
	нстчТовары = НоваяНалоговая.Товары.Добавить();
	нстчТовары.Номенклатура = ЗаказНаряд.Товары[с].Номенклатура;
	нстчТовары.Количество = ЗаказНаряд.Товары[с].Количество;
	нстчТовары.Цена = ЗаказНаряд.Товары[с].Цена; 
	...
	нстчТовары.СуммаВсего = ЗаказНаряд.Товары[с].СуммаВсего;
	с = с + 1;
КонецЦикла;

Ни шагу без счетчика! Особенно в итераторе. =)

zfilin zfilin, (Updated )

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

Бухгалтерия / Говнокод #8435 Ссылка на оригинал

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
// Функция для склонения одного слова!!!
// z1 - само слово
// z2 - номер падежа
// z3 - пол
// z4 - 1-склонять как фамилию, 2-имя, 3-отчество
Функция ПадежС(z1,Знач z2=2,Знач z3="*",z4=0) Экспорт
	z5=Найти(z1,"-"); z6=?(z5=0,"","-"+ПадежС(Сред(z1,z5+1,СтрДлина(z1)-z5+1),z2,z3,z4)); z1=НРег(?(z5=0,z1,Лев(z1,z5-1))); z7=Прав(z1,3);z8=Прав(z7,2);z9=Прав(z8,1);
	z5=СтрДлина(z1); za=Найти("ая ия ел ок яц ий па да ца ша ба та га ка",z8); zb=Найти("аеёийоуэюяжнгхкчшщ",Лев(z7,1)); zc=Макс(z2,-z2); zd=?(za=4,5,Найти("айяь",z9));
	zd=?((zc=1)или(z9=".")или((z4=2)и(Найти("оиеу"+?(z3="ч","","бвгджзклмнпрстфхцчшщъ"),z9)>0))или((z4=1)и(Найти("мия мяэ лия кия жая лея",z7)>0)),9,?((zd=4)и(z3="ч"),2,?(z4=1,?(Найти("оеиую",z9)+Найти("их ых аа еа ёа иа оа уа ыа эа юа яа",z8)>0,9,?(z3<>"ч",?(za=1,7,?(z9="а",?(za>18,1,6),9)),?(((Найти("ой ый",z8)>0)и(z5>4)и(Прав(z1,4)<>"опой"))или((zb>10)и(za=16)),8,zd))),zd)));
	ze=Найти("лец вей бей дец пец мец нец рец вец аец иец ыец бер",z7);
	zf=?((zd=8)и(zc<>5),?((zb>15)или(Найти("жий ний",z7)>0),"е","о"),?(z1="лев","ьв",?((Найти("аеёийоуэюя",Сред(z1,z5-3 ,1))=0)и((zb>11)или(zb=0))и(ze<>45),"",?(za=7,"л",?(za=10,"к",?(za=13,"йц",?(ze=0,"",?(ze<12,"ь"+?(ze=1,"ц",""),?(ze<37,"ц",?(ze<49,"йц","р"))))))))));
	zf=?((zd=9)или((z4=3)и(z3="ы")),z1,Лев(z1,z5-?((zd>6)или(zf<>""),2,?(zd>0,1,0)))+zf+СокрП(Сред("а у а "+Сред("оыые",Найти("внч",z9)+1,1)+"ме "+?(Найти("гжкхш",Лев(z8,1))>0,"и","ы")+" е у ойе я ю я ем"+?(za=16,"и","е")+" и е ю ейе и и ь ьюи и и ю ейи ойойу ойойойойуюойойгомуго"+?((zf="е")или(za=16)или((zb>12)и(zb<16)),"и","ы")+"мм",10*zd+2*zc-3,2)));
Возврат ?(""=z1,"",?(z4>0,ВРег(Лев(zf,1))+?((z2<0)и(z4>1),".",Сред(zf,2)),zf)+z6);
КонецФункции

шедевр, кстати!

Cthulhu Cthulhu, (Updated )

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

Бухгалтерия / Говнокод #8386 Ссылка на оригинал

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
Функция МесяцПрописью()
	
	М = Месяц(КонПериода);
	П = "";
	Если М = 1 Тогда П = "январь"
	ИначеЕсли 
		М = 2 Тогда П = "февраль"
	ИначеЕсли 
		М = 3 Тогда П = "март"
	ИначеЕсли 
		М = 4 Тогда П = "апрель"
	ИначеЕсли 
		М = 5 Тогда П = "май" 
	ИначеЕсли 
		М = 6 Тогда П = "июнь"
	ИначеЕсли 
		М = 7 Тогда П = "июль"
	ИначеЕсли 
		М = 8 Тогда П = "август"
	ИначеЕсли 
		М = 9 Тогда П = "сентябрь"
	ИначеЕсли 
		М = 10 Тогда П = "октябрь"
	ИначеЕсли 
		М = 11 Тогда П = "ноябрь"
	ИначеЕсли 
		М = 12 Тогда П = "декабрь"
	КонецЕсли;
	
	Возврат П;
	
КонецФункции

Абсолютно реальный код в одном из отчетов...

pasechnik13 pasechnik13, (Updated )

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