Имя: Пароль:
1C
1С v8
Как получить все элементы Справочника Номенклатура?
0 Rizhij_Nikitos
 
30.08.11
09:58
Здравствуйте! Нужно из справочника Номенклатура выгрузить все элементы, но запрос у меня выходят тока те элементы которые лежат в двух больших группа, в более мелких не лежат. Например
Группа 1
Подгруппа1
 ЭлементПодгруппы1
Подгруппа2
 ЭлементПодгруппы2
ЭлементГруппы1
Группа 2
Подгруппа1
 ЭлементПодгруппы11
Подгруппа2
 ЭлементПодгруппы21
ЭлементГруппы2

В результате запрос выдает тока два элемента, ЭлементГруппы1,ЭлементыГруппы2. Что я делаю не так, или не учел?
Вот мой запрос:
       Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    СправочникНоменклатура.ЕдиницаИзмерения КАК Упаковка,
                  |    СвободныеОстатки.ВНаличии КАК ОстатокНаСкладе,
                  |    СправочникНоменклатура.Ссылка КАК Номенклатура,
                  |    ХарактеристикиНоменклатуры.Ссылка КАК Характеристика,
                  |    СправочникНоменклатура.ЭтоГруппа
                  |ИЗ
                  |    РегистрНакопления.СвободныеОстатки КАК СвободныеОстатки
                  |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
                  |        ПО СвободныеОстатки.Номенклатура = СправочникНоменклатура.Ссылка
                  |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
                  |        ПО СвободныеОстатки.Характеристика = ХарактеристикиНоменклатуры.Ссылка" ;
Выборка = Запрос.Выполнить().Выбрать();
1 Axel2009
 
30.08.11
10:00
нужно к справочнику номенклатуре через левое соединение присоединять свободные остатки
2 Wobland
 
30.08.11
10:01
(0) это потому что в регистре у тебя не вся номенклатура. см(1)
3 Rizhij_Nikitos
 
30.08.11
10:21
Запрос.Текст = "ВЫБРАТЬ
                  |    СправочникНоменклатура.ЕдиницаИзмерения КАК Упаковка,
                  |    СвободныеОстатки.ВНаличии КАК ОстатокНаСкладе,
                  |    СправочникНоменклатура.Ссылка КАК Номенклатура,
                  |    ХарактеристикиНоменклатуры.Ссылка КАК Характеристика
                  |ИЗ
                  |    РегистрНакопления.СвободныеОстатки КАК СвободныеОстатки
                  |        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
                  |        ПО СвободныеОстатки.Номенклатура = СправочникНоменклатура.Ссылка
                  |        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
                  |        ПО СвободныеОстатки.Характеристика = ХарактеристикиНоменклатуры.Ссылка
                  |ГДЕ
                  |    СправочникНоменклатура.ЭтоГруппа = &ЭтоГруппа" ;
Вот так сделал, щас че то их больше в разы стало...
4 Wobland
 
30.08.11
10:22
Достижения (опыт):    Профессионал по 8.1 платформе  
мдя...
справочник слева, регистр справа. левое соединение
5 Rizhij_Nikitos
 
30.08.11
10:28
Извинитие, но этот профиль, не один человек использует, я его позаимстсвовал. И Извиняюсь, я кинул не тот код, вот окончательный вариант, вроде похоже на правду...
Запрос.Текст = "ВЫБРАТЬ
                  |    СправочникНоменклатура.ЕдиницаИзмерения КАК Упаковка,
                  |    СвободныеОстатки.ВНаличии КАК ОстатокНаСкладе,
                  |    СправочникНоменклатура.Ссылка КАК Номенклатура,
                  |    СвободныеОстатки.Характеристика.Ссылка КАК Характеристика
                  |ИЗ
                  |    Справочник.Номенклатура КАК СправочникНоменклатура
                  |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки КАК СвободныеОстатки
                  |        ПО СправочникНоменклатура.Ссылка = СвободныеОстатки.Номенклатура.Ссылка
                  |ГДЕ
                  |    СправочникНоменклатура.ЭтоГруппа = &ЭтоГруппа" ;
                  Запрос.УстановитьПараметр("ЭтоГруппа",Ложь);
6 Rizhij_Nikitos
 
30.08.11
10:29
Но их как то существенно много стало...
7 Error pro
 
30.08.11
10:31
Существенно много по сравнению с (1) ?
8 Error pro
 
30.08.11
10:31
ой с (0)
9 lxs
 
30.08.11
10:33
Когда до дятлов дойдет, что



|    СправочникНоменклатура.ЭтоГруппа = &ЭтоГруппа" ;
Запрос.УстановитьПараметр("ЭтоГруппа",Ложь);



и




|    НЕ СправочникНоменклатура.ЭтоГруппа";



это одно и тоже?
10 Rizhij_Nikitos
 
30.08.11
10:39
(8) ну да, но вроде похоже на правду и нет повторяющихся.
(10) одно и тоже, но я щас отрабатывал момент выборки всех элементов, потом и НЕ добавил. И не надо грубить и оскорблять, я с 1С работаю около 2-х недель.
11 Error pro
 
30.08.11
10:42
(10) В регистре посмотри что у тебя. 2 недели - конечно печально.
12 Rizhij_Nikitos
 
30.08.11
10:48
Да все нормально, сравнил что выдает уже написанная вещь в УТ, примерно все совпало. ДА нет нормально, не привычно просто и все.
13 Axel2009
 
30.08.11
10:49
2 недели с 1с и уже профессионал? =)))
14 Rizhij_Nikitos
 
30.08.11
10:49
в Принципе можно тему закрывать. Для тех кому интересно будет и кто будет искать, вот так выбираются все элементы в справочнике с иерархией групп и элементов.
   Запрос.Текст = "ВЫБРАТЬ
                  |    СправочникНоменклатура.ЕдиницаИзмерения КАК Упаковка,
                  |    СвободныеОстатки.ВНаличии КАК ОстатокНаСкладе,
                  |    СправочникНоменклатура.Ссылка КАК Номенклатура,
                  |    СвободныеОстатки.Характеристика.Ссылка КАК Характеристика
                  |ИЗ
                  |    Справочник.Номенклатура КАК СправочникНоменклатура
                  |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки КАК СвободныеОстатки
                  |        ПО СправочникНоменклатура.Ссылка = СвободныеОстатки.Номенклатура.Ссылка
                  |ГДЕ
                  |    (НЕ СправочникНоменклатура.ЭтоГруппа)";
15 hhhh
 
30.08.11
10:51
(12) вот за это

ПО СправочникНоменклатура.Ссылка = СвободныеОстатки.Номенклатура.Ссылка

СвободныеОстатки.Характеристика.Ссылка КАК Характеристика


в средние века сразу сжигали на костре, а потом головешки еще сажали на кол. Пиши по-человечески

ПО СправочникНоменклатура.Ссылка = СвободныеОстатки.Номенклатура

и

СвободныеОстатки.Характеристика КАК Характеристика