Пакетный запрос, на выборку главную группировку номенклатуры

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. nogik 14.03.13 17:56 Сейчас в теме
Добрый день помогите разобраться с проблемой, из регистра бухгалтерии получаю остатки товара, но есть сложность надо выводить первую группировку товара, то есть без подгрупп. Написал пакетный запрос, в временной таблице получаю родителя, но не знаю как связать полученный родитель номенклатуры с остатками номенклатуры чтобы выводило нужное поле.

ВЫБРАТЬ
Номенклатура.Наименование КАК Родитель
ПОМЕСТИТЬ Номенклатура
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Родитель = &Родитель
;

////////////////////////////////////////////////////////////­////////////////////

ВЫБРАТЬ
ХозрасчетныйОстатки.Субконто1.Наименование КАК Наименование,
ХозрасчетныйОстатки.Субконто1.Артикул КАК Артикул,
ХозрасчетныйОстатки.КоличествоОстаток,
Номенклатура.Родитель
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, , &Субконто, ) КАК ХозрасчетныйОстатки,
Номенклатура КАК Номенклатура

Связи не указывал пока вывод бред, меня интересует вопрос, могу ли я выяснить главную группу, если не известен уровень вложенности?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
60. laduk 15 14.03.13 23:15 Сейчас в теме
(50) nogik, еще один рабочий вариант:
 Запрос1=Новый Запрос;
    Запрос1.Текст="ВЫБРАТЬ
                  |    ХозрасчетныйОстатки.Субконто1 КАК Ссылка,
                  |    СУММА(ХозрасчетныйОстатки.КоличествоОстаток) КАК Остаток,
                  |    ХозрасчетныйОстатки.Субконто1.Родитель КАК Родитель
                  |ИЗ
                  |    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В ИЕРАРХИИ (&Счет), , ) КАК ХозрасчетныйОстатки
                  |
                  |СГРУППИРОВАТЬ ПО
                  |    ХозрасчетныйОстатки.Субконто1";
    
    Запрос1.УстановитьПараметр("Счет",ПланыСчетов.Хозрасчетный.ТоварыНаСкладе);
    ЗАпрос1.УстановитьПараметр("Дата",ТекущаяДата());
    
    
      
    Табл=Запрос1.Выполнить().Выгрузить();
    
    Для Каждого СтрОстаток из Табл Цикл
        
       Родитель=СТрОстаток.Ссылка.Родитель;
            Пока Родитель.Уровень()>0 Цикл 
               Родитель=Родитель.Родитель;
                
            КонецЦикла;
       СтрОстаток.Родитель=Родитель;
   КонецЦикла;
   
   Табл.ВыбратьСтроку();
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. tolyan_ekb 80 14.03.13 18:37 Сейчас в теме
(1) nogik, наверно я чего-то не понял. Как родитель может дать остатки?
8. deniseek77 86 14.03.13 18:39 Сейчас в теме
(7) tolyan_ekb, Ему не нужны остатки по номенклатуре из групп, которые подчинены выбранной группе
10. nogik 14.03.13 18:43 Сейчас в теме
(7) tolyan_ekb, мне нужны остатки по номенклатуре но если есть Группа главная например Группа 1, затем идёт подгруппа Группа 2, и в этой группе есть номенклатура соответственно у это номенклатуры будет родитель Группа 2, а мне нужна эта номенклатура только чтобы у неё родитель был главный то есть Группа 1.
2. nogik 14.03.13 18:24 Сейчас в теме
Если запросом не получается, можно как-то в цикле по запросу до определить главного родителя и добавить его в ДеревоЗначений?
3. laduk 15 14.03.13 18:30 Сейчас в теме
Как то сложно, почему не выбрать сразу:
ВЫБРАТЬ 
ХозрасчетныйОстатки.Субконто1.Родитель КАК Группа, 
 
Сумма(ХозрасчетныйОстатки.КоличествоОстаток) Как Остаток, 
Номенклатура.Родитель 
ИЗ 
РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, , &Субконто, ) КАК ХозрасчетныйОстатки, 
Номенклатура КАК Номенклатура Группировать ХозрасчетныйОстатки.Субконто1.Родитель 
6. nogik 14.03.13 18:35 Сейчас в теме
(3) laduk, потому что есть подгруппы номенклатуры, которые не нужны.
4. deniseek77 86 14.03.13 18:32 Сейчас в теме
ВЫБРАТЬ
Номенклатура.Наименование КАК Родитель
ПОМЕСТИТЬ Номенклатура

ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Родитель = &Родитель
И НЕ Номенклатура.ЭтоГруппа

Вот, так получите только элементы из папки Родитель, потом привязывайте не по родителю, а именно по элементам из родителя (элементы без групп)
9. nogik 14.03.13 18:40 Сейчас в теме
(4) deniseek77, немного не понял, в приведёном запросе я получаю номенклатуру без групп, а помещаю её временную таблицу, а потом связать её с регистром остатки? А где у меня будет отображаться главная группа?
11. deniseek77 86 14.03.13 18:43 Сейчас в теме
(9) nogik, Группы тоже попадают, точнее наименования групп, так как в таблице Номенклатура у вас выбираются Наименования
12. nogik 14.03.13 18:47 Сейчас в теме
(11) deniseek77, в этом запросе что вы написали вообще ничего не отбирает у меня), параметр &Родитель я поставил для определения списка главных групп. Получается условия противоречат Номенклатура.Родитель = &Родитель
И НЕ Номенклатура.ЭтоГруппа
5. laduk 15 14.03.13 18:34 Сейчас в теме
А если по синтаксису, то:
ВЫБРАТЬ
	ХозрасчетныйОстатки.Субконто1.Родитель,
	СУММА(ХозрасчетныйОстатки.КоличествоОстаток) КАК КоличествоОстаток
ИЗ
	РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В Иерархии (&Счет), , ) КАК ХозрасчетныйОстатки

СГРУППИРОВАТЬ ПО
	ХозрасчетныйОстатки.Субконто1.Родитель
13. deniseek77 86 14.03.13 18:48 Сейчас в теме
ВЫБРАТЬ
	Номенклатура.Ссылка
ПОМЕСТИТЬ Вт_Номенклатура
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	Номенклатура.Родитель = &Родитель
	И НЕ Номенклатура.ЭтоГруппа
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ХозрасчетныйОстатки.Субконто1.Артикул КАК Артикул,
	ХозрасчетныйОстатки.КоличествоОстаток,
	Вт_Номенклатура.Ссылка,
	ХозрасчетныйОстатки.Субконто1
ИЗ
	Вт_Номенклатура КАК Вт_Номенклатура
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, , &Субконто, ) КАК ХозрасчетныйОстатки
		ПО Вт_Номенклатура.Ссылка = ХозрасчетныйОстатки.Субконто1
Показать




Не правда, только что проверил в консоле запросов, все так, Например, естбь папка, в ней номенклатура (элелементы и папки), у меня отбирает только элементы, вот этот запрос только что проверил
14. nogik 14.03.13 18:51 Сейчас в теме
(13) deniseek77, Извините меня может я тугодум, только что в консольку загнал ваш запрос вообще нет результата, пустая таблица(
15. deniseek77 86 14.03.13 18:51 Сейчас в теме
(14) nogik, Что выбираете, как родителя? параметром?
16. nogik 14.03.13 18:53 Сейчас в теме
(15) deniseek77, у меня родителем пустое поле, я его сделал для того чтобы получить список Главных групп.
17. deniseek77 86 14.03.13 18:55 Сейчас в теме
(16) nogik, Я думал вам нужен отбор по определенной группе, по элементам этой группы получить остатки, так и делал
19. nogik 14.03.13 18:59 Сейчас в теме
(17) deniseek77, простите что ввёл вас в заблуждение мне нужны остатки по всем группам товаров, то есть ориентироваться на регистр хозрасчетный.остатки, может быть просто сделать запрос по остаткам и в цикле перебора запроса определять группу главную, только пока не знаю как реализовывать это.
18. tolyan_ekb 80 14.03.13 18:57 Сейчас в теме
ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка,
Номенклатура.Родитель
ПОМЕСТИТЬ Вт_Номенклатура
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
ХозрасчетныйОстатки.КоличествоОстаток,
ХозрасчетныйОстатки.Субконто1
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, , &Субконто, ) КАК ХозрасчетныйОстатки,
Вт_Номенклатура КАК Вт_Номенклатура
ГДЕ
ХозрасчетныйОстатки.Субконто1.Родитель В (Вт_Номенклатура.Ссылка)

Пойдет? Выбираем только верхние группы у которых нет родителя. Потом соединяем с условием, что родитель у субконто в ранее выбранной таблице.
deniseek77; +1 Ответить
20. nogik 14.03.13 19:02 Сейчас в теме
(18) tolyan_ekb, а поле родитель в итоговой таблице нет же, мне как раз это надо, чтобы таблица состояла из таких полей номенклатура, количество и главная группировка.
21. tolyan_ekb 80 14.03.13 19:11 Сейчас в теме
(20) nogik, добаить нужно ХозрасчетныйОстатки.Субконто1.Родительи в первом запросе услове на группу, я забыл добавить
ГДЕ
Номенклатура.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
И Номенклатура.ЭтоГруппа
31. tolyan_ekb 80 14.03.13 19:28 Сейчас в теме
(20) nogik, получилось с учетом дополнения в (21)?
33. nogik 14.03.13 19:32 Сейчас в теме
(31) tolyan_ekb, получилось но не совсем то что ожидалось, при выполнении запроса нет остатков номенклатуры по некоторым группам, если делаю просто выборку по остатку, то этот товар есть, а после выполнения вашего запроса этого товара нет(
22. laduk 15 14.03.13 19:11 Сейчас в теме
(18) вообще не пойдет для общего случая, да и зачем выбирать заведомо пустое значение Номенклатура.Родитель в виртуальную таблицу ?
24. tolyan_ekb 80 14.03.13 19:13 Сейчас в теме
(22) laduk, чтобы выбрать группы первого уровня
25. tolyan_ekb 80 14.03.13 19:14 Сейчас в теме
(22) laduk, у меня запрос работает. Что значит для общего случая?
28. laduk 15 14.03.13 19:18 Сейчас в теме
(25) Ваш запрос не решает задачу поскольку не выводит : Родитель1Уровня, Остаток
и не может это сделать.
30. tolyan_ekb 80 14.03.13 19:25 Сейчас в теме
(28) laduk, на чем основывается данное утверждение?
36. laduk 15 14.03.13 19:35 Сейчас в теме
(28) на том что в первой таблице у вас получится Таблица элементов первого уровня, а как вы проверите что Субконто1 принадлежит конкретному элементу этой таблицы ?
я отвечу - никак.
Для того что б проверить Вам необходимо пробежаться по таблице которую получили и проверить принадлежит или нет для каждого значения.

Ваш второй запрос проверяет что Субконто1 принадлежит Всей таблице первого уровня.
42. tolyan_ekb 80 14.03.13 19:53 Сейчас в теме
(36) laduk, я сдела дополнение в (21) теперь во временную таблицу выбираются группы. Во втором запросе проверятеся, что родитель нмоенклатуры входит в спсико групп из временной таблицы. В демо базе работает, в моей базе работает.
Вы утверждаете - никак. Странно
43. laduk 15 14.03.13 19:58 Сейчас в теме
(42) ну входит он в список групп и что из этого, на какой вопрос дает ответ, то что остаток входит в СПИСОК групп ?
как вы на основании этого укажете конкретную группу первого уровня в которую входит номенклатура ?
44. tolyan_ekb 80 14.03.13 20:19 Сейчас в теме
(43) laduk, конкретная группа указывается в параметрах, если нужно. В (19) сказано, что по конкретной группе не нужно выбирать. В запросе выбираются все группы.
45. laduk 15 14.03.13 20:50 Сейчас в теме
(44) даже если я не прав и задаче не предполагает вывода списка групп 1 первого уровня с остатками по ним, то все равно Ваш запрос не будет работать если в справочнике больше 3 уровней вложенности.
46. nogik 14.03.13 21:19 Сейчас в теме
(45) laduk, мне не нужно выводить остатки по группам главным, задача состоит в выводе остатков по номенклатуре.
48. laduk 15 14.03.13 21:37 Сейчас в теме
(46) я чет вообще тогда не понял, какой результат должен быть ?
одна строка в которой указано количество остаток ?
47. nogik 14.03.13 21:21 Сейчас в теме
(44) tolyan_ekb, у меня почему-то не вся номенклатура по остаткам идёт, у вас правильно отрабатывает ваш запрос?
23. laduk 15 14.03.13 19:13 Сейчас в теме
(0) Вам обязательно запросом это сделать ?
26. laduk 15 14.03.13 19:16 Сейчас в теме
Можно выбрать две таблицы в первую родителей 0 уровня:
ВЫБРАТЬ 
Номенклатура.Ссылка КАК Группа

ПОМЕСТИТЬ Родители 
ИЗ 
Справочник.Номенклатура КАК Номенклатура 
ГДЕ 
Номенклатура.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) И  Номенклатура.ЭтоГруппа=Истина 
Показать

