![]() |
|
открыть форму списка справочника с отбором по определенной группе | ☑ | ||
---|---|---|---|---|
0
fdgd98
28.01.15
✎
15:46
|
Ребят помогите с проблемкой
Есть справочник1 с группами: гр1, гр2 в которых содержатся данные. Есть отчет у которого на форме есть поле (с типом справочникссылка на справочник1) при нажатии на который выходит форма списка справочника1. Также в форме отчета есть поле: где можно выбрать гр1 или гр2 Как открыть форму списка где будут показываться данные с группой "гр1" например? вот что примерно наделал...но это отбор делается по реквизиту (если "элементизбухгалтерии" = истина то такие элементы показывать) а вот как делается отбор по группе...не знаю |
|||
1
fdgd98
28.01.15
✎
15:48
|
СтандартнаяОбработка = ложь;
гр = Отчет.гр; результат = истина; ЗначениеОтбора = Новый Структура; ЗначениеОтбора.Вставить("ЭлементИзБухгалтерии", результат); ПараметрыВыбора = Новый Структура; ПараметрыВыбора.Вставить("Отбор", ЗначениеОтбора); Результат = ОткрытьФормуМодально("Справочник.Номенклатура.ФормаВыбора",ПараметрыВыбора, Элемент) |
|||
2
fdgd98
28.01.15
✎
15:55
|
ап
|
|||
3
ktvladimir
28.01.15
✎
15:55
|
Вы можете добавить свой параметр в структуру, а в форме выбора обработать этот параметр и изменить вид сравнения
P.S. не увлекайтесь модальными формами. Это зло |
|||
4
fdgd98
28.01.15
✎
15:58
|
(3) но как мне передать имя группы в структуру?
|
|||
5
ktvladimir
28.01.15
✎
16:13
|
да к примеру
ПараметрыВыбора.Вставить("ТекГруппа", гр); В форме выбора При создании на сервере Если Параметры.Свойство("ТекГруппа") Тогда //Проверяем наличие такого параметра ЭлементОтбораДанных= Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбораДанных.ВидСравнения = ВидСравненияОтбора; ЭлементОтбораДанных.ПравоеЗначение = ПравоеЗначение; ЭлементОтбораДанных.Использование = Истина; КонецЕсли; |
|||
6
ktvladimir
28.01.15
✎
16:16
|
да и левое значение конечно же
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Список.Ссылка"); ВидСравненияОтбора = ВидСравненияКомпоновкиДанных.ВИерархии |
|||
7
fdgd98
28.01.15
✎
16:41
|
(5) в форме выбора отчета? или справочника1?
|
|||
8
ktvladimir
28.01.15
✎
16:42
|
конечно же в форме выбора справочника
|
|||
9
fdgd98
28.01.15
✎
16:52
|
(8) смотри, что наделал я:
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Параметры.Свойство("ТекГруппа") Тогда //Проверяем наличие такого параметра ЭлементОтбораДанных= Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбораДанных.ПравоеЗначение = ПравоеЗначение; ЭлементОтбораДанных.Использование = Истина; ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Список.Ссылка"); ВидСравненияОтбора = ВидСравненияКомпоновкиДанных.ВИерархии; КонецЕсли; КонецПроцедуры что писать в правом и левом значении? |
|||
10
ktvladimir
28.01.15
✎
17:00
|
почему вид сравнения равно? тебе же вроде нужно было получить список элементов из группы?
правое значение это собственно ссылка на группу те Параметры.ТекГруппа (Если ты в отчете добавлял параметр ПараметрыВыбора.Вставить("ТекГруппа", гр); левое значение это сосбвенно описание поля по которому требуется отбор. |
|||
11
ktvladimir
28.01.15
✎
17:02
|
ВидСравненияОтбора = ВидСравненияКомпоновкиДанных.ВИерархии;
ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; лишнее поставь ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии; и... ты хоть постарайся понять, а не просто копируй.... я к примеру пишу от руки, мне часто влом лезть в конфигрутаор чтоб правильно написать синтаксис и прочее |
|||
12
Euguln
28.01.15
✎
17:02
|
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии; ЭлементОтбораДанных.ПравоеЗначение = Параметры.ТекГруппа; |
|||
13
fdgd98
28.01.15
✎
17:03
|
(10) вот с левым значением беда...
|
|||
14
ktvladimir
28.01.15
✎
17:04
|
... какая ссылка в форме выбора? у тебя есть список и реквизиты в нем посмотри на форме как называется твой список и посмотри название реквизиты по которому ты хочешь сравнение сделать
|
|||
15
ktvladimir
28.01.15
✎
17:05
|
Новый ПолеКомпоновкиДанных("Список.Ссылка"); вероятнее всего... но как у тебя называются реквизиты это только ты знаешь
|
|||
16
Адский плющ
28.01.15
✎
17:09
|
(0) Используй параметр "ФиксированныеНастройки", не мучай форму списка.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |