Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 17:10

Запрос

Автор PuzanovaJuli, 22 ноя 2009, 19:25

0 Пользователей и 1 гость просматривают эту тему.

Juli1000

Есть ещё один метод работы
Отобрать из справочника СекцииНаСкладе все ряды, отвечающие заданному условию (ВыбратьИерархически с указанием родителя) и запомнить их в Массив. Но я не понимаю как отобрать ВыбратьИерархически с указанием родителя(не знаю как записать это программно)


Belgafood

Цитата: PuzanovaJuli от 23 ноя 2009, 23:26

Вопрос: Как выбрать все полки из Справочника Полки принадлежащие Секции(Хранения) Сегмента(СегментаА)?
  

Плохо вопрос прочитал ) 

Вам нужны полки только у конкретной Секции, конкретного Сегмента и Ряда? Или Все Полки в Сегменте во всех рядах?
Подпись

Juli1000

все полки у конкретного Сегмента)))

Belgafood

Юля, меня сейчас жена прибьет )) Если Slin с утра не ответит сам, то я до 10 утра отвечу обязательно )) Спать хочется )
Подпись

Juli1000

я кое-что нашла тут примерчик
Перебор элементов справочника принадлежащих элементу другого справочника.
Один справочник подчинен другому справочнику, например спр. НалоговыеЛьготы подчинен спр. Сотрудники.
Сотрудники владеет НалоговыеЛьготы

выборка = Справочники.НалоговыеЛьготы.Выбрать( ,Сотрудник);
Пока выборка.Следующий() = 1 Цикл
... //действия с очередным элементом
...Сообщить("льгота " + выборка.Наименование);
КонецЦикла;

Вот только я не понимаю что здесь Сотрудник
какой это тип?

Juli1000

Окей)))))
спасибо)


Slin

Сотрудник - это конкретный элемент справочника "Сотрудники" (т.е. какой-нибудь Иванов А.А.), тип СправочникСсылка.Сотрудники

Этот пример сделан по объектной модели.
То, что я вам написал, делает то же самое, но по табличной модели - через запрос.

Теперь по коду.
Чтобы код работал правильно, нужно чтобы:
1. ТекущийСегмент должен быть конкретный элементом справочника СекцииНаСкладе (например, "Секция А") и иметь тип СправочникСсылка.СекцииНаСкладе. При этом не важно на каком уровне иерархии этот элемент находится )))
2. Этому конкретному элементу (именно ему!) должны быть подчинены элементы справочника Полки. Заметьте, это будут именно полки сегмента, а не полки ряда конкретного сегмента, т.е. владелец - не ряд сегмента, а сегмент.

Если еще будут вопросы, приведите, пожалуйста, код где вы формируете запрос, присваиваете параметр и выводите, так легче будет подсказать :)

Juli1000

Всё равно не получается :(
Вот текст запроса

ТекущийСегмент = ЭлементыФормы.ПолеВвода1.Значение; //тип справочникСсылка.Секции
Запрос = Новый Запрос;

Запрос.Текст =
"ВЫБРАТЬ
|   Полки.Ссылка
|ИЗ
|   Справочник.Полки КАК Полки
|ГДЕ
|   Полки.Владелец = &Владелец";

Запрос.УстановитьПараметр("Владелец", ТекущийСегмент);
ТЗ = Запрос.Выполнить().Выгрузить();

ЭлементыФормы.ТабличноеПоле1.Значение = ТЗ;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();


Ничего не выводит,если выбрать СекциюА(например)
А вот есть выбрать ряд,то выводит символ  - <> , но хотя бы в нужно количестве.

Juli1000

Slim,ситуация такая:
Когда в запросе я выбираю Ряд(Он стоит последним в иерархии)то полки подчинённые ему он выводит,всё замечательно.
Только вот если выбрать что-то стоящее выше по иерархии запрос уже не работает(((((ничего не выводит

Juli1000

Спасибо, DDD)))))))
мне нужно отойти,но позже я обязательно вернусь)

Теги:

Похожие темы (2)

Рейтинг@Mail.ru

Поиск