![]() |
![]() |
![]() |
|
8.2 Установка отбора в динамическом списке по новому объекту | ☑ | ||
---|---|---|---|---|
0
Ellowis
02.11.11
✎
15:55
|
Доброго времени суток.
Образовалась такая проблема: Справочник, при создании нового элемента, на форме в динамическом списке необходимо установить отбор по этому еще не записанному элементу. Делаю так: Если (Параметры.Ключ.Пустая()) Тогда ЭтотОбъект = РеквизитФормыВЗначение("Объект"); СсылкаНового = ЭтотОбъект.ПолучитьСсылкуНового(); Если НЕ ЗначениеЗаполнено(СсылкаНового) Тогда СсылкаНового = Справочники[Объект.Ссылка.Метаданные().Имя].ПолучитьСсылку(); ЭтотОбъект.УстановитьСсылкуНового(СсылкаНового); КонецЕсли; СсылкаДляОтборов = СсылкаНового; Иначе СсылкаДляОтборов = Параметры.Ключ; КонецЕсли; ЭлементОтбораДанных = СправочникУчастники.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец"); ЭлементОтбораДанных.Использование = Истина; ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбораДанных.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; ЭлементОтбораДанных.ПравоеЗначение = СсылкаДляОтборов; ЗначениеВРеквизитФормы(ЭтотОбъект, "Объект"); Отбор устанавливается, однако после записи элемента в отборе в правом значении так и остается ссылка на несуществующий объект (например: <Объект не найден> (94:b9fa002618da943311e1054654133ac9)) Я полагал, что, так как я установил для элемента ссылку нового, то при записи элемент будет иметь именно ту ссылку, которую я установил ранее. И соответственно в отборе сразу окажется записанный элемент. Но так не получилось, я неправ в логике или что-то еще нужно было сделать? |
|||
1
mikecool
02.11.11
✎
15:56
|
СсылкаНового = Справочники[Объект.Ссылка.Метаданные().Имя].ПолучитьСсылку(Новый УникальныйИдентификатор());
а так? |
|||
2
Ellowis
02.11.11
✎
16:07
|
Ничего не изменилось
|
|||
3
DmitrO
02.11.11
✎
16:08
|
Наверно объект при записи (в событии объекта) сам себе назначает ссылку нового. Т.о. он переназначает твою установку.
|
|||
4
DmitrO
02.11.11
✎
16:11
|
(3)+ Смотри событие объекта ПередЗаписью.
|
|||
5
Defender aka LINN
02.11.11
✎
16:18
|
(0) Ты установил ссылку для ДРУГОГО объекта.
|
|||
6
Defender aka LINN
02.11.11
✎
16:20
|
И вообще, на кой устанавливать отбор по несуществующему элементу?
|
|||
7
acsent
02.11.11
✎
16:22
|
ссылку нового нужно запоминать отдельно и устанавливать в процедуре
ПриЗаписиНаСервере |
|||
8
Ellowis
02.11.11
✎
16:23
|
(4) Нет, проверил - нигде более программно назначение новой ссылки не происходит
(5) Для какого другого? Не понял (6) Например: дабы не показывать записи не относящиеся к этому новому объекту |
|||
9
Ellowis
02.11.11
✎
16:24
|
(7) Т.е. полученную ссылку положить в глобальную переменную формы и при записи установить ее снова?
|
|||
10
Mort
02.11.11
✎
16:25
|
Динамический список на форме элемента это быдлячество.
|
|||
11
Ellowis
02.11.11
✎
16:30
|
(10) Спасибо за лестный отзыв.
Получается что в 1С работают быдлокодеры? |
|||
12
Mort
02.11.11
✎
16:31
|
(11) А где ты в 1С видел такое?
|
|||
13
Mort
02.11.11
✎
16:31
|
+(12) прим. телепатируя, что речь идет про типовые.
|
|||
14
Ellowis
02.11.11
✎
16:32
|
(12) Форма элемента номенклатура, динамический список показывающий единицы измерения. Последняя УПП - надеюсь типовая?
|
|||
15
Defender aka LINN
02.11.11
✎
16:34
|
(14) Там устанавливается ссылка по несуществующему элементу?
|
|||
16
Mort
02.11.11
✎
16:36
|
(14) Да есть такое. Даже в управляемую форму умудрились запихать. Там все это кодом огорожено, чтобы не показывать незаписанных элементов, и да, быдлоинтерфейс.
|
|||
17
Ellowis
02.11.11
✎
16:39
|
(15) Нет, там устанавливается отбор на пустую ссылку, однако лежит динамический список. Именно о нем говорилось в (10)
(16) А как бы сделали Вы, не былокодер конечно же? |
|||
18
Mort
02.11.11
✎
16:45
|
(18) Для просмотра списка единиц в УФ по перейти. По умолчанию создается автоматом и это удовлетворяет в 80%
|
|||
19
Ellowis
02.11.11
✎
16:57
|
(18) Остальные 20?
|
|||
20
Defender aka LINN
02.11.11
✎
17:00
|
(17) Проблема решена?
|
|||
21
Ellowis
02.11.11
✎
17:01
|
(20) Нет, пробую вариант с запоминанием ссылки
|
|||
22
Mort
02.11.11
✎
17:04
|
(19) Остальные 20 перейдут в список и напилят там, или добавляением прямо из формы элементы если совсем удобно сделать.
Мыши плакали и кололись... |
|||
23
Mort
02.11.11
✎
17:05
|
+(22) Добавлением не в список, имеется в виду.
|
|||
24
Ellowis
02.11.11
✎
17:09
|
(23) Мысль ваша мне ясна, но мне она к сожалению не подходит
|
|||
25
Mort
02.11.11
✎
17:17
|
(24) Тогда делай как в УПП. Вынеси список в закладку и не показывай его пока элемент не записан. Все равно добавлять что-то до записи элемента не получится (а если получится это будет ещё хуже).
|
|||
26
Ellowis
02.11.11
✎
17:22
|
(25) Спасибо за участие, но не я решаю как должна выглядеть форма для пользователя
Сделал как сказано в (7) |
|||
27
Mort
02.11.11
✎
17:24
|
(26) А элементы добавляются? Прикольно будет открыть форму нового, накидать туда элементов и уйти не сохраняя элемент.
|
|||
28
Defender aka LINN
02.11.11
✎
17:24
|
(26) А вот через это 50% кривого кода и заводится в конфигурациях.
|
|||
29
Ellowis
02.11.11
✎
17:32
|
(27) Нет, элементы не добавляются без записи владельца
(28) Ну не могу я спрятать этот список до записи элемента, требования такие. А соблюсти корректное отображение элементов должен. Все равно перед началом ввода элементов в это поле основной элемент будет записан. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |