|
Параметры выбора у реквизита. Сделать отбор по коду при открытии формы. | ☑ | ||
---|---|---|---|---|
0
synapce
23.08.21
✎
19:17
|
Всем привет.
Есть форма списка справочника "Детали". Иерархический справочник. И есть у него группа "Радиодетали" с кодом ММ-000341. Мне нужно сделать отбор при открытии - чтобы попадались только эти радиодетали. Указал в параметрах выбора Отбор.Код(ММ-000341) По факту - при открытии формы он мне выводит этот единственный элемент без дочерних элементов внутри. Пробовал по родителю подобное - не выводит элементов вообще. Как правильно сделать отбор в таком случае?( 1С Бухгалтерия 3.0 |
|||
1
Chameleon1980
23.08.21
✎
19:22
|
отбор дс в иерархии
|
|||
2
synapce
23.08.21
✎
19:25
|
(1) а где именно ставить, подскажете?
|
|||
3
Chameleon1980
23.08.21
✎
19:26
|
а где вы пытаетесь свой отбор установить?
|
|||
4
synapce
23.08.21
✎
19:26
|
(3) в конфигураторе свойства элементы формы
|
|||
5
synapce
23.08.21
✎
19:28
|
(3) свойство реквизита. В Форме Выбора - указываю нужную мне форму выбора и в параметрах выбора указываю отбор
|
|||
6
Chameleon1980
23.08.21
✎
19:29
|
||||
7
Chameleon1980
23.08.21
✎
19:31
|
||||
8
Chameleon1980
23.08.21
✎
19:32
|
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка
|
|||
9
acht
23.08.21
✎
19:37
|
(0) > Пробовал по родителю подобное - не выводит элементов вообще.
Показывай код или скриншот настроек |
|||
10
synapce
23.08.21
✎
19:49
|
(9) показать, увы, не могу, рабочая база. Делаю не кодом - средствами платформы.
В момент срабатывания отбора - показывается только вот, один элемент - наименование группы Радиодетали с нужным мне кодом, без дочерних элементов |
|||
11
acht
23.08.21
✎
19:53
|
(10) "ММ-000341" - это строка. Если ты ставшишь отбор по Код = строка, то это и будет ровно один элемент. Тот у которого код равен строке. Если ты ставишь отбор по Родитель = строка, то не будет ни одного элемента, потому что ссылка строке никогда не равна.
|
|||
12
synapce
23.08.21
✎
19:54
|
(11) получается, что так, да. А...как тогда поставить правильно? Если выбираю, соответственно, справочникссылку - он мне выводит "пустое значение" в выбор. Как этот момент обойти, чтобы нормально выводил?
|
|||
13
acht
23.08.21
✎
19:59
|
(12) Программно - найти ссылку по коду и передать ее при открытии формы через параметр Отбор в событии ПриНачалеВыбора, типа так:
СтандартнаяОбработка = Ложь; ПараметрыФормыВыбора = Новый Структура("Отбор", Новый Структура); ПараметрыФормыВыбора.Отбор.Вставить("Родитель", Справочники.Детали.НайтиПоКоду("ММ-000341"); ОткрытьФорму("Справочники.Детали.ФормаВыбора", ПараметрыФормыВыбора, Элементы.ТоЧтоВыбираем); |
|||
14
acht
23.08.21
✎
20:00
|
(12) Можно попробовать еще сделать этот элемент-родителя предпределенным, там по-моему тогда удастя его в форме выбрать. Но не уверен.
|
|||
15
synapce
23.08.21
✎
20:10
|
(14) спасибо за код, ругается в данный момент, что нет такого элемента "Открыть форму")
Я это делаю в процедуре, которая на сервере без контекста, на клиенте к справочникам нельзя обращаться. |
|||
16
acht
23.08.21
✎
20:17
|
(15) Наоборот надо.
ПараметрыФормыВыбора.Отбор.Вставить("Родитель", ПолучитьРодителяНаСервереБезКонтекста()); |
|||
17
synapce
23.08.21
✎
20:20
|
(16) стоп, стоп, можете пояснить, что в этом случае, куда вписывается?
Все, что выше нижней строчки- на сервере А нижнюю - на клиенте определяем, да? |
|||
18
synapce
23.08.21
✎
20:21
|
(16) можете плз написать, что куда относится?
|
|||
19
acht
23.08.21
✎
20:24
|
(18) Совсем молодежь плохая пошла.
&НаКлиенте Процедура ЧтоТоТамНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; СсылкаНаГруппу = ПолучитьРодителяНаСервереБезКонтекста(); ПараметрыФормыВыбора = Новый Структура("Отбор", Новый Структура); ПараметрыФормыВыбора.Отбор.Вставить("Родитель", СсылкаНаГруппу); ОткрытьФорму("Справочники.Детали.ФормаВыбора", ПараметрыФормыВыбора, Элементы.ЧтоТоТам); КонецПроцедуы &НаСервереБезКонтекста Функция ПолучитьРодителяНаСервереБезКонтекста() Возврат Справочники.Детали.НайтиПоКоду("ММ-000341"); КонецФункции |
|||
20
synapce
23.08.21
✎
20:37
|
(19) показывает в данный момент просто ничего, а скажите, что указывать в "Элементы.чТототам". Я поставил просто ",Элемент")
|
|||
21
synapce
23.08.21
✎
20:38
|
(19) вроде и вопрос элементарный, а что-то туплю жестко...
|
|||
22
acht
23.08.21
✎
21:39
|
(20) В "Элементы.ЧтоТоТам" надо указат элемент, которому прилетит событие выбора и установятся новые данные. Элемент тоже подойдет, если это поле, в котором происходит выбор.
Что возвращает Справочники.Детали.НайтиПоКоду("ММ-000341") ? |
|||
23
synapce
23.08.21
✎
21:54
|
(22) Работает в данный момент только тогда, если укажу Ссылка вместо Родитель. Тогда возвращает как раз одну строку с этим наименованием. С Родитель - просто ничего не выводит
Справочники.Детали.НайтиПоКоду("ММ-000341") - как раз возвращает ту самую строчку "Радиодетали" |
|||
24
synapce
23.08.21
✎
22:05
|
(22) Указал Родитель, затем изменил строку на
ОткрытьФорму("Справочники.Детали.ФормаВыбора", ПараметрыФормыВыбора, ЭтаФорма); - показались элементы дочерние (3 строки), но они тоже имеют своих "дочек", в данный момент они - без дочерних элементов, просто как три строки) ОТгадка где-то рядом) |
|||
25
acht
24.08.21
✎
08:53
|
(24) Оно у тебя еще и с вложенными группами...
Тогда отставить параметр формы Отбор. Кури параметр ФиксированныеНастройки. Туда надо передать настройки компоновки с установленным отбором с видом сравнения "В иерархии". |
|||
26
Вафель
24.08.21
✎
08:57
|
Нужен не отбор, а что то типа ТекущийРодитель
|
|||
27
acht
24.08.21
✎
09:02
|
(26) Это будет не отбор, а начальное позиционирование.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |