|
Получить данные в разрезе номенклатуры | ☑ | ||
---|---|---|---|---|
0
Nerevar86
27.03.23
✎
14:51
|
Добрый вечер, форумчане.
Есть запрос, не подскажите можно ли его исправить так, чтобы я получил данные в разрезе номенклатуры? ВЫБРАТЬ ХозрасчетныйОбороты.Субконто1 КАК Номенклатура, ХозрасчетныйОбороты.КоличествоОборотКт КАК КоличествоОборотКт ПОМЕСТИТЬ ДанныеПродаж ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&H, &K, , Счет = &Счет90_01_2, &Номенклатура, , КорСчет = &КорСчет62p, ) КАК ХозрасчетныйОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДанныеПродаж.Номенклатура КАК Номенклатура, ДанныеПродаж.КоличествоОборотКт КАК Продано, СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура КАК Материал, СпецификацииНоменклатурыИсходныеКомплектующие.Количество КАК Количество ИЗ ДанныеПродаж КАК ДанныеПродаж ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие ПО (ДанныеПродаж.Номенклатура = СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.Владелец) |
|||
1
Сергиус
26.03.23
✎
00:49
|
(0)Что под этим подразумеваете? Сейчас вроде по номенклатуре и выводит)
|
|||
2
eddy_n
26.03.23
✎
07:54
|
У тебя сейчас каша из номенклатуры и "материалов". Не хватает в итоговом запросе Итоги ПО Номенклатура
|
|||
3
Nerevar86
26.03.23
✎
11:25
|
(2) у меня задача получить материалы номенклатуры, которые были затрачены при продаже. Я вот думаю немного не так данные получил.Что-то лишнее) Просто мне потом это нужно в иерархическое дерево делать на форме.
|
|||
4
eddy_n
26.03.23
✎
12:30
|
Лишнее - сразу отсекай, не пригодится.
|
|||
5
Nerevar86
26.03.23
✎
12:48
|
(4) https://screenshare.ru/s/KdCXtR6ZmouEXmagJAwMAo
у меня консоль так выдает, а мне значение Продано нужно в в главную строку. |
|||
6
Злопчинский
26.03.23
✎
12:55
|
я в запросах на восьмерке ноль, но имхается что сгруппировать по номенклатуре
|
|||
7
eddy_n
26.03.23
✎
13:01
|
Кстати,заставил задуматься - а бывают ли неирархические деревья?
|
|||
8
eddy_n
26.03.23
✎
13:05
|
Тогда для начала видоизмени запрос Сумма(Продано) По ОБЩИЕ
|
|||
9
eddy_n
26.03.23
✎
13:12
|
Но мне почему-то представляется, что этого будет мало, поэтому сразу:
Сумма(Продано) По Номенклатура, Материал, ОБЩИЕ |
|||
10
Волшебник
26.03.23
✎
13:50
|
(6) Здесь нужно добавить агрегатные функции для предложения ИТОГИ
|
|||
11
Злопчинский
26.03.23
✎
13:53
|
(7) неиерархические деревья = это типа камыш... или рогоза
|
|||
12
Волшебник
26.03.23
✎
14:06
|
(7) бывают графы, которые можно хранить в структуре типа ДеревоЗначений, но связи между вершинами могут позволять иметь несколько родителей и даже циклы
|
|||
13
eddy_n
26.03.23
✎
16:07
|
(12) Изначально подумалось - Теория графов наверное, но мысль озвучивать не стал.
|
|||
14
Nerevar86
27.03.23
✎
12:52
|
(13) Ну получилось что-то такое но тут проблема с оптимальностью запроса, потому что через толку делать это жесть сколько неявных соединений...Как бы оптимизировать, чтобы у меня выборка изначально ограничивалась по родителю.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОбороты.Субконто1 КАК Номенклатура, | ХозрасчетныйОбороты.КоличествоОборотКт КАК КоличествоОборотКт |ПОМЕСТИТЬ ДанныеПродаж |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&H, &K, , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыручкаЕНВД), &Номенклатура, Субконто1.Родитель.Родитель В (&гНапитки), КорСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРозничнымиПокупателями), ) КАК ХозрасчетныйОбороты |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВЫБОР | КОГДА СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.Владелец.Родитель.Родитель.Родитель = &Пустой | ТОГДА СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.Владелец | КОНЕЦ КАК Номенклатура, | СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура КАК Материал, | СпецификацииНоменклатурыИсходныеКомплектующие.Количество * ДанныеПродаж.КоличествоОборотКт КАК Количество |ИЗ | Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие, | ДанныеПродаж КАК ДанныеПродаж |ГДЕ | СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.Владелец = ДанныеПродаж.Номенклатура |ИТОГИ | МАКСИМУМ(Количество) |ПО | Номенклатура ИЕРАРХИЯ"; Запрос.УстановитьПараметр("H", Период.ДатаНачала); Запрос.УстановитьПараметр("K", Период.ДатаОкончания); гНапитки = Новый Массив; гНапитки.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Горячие напитки")); гНапитки.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Горячие напитки Все")); Запрос.УстановитьПараметр("гНапитки", гНапитки); Запрос.УстановитьПараметр("Номенклатура", ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура); Запрос.УстановитьПараметр("Пустой", Справочники.Номенклатура.ПустаяСсылка()); |
|||
15
Nerevar86
27.03.23
✎
12:54
|
Субконто1.Родитель.Родитель В (&гНапитки) вот это вот конструкция очень сильно мешает производительности запроса... Так что я бы хотел получать не все уровни в иерархии,а только определенный уровень номенклатуры. Есть номенклатура, а у нее есть комплектующие, вот мне нужно что-то вроде Номенклатура = Родитель, Комплектующие = Ребенок)
|
|||
16
ИУБиПовиц
27.03.23
✎
14:22
|
Предварительно во временную таблицы получите элементы которую хотите использовать в субконто1 и потом соединением или условие В(запрос к этой врем ), и субконто 1 же наверное выразить надо?
|
|||
17
Nerevar86
27.03.23
✎
17:23
|
(16) Вы имеете в виду через ВЫРАЗИТЬ() вместо использования условия ПланаВидовХарактеристик?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |