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

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
ВЫБРАТЬ
	ПродажиОбороты.Номенклатура КАК Номенклатура,
	ВЫРАЗИТЬ(ПродажиОбороты.СтоимостьОборот / ВложенныйЗапрос.Курс КАК ЧИСЛО(15, 2)) КАК Сумма,
	ЕСТЬNULL(ПродажиОбороты.Номенклатура.Родитель, &ПустаяНоменклатура) КАК Родитель1,
	ЕСТЬNULL(ПродажиОбороты.Номенклатура.Родитель.Родитель, &ПустаяНоменклатура) КАК Родитель2,
	ЕСТЬNULL(ПродажиОбороты.Номенклатура.Родитель.Родитель.Родитель, &ПустаяНоменклатура) КАК Родитель3,
	ЕСТЬNULL(ПродажиОбороты.Номенклатура.Родитель.Родитель.Родитель.Родитель, &ПустаяНоменклатура) КАК Родитель4,
	Контрагенты.Контрагент.Ссылка КАК Контрагент,
	Контрагенты.Контрагент._г_Код1С КАК КодПартнера,
1 КАК Колво
ИЗ
	(ВЫБРАТЬ
		СРЕДНЕЕ(КурсыВалют.Курс) КАК Курс
	ИЗ
		РегистрСведений.КурсыВалют КАК КурсыВалют
	ГДЕ
		КурсыВалют.Период МЕЖДУ &НачалоПериода И &КонецПериода
		И КурсыВалют.Валюта = ЗНАЧЕНИЕ(Справочник.Валюты._г_Валюта_Доллар)) КАК ВложенныйЗапрос,
	(ВЫБРАТЬ
		Контрагенты.Ссылка КАК Контрагент
	ИЗ             
		Справочник.Контрагенты КАК Контрагенты
	ГДЕ
		Контрагенты.Ссылка В(&СписокКонтрагентов)) КАК Контрагенты
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(
				&НачалоПериода,
				&КонецПериода,
				Регистратор,
				Номенклатура В ИЕРАРХИИ (&ГруппыНоменклатуры)
					И ДоговорКонтрагента.Владелец В (&СписокКонтрагентов)) КАК ПродажиОбороты 
		ПО Контрагенты.Контрагент = ПродажиОбороты.ДоговорКонтрагента.Владелец
ИТОГИ
	СУММА(Сумма),
	СУММА(Колво)
ПО
	Контрагент,
	Номенклатура,
	ЗаказПокупателя

Вот я даже ХЗ, что они пытались сделать.

Запостил: kovyl2404 kovyl2404, (Updated )

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

    • Это я только потом глянул код, который обрабатывает выборку из этого запроса. Вот там уж натуральное говно.
      Ответить
  • Номенклатура КАК Номенклатура, что докопались 😉
    Ответить
  • Кхм, не силен в гов^Wэтом диалекте SQL, но

    > ПО
    > Контрагент,
    > Номенклатура,
    > ЗаказПокупателя

    разве поле ЗаказПокупателя не должно быть в выборке? Я его вообще не нахожу.
    Ответить
    • Да я ХЗ. Даже не проверял это говно на работоспособность. Проще было с нуля написать все, что надо.
      Ответить
    • Построитель запроса схавал - после обработки выдал: ПродажиОбороты.ЗаказПокупателя.
      Ответить
  • когда я читаю сорцы на 1С, я думаю, что я уже попал в ад.
    Ответить
  • Что пытаются сделать:
    Обороты суммы по продажам за период делятся на средний курс доллара за этот же период... Изврат, в общем... Считать будет шустро, но не факт что корректно.
    К чему тут вложенный запрос по контрагентам - непонятно, можно же использовать владельца договора из регистра продажи.
    Ответить
  • Контрагенты.Контрагент._г_Код1С КАК КодПартнера

    честно же указано, что 1С код это Г
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8