|
УФ: отбор в форме справочника по владельцу | ☑ | ||
---|---|---|---|---|
0
katerinaUniv
18.11.14
✎
15:30
|
Доброго времени суток!
У меня не получается установить отбор по владельцу, выводит ошибку на строке кода, в которой устанавливаю левое значение. В чем ошибка? |
|||
1
katerinaUniv
18.11.14
✎
15:31
|
элементОтбора = Список.Отбор.Элементы.Добавить(Тип("СправочникСсылка.АГС_Суда"));
элементОтбора.ЛевоеЗначение = Список.Отбор.ДоступныеПоляОтбора.НайтиПоле("Владелец").Поле; элементОтбора.ВидСравнения = ВидСравнения.Равно; элементОтбора.ПравоеЗначение = этотОбъект.АГС_СудноОтбор; элементОтбора.Использование = Истина; |
|||
2
Fish
18.11.14
✎
15:33
|
А где ты этот код пишешь?
|
|||
3
katerinaUniv
18.11.14
✎
15:38
|
(2)на клиенте
|
|||
4
katerinaUniv
18.11.14
✎
15:38
|
нужно на сервере?
|
|||
5
olegves
18.11.14
✎
15:39
|
(1) можно проще: Открыть свойства ДС - Настройка списка Открыть, далее перейти на закладку Отбор и дважды кликнуть на поле Владелец, потом снять флаг использование - закрыть форму и сохранить
ЭлементОтбора = Список.Отбор.Элементы[0]; //здесь настроить Использование и Правое значение и всё |
|||
6
katerinaUniv
18.11.14
✎
15:41
|
(5) на форме есть поле, в которое пользователь выбирает элемент справочника АГС_Суда. По этому полю должен быть установлен отбор у справочника (по полю Владелец)
|
|||
7
katerinaUniv
18.11.14
✎
15:43
|
(5) (6) поняла. это сохранится у пользователя?
|
|||
8
olegves
18.11.14
✎
15:43
|
(6) вставишь текст (5) в модуль команды твоего поля ПриИзменении, дополнив строкой:
Элементы.Список.Обновить(); |
|||
9
sapphire
18.11.14
✎
15:44
|
(1)
ДоступныеПоляКомпоновкиДанных (DataCompositionAvailableFields) НайтиПоле (FindField) Синтаксис: НайтиПоле(<Поле>) Параметры: <Поле> (обязательный) Тип: ПолеКомпоновкиДанных. Поле системы компоновки данных |
|||
10
antoneus
18.11.14
✎
15:44
|
СвязиПараметровВыбора? ПараметрыВыбора?
|
|||
11
sapphire
18.11.14
✎
15:45
|
элементОтбора = Список.Отбор.Элементы.Добавить(Тип("СправочникСсылка.АГС_Суда"));
элементОтбора.ЛевоеЗначение = Список.Отбор.ДоступныеПоляОтбора.Элементы.НайтиПоле("Владелец").Поле; элементОтбора.ВидСравнения = ВидСравнения.Равно; элементОтбора.ПравоеЗначение = этотОбъект.АГС_СудноОтбор; элементОтбора.Использование = Истина; |
|||
12
sapphire
18.11.14
✎
15:47
|
+(11)
элементОтбора = Список.Отбор.Элементы.Добавить(Тип("СправочникСсылка.АГС_Суда")); элементОтбора.ЛевоеЗначение = Список.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Владелец").Поле; // Здесь просто найти элементОтбора.ВидСравнения = ВидСравнения.Равно; элементОтбора.ПравоеЗначение = этотОбъект.АГС_СудноОтбор; элементОтбора.Использование = Истина; |
|||
13
katerinaUniv
18.11.14
✎
15:47
|
(12) спасибо!!!
|
|||
14
katerinaUniv
18.11.14
✎
15:48
|
такие вещи писать правильно на клиенте, так?
|
|||
15
olegves
18.11.14
✎
15:49
|
(7) если ты для реквизита формы (Владелец) проставишь соотв.флаг в свойствах
|
|||
16
sapphire
18.11.14
✎
15:50
|
(1) Смотрите, Вы ищете по полю, а надо по идентфикатору поля:
Ваш вариант: Список .Отбор .ДоступныеПоляОтбора .НайтиПоле("Владелец") // Вызовет ошибку, т.к ожидается поле в качестве параметра, а Вы передаете идентификатор Правильно: .Отбор .ДоступныеПоляОтбора .Элементы //КоллекцияДоступныхПолейКомпоновкиДанных .Найти("Владелец") // Возвращаемое значение: //Тип: ДоступноеПолеКомпоновкиДанных; //ДоступноеПолеОтбораКомпоновкиДанных; Неопределено. .Поле |
|||
17
olegves
18.11.14
✎
15:51
|
(14) ПриИзменении выполняется на клиенте
|
|||
18
olegves
18.11.14
✎
15:51
|
этотОбъект - это что за хрень?
|
|||
19
katerinaUniv
18.11.14
✎
15:52
|
(18)как правильно получить значение поля с формы при изменении? раньше я б написала элемент.значение
|
|||
20
olegves
18.11.14
✎
15:53
|
+ (18) для поля на форме д.б. создан реквизит формы с типом Владельца справочника - его и подставлять в правое значение
|
|||
21
sapphire
18.11.14
✎
15:54
|
(19) Просто Объект.АГС_СудноОтбор
|
|||
22
olegves
18.11.14
✎
15:56
|
(21) нет, просто АГС_Судно (реквизит формы)
|
|||
23
sapphire
18.11.14
✎
15:57
|
(22) Смотря откуда вызывать
|
|||
24
katerinaUniv
18.11.14
✎
16:02
|
в итоге решила и без отборов, но если нужно будет сделать это программно, то теперь знаю, как. спасибо!
|
|||
25
antoneus
18.11.14
✎
16:05
|
Отбор по владельцу в 2 щелчка мыши делается вроде как. Или я путаю что?
http://i.imgur.com/4pkcnZo.jpg |
|||
26
olegves
18.11.14
✎
17:02
|
(25) это если он нужен всегда, а если надо отключаемый, то через реквизит формы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |