|
|
|
УФ: отбор в форме справочника по владельцу | ☑ | ||
|---|---|---|---|---|
|
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) это если он нужен всегда, а если надо отключаемый, то через реквизит формы
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |