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


1С:Предприятие ::

Метки: 

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

Я
   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
Ап! :(



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