Вход | Регистрация



УФ: Открыть форму с отбором

УФ: Открыть форму с отбором
Я
   dft2014
 
11.10.17 - 14:39
8.3, Управляемые формы

В документе "ВедомостьВБанк" есть реквизит "ЗарплатныйПроект" (тип реквизита - одноименный справочник). Из реквизита "ЗарплатныйПроект", на управляемой форме, надо открыть форму выбора проектов с отбором по списку конкретных проектов. У реквизита "ЗарплатныйПроект" прописала событие "НачалоВыбора" (ниже код), но не срабатывает, выдает ошибку "Ожидается выражение "ВЫБРАТЬ".

&НаСервере
Функция ПолучитьПроект()
    
    Список = Новый СписокЗначений;
    Список.Добавить("Сбербанк");
    Список.Добавить("Альфа");
    
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.УстановитьПараметр("ВыбПроекты", Список);
    
    ТекстЗапроса = 
    "ВЫБРАТЬ
    |    ЗарплатныеПроекты.Ссылка КАК Ссылка
    |ИЗ
    |    Справочник.ЗарплатныеПроекты КАК ЗарплатныеПроекты
    |ГДЕ
    |    ЗарплатныеПроекты.Наименование В(&ВыбПроекты)";
    
    СписокПроектов = Новый СписокЗначений;
    СписокПроектов.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));//вот здесь ошибку выдает

    Возврат СписокПроектов;
    
КонецФункции 


&НаКлиенте
Процедура ЗарплатныйПроектНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    Проекты = ПолучитьПроект();
    ЗначениеОтбора  = Новый Структура("Тип", Проекты);
    ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);   
    ОткрытьФорму("Справочник.ЗарплатныеПроекты.ФормаСписка", ПараметрыВыбора);
    
КонецПроцедуры
 
 
   Numerus Mikhail
 
1 - 11.10.17 - 14:41
Запрос.Текст = ТекстЗапроса;
   dft2014
 
2 - 11.10.17 - 15:55
(1) Спасибо, ошибка из (0) ушла. Но теперь стал ругаться на строчку ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора) из:

&НаКлиенте
Процедура ЗарплатныйПроектНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    Проекты = ПолучитьПроект();
    ЗначениеОтбора  = Новый Структура("Тип", Проекты);
    ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);   
    ОткрытьФорму("Справочник.ЗарплатныеПроекты.ФормаСписка", ПараметрыВыбора);
    
КонецПроцедуры


Ругается: "Ошибка при установке значения атрибута контекста (ПараметрыВыбора)".
   Numerus Mikhail
 
3 - 11.10.17 - 15:58
(2) ПараметрыВыбора - системное поле, если мне не изменяет память. Назовите как-нибудь по-другому
   dezss
 
4 - 11.10.17 - 16:09
(0) и еще не плоди контекстных серверных вызовов, тем более, если контекст вообще не используется...
   dft2014
 
5 - 11.10.17 - 16:37
(3) Заменила ПараметрыВыбора на ЗначВыбора, теперь ошибок не выдается, но и отбора никакого не происходит. Открывается весь справочник "ЗарплатныеПроекты", только в верхнем левом углу светится надпись:
"Дополнительные условия 
Тип документа: Сбербанк; Альфа"

Непонимаю, откуда появилось это Дополнительное условие на тип документа?! Мне нужен отбор по двум записям справочника "ЗарплатныеПроекты"!!!
   Numerus Mikhail
 
6 - 11.10.17 - 16:39
(5)     ЗначениеОтбора  = Новый Структура("Тип", Проекты);
Так сами же делаете отбор по типу?
   dft2014
 
7 - 11.10.17 - 16:59
(6) Значит я где-то ошибаюсь, мне нужен отбор тоько по двум записям справочника "ЗарплатныеПроекты". Т.е. из реквизита "ЗарплатныйПроект", на управляемой форме документа, мне надо открыть форму выбора проектов с отбором по списку конкретных проектов. А вместо этого у меня происходит отбор по типу документа?!
   dft2014
 
8 - 11.10.17 - 17:10
Убрала отбор по типу, все равно отбор не происходит:

&НаКлиенте
Процедура ЗарплатныйПроектНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    Проекты = ПолучитьПроект();
    //    ЗначениеОтбора  = Новый Структура("Тип", Проекты);  //убрала

    ЗначВыбора = Новый Структура("Отбор", Проекты);   
    ОткрытьФорму("Справочник.ЗарплатныеПроекты.ФормаСписка", ЗначВыбора);
    
КонецПроцедуры
   dft2014
 
9 - 11.10.17 - 17:11
Открывается весь справочник "ЗарплатныеПроекты".
   _Дайвер_
 
10 - 11.10.17 - 17:16
(9) Ты хочешь программный отбор вывести или просто на форму добавить быстрый отбор по конкретному реквизиту?
 
 Рекламное место пустует
   mxs089
 
11 - 11.10.17 - 17:18
(0) тысяча дементоров, никогда, слышишь, никогда не используй метод Выгрузить без надобности!!!
   mxs089
 
12 - 11.10.17 - 17:21
(0) тысяча дементоров, еще и поиск по наименованию!!!
   mxs089
 
13 - 11.10.17 - 17:24
(8) тысяча дементоров, ты свои проекты тупо кинула в отбор, нужно было просто переименовать переменную ПараметрыВыбора на МояПеременнаяСОтборами!!!
   mxs089
 
14 - 11.10.17 - 17:25
   yalex
 
15 - 11.10.17 - 17:29
Процедура ЗарплатныйПроектНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    фиксНастройки = Новый НастройкиКомпоновкиДанных;
 
    эОтбор = фиксНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    эОтбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ответственный");
    эОтбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
    эОтбор.ПравоеЗначение = ПолучитьПроект();
    эОтбор.Применение = ТипПримененияОтбораКомпоновкиДанных.Элементы;
    эОтбор.Использование = Истина;
        
    Параметры = Новый Структура;    
    Параметры.Вставить("ФиксированныеНастройки", фиксНастройки);
    
    ОткрытьФорму("Справочник.ЗарплатныеПроекты.ФормаСписка", Параметры);
    
КонецПроцедуры
   yalex
 
16 - 11.10.17 - 17:31
Конечно, Вместо  
эОтбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ответственный");
Нужно:
 эОтбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Тип");
   dft2014
 
17 - 11.10.17 - 17:59
(15) Спасибо, но теперь стал ругаться на строчку:
Параметры = Новый Структура
выдает ошибку:
"Поле объекта недоступно для записи (Параметры)"
   Fedor-1971
 
18 - 11.10.17 - 18:09
(17) Параметры замени на ПередаваемыеПараметры
Книжку какю-нить по УФ почитай для повышения общей образованности
   dft2014
 
19 - 12.10.17 - 10:34
HELP!!!
   yalex
 
20 - 12.10.17 - 10:37
(19) Так подсказали ведь в (18) - переименовать название структуры "Параметры" в "ПараметрыОтбора" например
   dft2014
 
21 - 12.10.17 - 10:45
(20) Спасибо. Заменила в коде (15) параметры на ПараметрыОтбора, теперь ошибки не выдает, но открывается пустой справочник "ЗарплатныеПроекты".
   yalex
 
22 - 12.10.17 - 11:02
(21) Уже хорошо:) Остальное дело техники.
Нужно смотреть что возарщает ПолучитьПроекты(), по тому ли реквизиту отбирает в форме выбора
   dft2014
 
23 - 12.10.17 - 15:15
HELP!!! HELP!!! HELP!!!
   vicof
 
24 - 12.10.17 - 15:46
Истеричка
   dft2014
 
25 - 12.10.17 - 16:32
(24) сама такая!
   dft2014
 
26 - 12.10.17 - 18:29
UP!!!
   dft2014
 
27 - 13.10.17 - 10:37
Ап! :(


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует