|
Открыть форму выбора групп справочника с отбором | ☑ | ||
---|---|---|---|---|
0
Zoommer
12.06.12
✎
03:21
|
Подскажите, пожалуйста, как в 8.1 сделать открытие формы выбора групп справочника с отбором по реквизиту? ВидТовара это реквизит на форме обработки. Надо открывать только те группы в справочнике Номенклатура, у которых такой реквизит
Форма=Справочники.Номенклатура.ПолучитьФормуВыбораГруппы(); Форма.Отбор.Ссылка.ВидНоменклатуры=ВидТовара; Форма.Отбор.Ссылка.Использование = Истина; ВыбГруппа=Форма.ОткрытьМодально(); Почему вот так не работает? Ошибка Поле объекта не обнаружено (ВидНоменклатуры) |
|||
1
Zoommer
12.06.12
✎
03:30
|
Ссылка это что такое?
Надо программно открыть форму выбора |
|||
2
Zoommer
12.06.12
✎
05:18
|
в формеВыбораГруппы нет реквизита ВидНоменклатуры
Если сделать вот так Форма=Справочники.Номенклатура.ПолучитьФормуВыбора(); Форма.Отбор.ВидНоменклатуры.Установить(ВидТовара); ВыбГруппа=Форма.ОткрытьМодально(); То открываются группы справочника все и отбор все равно не устанавливается |
|||
3
Zoommer
12.06.12
✎
05:27
|
Форма=Справочники.Номенклатура.ПолучитьФормуВыбора();
Форма.Отбор.ВидНоменклатуры.Установить(ВидТовара); Форма.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = ложь; Форма.ЭлементыФормы.СправочникСписок.ИзменятьИерархическийПросмотр = ложь; Вот так открывается форма выбора и отбор дейстует. А как сделать, если наоброт надо чтобы только группы отображались и чтобы тоже действовал отбор? Для группы справочника тоже задан реквизит ВидНоменклатуры |
|||
4
rphosts
12.06.12
✎
05:45
|
а если что-то типа как так:
ПараметрыФормы = Новая Cтруктура; ПараметрыФормы.Добавить("Отбор", Новый Структура("ЭтоГруппа",Истина)); ОткрытьФорму("Спарвочник.Номенклатура.ФормаСписка",ПараметрыФормы); |
|||
5
Zoommer
12.06.12
✎
05:50
|
Форма=Справочники.Номенклатура.ПолучитьФормуВыбора();
Форма.Отбор.ЭтоГруппа.Установить (Истина); Форма.Отбор.ВидНоменклатуры.Установить(ВидТовара); Форма.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = ложь; Форма.ЭлементыФормы.СправочникСписок.ИзменятьИерархическийПросмотр = ложь; Вот так получилось все |
|||
6
Zoommer
12.06.12
✎
05:50
|
может как-то красивее можно конечно
|
|||
7
rphosts
12.06.12
✎
05:56
|
точно! ещё и установить нужно!
|
|||
8
Zoommer
12.06.12
✎
20:15
|
Подскажите еще, пожалуйста, как установить отбор в списке? Для одного значения работает, а как сделать, если надо чтобы несколько значений было?
Не отбирает, показывает все Процедура ДоговорНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Список1=Новый СписокЗначений; Список1.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком); Список1.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером); ФормаВыбора= Справочники.ДоговорыКонтрагентов.ПолучитьФормуВыбора(,Элемент); ФормаВыбора.Отбор.ВидДоговора.ВидСравнения = ВидСравнения.ВСписке; ФормаВыбора.Отбор.ВидДоговора.Значение = Список1; ФормаВыбора.Отбор.Владелец.Установить (Поставщик); ФормаВыбора.ОткрытьМодально(); КонецПроцедуры |
|||
9
Zoommer
13.06.12
✎
00:47
|
Все получилось.
А еще вопрос. Если надо сделать отбор по рекзиту тип Дата - показывать только если дата больше или равна текущей или пустая, т.е. не заполнена, то какой вид сравнения делать? Если вСписке, то как список сделать? |
|||
10
rphosts
13.06.12
✎
03:18
|
в 8.2 что-бы наложить 2 условия - нужно добаввить группу И а потом условия. Но это в 8.2, в 8.1. возможно этого и нет, проверить можно и по СП, для 8.2:
КоллекцияЭлементовОтбораКомпоновкиДанных (DataCompositionFilterItemCollection) Добавить (Add) Синтаксис: Добавить(<Тип>) Параметры: <Тип> (обязательный) Тип: Тип. Тип добавляемого элемента. Элементами коллекции могут быть ЭлементОтбораКомпоновкиДанных, ГруппаЭлементовОтбораКомпоновкиДанных. и т.д. обращаю внимание на тип - там есть группа! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |