Имя: Пароль:
1C
 
УФ. Регистр сведений на форме обработки. Отбор.
, ,
0 spiller26
 
05.07.18
11:39
Есть самописная конфа.
РС "Квотирование" (независимый, непериодический)
Измерения: "СтрокаИД", "Номенклатура", "Квотер"
Ресурсы: КолвоПредложено, ЦенаЗакупка, ЦенаПродажи
Делаю обработку в самой конфе для обработки квот.
На форме реквизиты:
"Квотер" = СправочникСсылка.Пользователи
"Квотирование" = РегистрСведенийНаборЗаписей.Квотирование (Основной реквизит)
При выборе "Квотер'а" не могу осуществить отбор, видно все записи РС.
Пробовал и на сервере и на клиенте. Как делать отбор в таких случаях?

Квотирование.Отбор.Квотер.Значение = Квотер;
Квотирование.Отбор.Квотер.ВидСравнения = ВидСравнения.Равно;
Квотирование.Отбор.Квотер.Использование = Истина;
1 Lexey_
 
05.07.18
11:41
(0) "Квотирование.Отбор.Квотер.Значение = Квотер"
типы левой и правой части равенства совпадают?
2 spiller26
 
05.07.18
11:42
(1) Естественно
3 sechs
 
05.07.18
11:48
> РегистрСведенийНаборЗаписей
А перечитывать его по установленным отборам Александр Сергеевич будет?
4 spiller26
 
05.07.18
11:51
(3) Может использовать Динамический список?
5 sechs
 
05.07.18
11:54
(4) Понятия не имею. Это вообще-то ты от него чего хочешь, как-то обрабатывать, что-то заприсывать и как-то обновлять.

Впрочем, есть подозрение, что ты путаешь РегистрСведенийНаборЗаписей и РегистрСведенийСписок
6 spiller26
 
05.07.18
12:08
(4) Динамическим не вариант, т.к. он отрывает отдельное окно редактирования.
7 DrShad
 
05.07.18
12:12
(6) смотри как в типовых реализовано
8 spiller26
 
05.07.18
12:22
(7) Например?
9 DrShad
 
05.07.18
12:27
(8) например демонические списки там сплошь и рядом и все  отлично работает
10 spiller26
 
05.07.18
12:31
Всё сам написал.

    НаборФорма = Квотирование;
    Набор = ДанныеФормыВЗначение(НаборФорма, Тип("РегистрСведенийНаборЗаписей.Квотирование"));
    Набор.Отбор.СтрокаИД.Установить(пТекСтрокаИД);
    Набор.Прочитать();
    ЗначениеВДанныеФормы(Набор, НаборФорма);
11 spiller26
 
05.07.18
12:32
&НаКлиенте
Процедура СписокПредложенийПриАктивизацииСтроки(Элемент)
    
    Если Элементы.ГруппаПозицияКвотирование.Видимость Тогда
        ТекСтрокаИД = Элемент.ТекущиеДанные.СтрокаИД;
        СписокПредложенийПриАктивизацииСтрокиНаСервере(ТекСтрокаИД);
    КонецЕсли;
    
КонецПроцедуры

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

КонецПроцедуры
12 sechs
 
05.07.18
12:34
Вызов контекстного серверного метода при активизации строки. Умничка.
Ждем следущую тему.
13 spiller26
 
05.07.18
13:03
(12) Ну блесните знаниями сами то.
14 spiller26
 
05.07.18
13:10
(12) Вот тебе без контекста

&НаКлиенте
Процедура СписокПредложенийПриАктивизацииСтроки(Элемент)
    
    Если Элементы.ГруппаПозицияКвотирование.Видимость Тогда
        ТекСтрокаИД = Элемент.ТекущиеДанные.СтрокаИД;
        ОснРеквизит = Квотирование;
        СписокПредложенийПриАктивизацииСтрокиНаСервереБезКонтекста(ОснРеквизит, ТекСтрокаИД);
        КопироватьДанныеФормы(ОснРеквизит, Квотирование);
    КонецЕсли;
    
КонецПроцедуры

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