Во вторую остатки:
ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто1.Родитель,
    СУММА(ХозрасчетныйОстатки.КоличествоОстаток) КАК КоличествоОстаток
ИЗ

    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В Иерархии (&Счет), , ) КАК ХозрасчетныйОстатки

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстатки.Субконто1.Родитель
Показать
29. nogik 14.03.13 19:18 Сейчас в теме
(26) laduk, а что мне даст то что я 2 запроса сделаю? Как мне склеить их в ДеревеЗначений?
27. laduk 15 14.03.13 19:16 Сейчас в теме
Выполнить пакет пробежать Вложенным циклом Первой второй таблице проверяя на "В иерархии"
32. laduk 15 14.03.13 19:29 Сейчас в теме
Синтаксис не проверял, но алгоритм рабочий
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ 
Номенклатура.Ссылка КАК Группа,
0 как Остаток
ИЗ 
Справочник.Номенклатура КАК Номенклатура 
ГДЕ 
Номенклатура.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) И  Номенклатура.ЭтоГруппа=Истина ;

Запрос1=Новый Запрос;
ЗАпрос1.Текст="ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто1.Родитель Как Ссылка,
    СУММА(ХозрасчетныйОстатки.КоличествоОстаток) КАК Остаток
ИЗ

    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В Иерархии (&Счет), , ) КАК ХозрасчетныйОстатки

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстатки.Субконто1.Родитель;

Запрос1.УстановитьПараметр("Счет",Счет);
ЗАпрос1.УстановитьПараметр("Дата",Дата);


ТаблРодителей=Запрос.Выполнить.Выгрузить();

Выборка=Запрос1.Выполнить.Выбрать();
Пока Выборка.Следующий() Цикл
Для каждого Стр из ТаблРодителей Цикл
    Если Выборка2.Ссылка.ПринадлежитЭлементу(Стр.Группа) Тогда 
 Стр.Остаток=Стр.Остаток+Выборка.Остаток;
КонецЦикла;
КонецЦикла; 
Показать
34. nogik 14.03.13 19:33 Сейчас в теме
(32) laduk, сейчас проверю и отпишусь обязательно.
35. nogik 14.03.13 19:35 Сейчас в теме
(32) laduk, такой вопрос, а что мне в параметр Счет передавать не совсем понятно?
37. laduk 15 14.03.13 19:36 Сейчас в теме
(35) Счет это счет учета на котором ведутся товарные остатки, в общем случае для России это Счет с кодом 41, (для Украины с кодом 28)
38. laduk 15 14.03.13 19:38 Сейчас в теме
(35) если это у Вас отчет, то выведите на форму Реквизит с типом Плансчетов.Хозрасчетный
выбирайте там счет "Товары на складах"
Если нет формы то можно написать:
 Запрос.УстановитьПараметр("Счет",ПланыСчетов.Хозрасчетный.ТоварыНаСкладах);
39. nogik 14.03.13 19:42 Сейчас в теме
(38) laduk, а где брать Если Выборка2.Ссылка.ПринадлежитЭлементу(Стр.Группа)???
40. nogik 14.03.13 19:43 Сейчас в теме
(38) laduk, чёто глазами пробежался по запросу, а где сами поля номенклатура?
41. laduk 15 14.03.13 19:48 Сейчас в теме
(40) Выборка2 это синтаксис ошибка, дложно быть Выборка
Номеменклатура это Субконто1 в Регистре бухгалтерии для товарных счетов, для убыстрения берем сразу Родителя
Так цикл будет намного меньше
49. laduk 15 14.03.13 21:43 Сейчас в теме
Если же вам нужно прост вывести по Выбранной группе остаток, то тут вообще все просто:
ВЫБРАТЬ
	СУММА(ХозрасчетныйОстатки.КоличествоОстаток) КАК КоличествоОстаток,
	&Родитель
ИЗ
	РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК ХозрасчетныйОстатки
ГДЕ
	ХозрасчетныйОстатки.Субконто1 В ИЕРАРХИИ(&Родитель)
50. nogik 14.03.13 21:54 Сейчас в теме
(49) laduk, мне нужно чтобы выводило 3 столбца 1 номенклатура, 2 количество отсаток, 3 родитель 1 уровня вот такая таблица
51. deniseek77 86 14.03.13 22:08 Сейчас в теме
(50) nogik, Консоли запросов нет под рукой сейчас, идея такая: 1) Номенклатура- получаем запросом- принцип такой " Где Номенклатура.Родитель.Родитель=Значение(Справочник.Номенклатура.пустаяСсылка)" 2) Группа, которой принадлежит номенклатура "Номенклатура.Родитель.Наименование" 3) Запрос- я писал как получить, ссылку получаете параллельно 1 пункту
52. laduk 15 14.03.13 22:17 Сейчас в теме
(50) Это можно решить несколькими способами:
1) Немного переформатировав мой алгоритм:
	Запрос=Новый Запрос;
	Запрос.Текст="ВЫБРАТЬ
	|	Номенклатура.Ссылка КАК Группа
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	Номенклатура.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
	|	И Номенклатура.ЭтоГруппа = ИСТИНА";
	
	Запрос1=Новый Запрос;
	Запрос1.Текст="ВЫБРАТЬ
	              |	ХозрасчетныйОстатки.Субконто1 КАК Ссылка,
	              |	СУММА(ХозрасчетныйОстатки.КоличествоОстаток) КАК Остаток,
	              |	ХозрасчетныйОстатки.Субконто1.Родитель КАК Родитель
	              |ИЗ
	              |	РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В ИЕРАРХИИ (&Счет), , ) КАК ХозрасчетныйОстатки
	              |
	              |СГРУППИРОВАТЬ ПО
	              |	ХозрасчетныйОстатки.Субконто1";
	
	Запрос1.УстановитьПараметр("Счет",ПланыСчетов.Хозрасчетный.ТоварыНаСкладе);
	ЗАпрос1.УстановитьПараметр("Дата",ТекущаяДата());
	
	
	ТаблРодителей=Запрос.Выполнить().Выгрузить();
	
	Табл=Запрос1.Выполнить().Выгрузить();
	
	Для Каждого СтрОстаток из Табл Цикл
		
		Для каждого Стр из ТаблРодителей Цикл
			Если СтрОстаток.Ссылка.ПринадлежитЭлементу(Стр.Группа) Тогда 
				СтрОстаток.Родитель=Стр.Группа;
				Прервать;
			КонецЕсли;
		КонецЦикла;
	КонецЦикла; 
	Табл.ВыбратьСтроку();
Показать
53. laduk 15 14.03.13 22:21 Сейчас в теме
(52) Справочник Номенклатура в конфигурациях 1С8 не имеет ограничения по уровням иерархии.
если их допустим не 2 как Вы предполагаете, тогда как : Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель=Значение(Справочник.Номенклатура.пустаяСсылка) ???
55. deniseek77 86 14.03.13 22:56 Сейчас в теме
(53) laduk, ему нужен 2 уровень иерархии, без групп, только элементы 2 уровня. Потом наименования групп, которым принадлежат и остатки, правда не указано по каким счетам
57. laduk 15 14.03.13 22:59 Сейчас в теме
(55) в (50) указано, что нужно и про второй уровень тут ничего...
60. laduk 15 14.03.13 23:15 Сейчас в теме
(50) nogik, еще один рабочий вариант:
 Запрос1=Новый Запрос;
    Запрос1.Текст="ВЫБРАТЬ
                  |    ХозрасчетныйОстатки.Субконто1 КАК Ссылка,
                  |    СУММА(ХозрасчетныйОстатки.КоличествоОстаток) КАК Остаток,
                  |    ХозрасчетныйОстатки.Субконто1.Родитель КАК Родитель
                  |ИЗ
                  |    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В ИЕРАРХИИ (&Счет), , ) КАК ХозрасчетныйОстатки
                  |
                  |СГРУППИРОВАТЬ ПО
                  |    ХозрасчетныйОстатки.Субконто1";
    
    Запрос1.УстановитьПараметр("Счет",ПланыСчетов.Хозрасчетный.ТоварыНаСкладе);
    ЗАпрос1.УстановитьПараметр("Дата",ТекущаяДата());
    
    
      
    Табл=Запрос1.Выполнить().Выгрузить();
    
    Для Каждого СтрОстаток из Табл Цикл
        
       Родитель=СТрОстаток.Ссылка.Родитель;
            Пока Родитель.Уровень()>0 Цикл 
               Родитель=Родитель.Родитель;
                
            КонецЦикла;
       СтрОстаток.Родитель=Родитель;
   КонецЦикла;
   
   Табл.ВыбратьСтроку();
Показать
62. nogik 14.03.13 23:58 Сейчас в теме
(60) laduk, вот этот вариант больше всего подходит завтра выйду на работу протестирую, у меня более сложная задача стоит, мне надо это всё в Дерево значений запихнуть, а потом по COM подключится ещё к 2 базам получить оттуда остатки и их добавить в Дерево значений чтобы вывести общий отчёт по базам, для чего именно нужна была первый уровень группировки, после вывода отчёта будет формироваться списание остатков по формуле и надо будет по брендам списывать, а бренды это уровень группировки 1 как-то так.
63. laduk 15 15.03.13 00:20 Сейчас в теме
(62) Проще конечно "Бренды" вести отдельным справочником, по примеру "Номенклатурных групп" - суть та же или хотя б "Свойством", это если будет возможность немного оптимизировать структуру.
65. nogik 15.03.13 14:50 Сейчас в теме
(60) laduk, спасибо за помощь этот вариант перебора подошёл.
54. deniseek77 86 14.03.13 22:54 Сейчас в теме
ВЫБРАТЬ
	Номенклатура.Ссылка,
	Номенклатура.Наименование,
	Номенклатура.Родитель.Родитель,
	Номенклатура.Родитель КАК Группа,
	Номенклатура.Артикул
ПОМЕСТИТЬ Вт_Номенклатура
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	Номенклатура.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
	И НЕ Номенклатура.Ссылка.ЭтоГруппа
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ХозрасчетныйОстатки.КоличествоОстаток,
	Вт_Номенклатура.Ссылка,
	ХозрасчетныйОстатки.Субконто1,
	Вт_Номенклатура.Группа,
	Вт_Номенклатура.Артикул
ИЗ
	Вт_Номенклатура КАК Вт_Номенклатура
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, , &Субконто, ) КАК ХозрасчетныйОстатки
		ПО Вт_Номенклатура.Ссылка = ХозрасчетныйОстатки.Субконто1
Показать
56. laduk 15 14.03.13 22:57 Сейчас в теме
(54) еще раз "намекаю": справочнике Номенклатура нет ограничения по количеству вложенных групп
58. laduk 15 14.03.13 23:02 Сейчас в теме
А вообще, корректно поставленный вопрос это уже половина ответа :-)
59. deniseek77 86 14.03.13 23:12 Сейчас в теме
(58) laduk, То есть я опять не понял? Ему нужны остатки по всей номенклатуре, а имена групп самого верха, для отображения в каких папках лежат? Поясните, если так...
61. laduk 15 14.03.13 23:17 Сейчас в теме
(59) deniseek77,
Как мне кажется, именно так (но наверное не имена групп, а ссылки на группы).
64. tolyan_ekb 80 15.03.13 08:15 Сейчас в теме
Насколько я понял. Нужно вывести все остатки, но в качестве родителя выводить группу первого уровня, даже если товар из группы 10й вложенности.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот