|   |   | 
| 
 | Получить данные в разрезе номенклатуры | ☑ | ||
|---|---|---|---|---|
| 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) Вы имеете в виду через ВЫРАЗИТЬ() вместо использования условия ПланаВидовХарактеристик?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |