Как задать условие, чтобы в консоль вывелись элементы текущей папки справочника?

1. user1041556 30.07.20 17:10 Сейчас в теме
Запрос = Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
             |    Номенклатура.Ссылка КАК Ссылка,
             |    Номенклатура.Код КАК Код
             |ИЗ
             |    Справочник.Номенклатура КАК Номенклатура";
               Рез = Запрос.Выполнить();
               Выб = Рез.Выбрать();
               СЗ = Новый СписокЗначений;
               Пока Выб.Следующий() Цикл
               СЗ.Добавить(Выб.Ссылка);
			   Сообщить  (Выб.Ссылка);
               КонецЦикла;
Показать


Код исполняется в форме списка в справочнике номенклатура.
Сообщить (Выб.Ссылка) - выведет в консоль названия элементов всей номенклатуры.
Как задать условие, чтобы в консоль вывелись элементы текущей папки?
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 30.07.20 17:12 Сейчас в теме
|ГДЕ Ссылка В ИЕРАРХИИ(&ТекущаяПапкаВНоменклатуре)
3. user1041556 30.07.20 17:20 Сейчас в теме
(2)
|ГДЕ Ссылка В ИЕРАРХИИ(&ТекущаяПапкаВНоменклатуре)

Как задать текущую папку?
У меня ошибка:
{Справочник.Номенклатура.Форма.ФормаСписка.Форма(12)}: Ошибка при вызове метода контекста (Выполнить)
               Рез = Запрос.Выполнить();
по причине:
{(6, 23)}: Не задано значение параметра "ТекущаяПапкаВНоменклатуре"
ГДЕ Ссылка В ИЕРАРХИИ(<<?>>&ТекущаяПапкаВНоменклатуре)
4. RustamZz 30.07.20 17:24 Сейчас в теме
(3) Что-нибудь читали про запросы или сразу на амбразуру? Вместо … нужно значение указать.
 Запрос.УстановитьПараметр("ТекущаяПапкаВНоменклатуре",...);
5. user1041556 30.07.20 17:30 Сейчас в теме
(4)
Запрос.УстановитьПараметр

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущаяПапкаВНоменклатуре",
        Справочники.Номенклатура.НайтиПоКоду("000009728")
    );
Запрос.Текст="ВЫБРАТЬ
             |    Номенклатура.Ссылка КАК Ссылка,
             |    Номенклатура.Код КАК Код
             |ИЗ
             |    Справочник.Номенклатура КАК Номенклатура
             |ГДЕ Ссылка В ИЕРАРХИИ(&ТекущаяПапкаВНоменклатуре)";
               Рез = Запрос.Выполнить();
               Выб = Рез.Выбрать();
               СЗ = Новый СписокЗначений;
               Пока Выб.Следующий() Цикл
               СЗ.Добавить(Выб.Ссылка);
			   Сообщить  (Выб.Код);
               КонецЦикла;
Показать

Так работает, спасибо. Но тут я указал явно НайтиПоКоду("000009728")
А как всё же выполнять для текущей папки?
6. Student1C 43 30.07.20 17:31 Сейчас в теме
(5) что для вас текущая папка?
7. user1041556 30.07.20 17:34 Сейчас в теме
8. Student1C 43 30.07.20 17:38 Сейчас в теме
(7) я так понимаю это не типовое табличное поле?
получается требуется запросом получить ее содержимое и куда то выводить?
9. user1041556 30.07.20 17:43 Сейчас в теме
(8) Кратко задумка такая:
Есть элементы справочника, у них есть реквизит (справочник цвет).
Хочу пользовательский фильтр сделать.
Чтобы в фильтр попадали только те значения, которые присуще элементам в конкретной папке.
Вручную добавлять их можно и это работает, но я хочу, чтобы значения фильтра сами заполнялись,
для этого мне нужно понимать - в какой мы сейчас в папке.
не типовое табличное поле ? Я думаю типовое же -код и наименование, не?
10. Student1C 43 30.07.20 18:13 Сейчас в теме
(9) ну вот, при заходе определяешь текущую группу и ссылку на нее передаешь в параметр запроса
11. user1041556 30.07.20 18:20 Сейчас в теме
(10) Определяю сейчас так, но наверное это не верно, хотя работает.
ЭлементыФормы.СправочникСписок.ТекущийРодитель.Код
12. Student1C 43 31.07.20 10:37 Сейчас в теме
(11) вот так получше будет
Запрос.УстановитьПараметр("ТекущаяПапкаВНоменклатуре", ЭлементыФормы.СправочникСписок.ТекущийРодитель)
Оставьте свое сообщение
Вопросы с вознаграждением