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

Отбор специфик запросом и последующий выбор в форме выбора

Автор AzamatMCMLXXXV, 11 июн 2012, 12:12

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

AzamatMCMLXXXV

Добрый день,
есть иерархический двухуровневый справочник «Специфики» с реквизитами: «ЗаработнаяПлата», «ТМЗ», «Услуги» (тип у всех реквизитов - Булево) и предопределенными группами и элементами:
1. гр. «110 – Оплата труда»
- эл. «111 - Оплата труда»
2. гр. «130 – Приобретение товаров»
- эл. «135 – Приобретение, пошив и ремонт предметов вещевого имущества»
- эл. «139 – Приобретение прочих товаров»
3. гр. «140 – Приобретение работ и услуг»
- эл. «141 – Коммунальные услуги»
- эл. «142 – Услуги связи»
- эл. «149 – Прочие услуги и работы»
в форме элемента размещены элементы управления «Флажок»: «ЗаработнаяПлата», «ТМЗ», «Услуги» (данные реквизитов) .
в документе «ПоступлениеТМЗ» в реквизите «Специфика» (тип «СправочникСсылка.Специфики») табличной части «Товары» необходимо реализовать выбор только тех специфик с учетом иерархии, для которых реквизит «ТМЗ» установлен в значение «истина».

В форме документа:

Процедура ТоварыСпецификиНачалоВыбора(Элемент, СтандартнаяОбработка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|   Специфики.Ссылка КАК Ссылка,
|   Специфики.Родитель КАК Родитель,
|   Специфики.ТМЗ
|ИЗ
|   Справочник.Специфики КАК Специфики
|ГДЕ
|   Специфики.ТМЗ = ИСТИНА
|
|СГРУППИРОВАТЬ ПО
|   Специфики.Родитель,
|   Специфики.Ссылка,
|   Специфики.ТМЗ
|
|УПОРЯДОЧИТЬ ПО
|   Родитель,
|   Ссылка";
Результат = Запрос.Выполнить().Выбрать();
Список = Новый СписокЗначений;
Пока Результат.Следующий() Цикл
   Список.Добавить(Результат.Ссылка);
КонецЦикла;
ФормаВыбора = Справочники.Специфики.ПолучитьФормуВыбора("ФормаВыбора", Элемент);
ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
ФормаВыбора.Отбор.Ссылка.Значение = Список;
ФормаВыбора.Отбор.Ссылка.Использование = Истина;
ФормаВыбора.Открыть();
Сообщить(Список);
СтандартнаяОбработка = Ложь;
КонецПроцедуры
Перечень элементов отображается в окне сообщений, но отбор не осуществляется, почему?





sergeevds

ФормаВыбора = Справочники.Специфики.ПолучитьФормуВыбора("ФормаВыбора", Элемент);
ФормаВыбора.СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
ФормаВыбора.СправочникСписок.Отбор.Ссылка.Значение = Список;
ФормаВыбора.СправочникСписок.Отбор.Ссылка.Использование = Истина;
ФормаВыбора.Открыть();

Попробуй так.


Теги:

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

Рейтинг@Mail.ru

Поиск