Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 05:09

Добавить условие при формировании списка документов

Автор kot488, 05 ноя 2018, 12:54

0 Пользователей и 1 гость просматривают эту тему.

kot488

Уважаемые гуру. можете помочь разобраться?
Имеется список документов, установлены параметры отбора что бы пользователь видел только свои документы которые едут или ему или от него. Но нужно в это поле добавить еще и те документы где пользователь является получателем платежа.
В конфигураторе насколько понимаю вот эта часть отвечает за отбор

&НаКлиенте
Процедура УстановитьПараметрыОтбораПользователя()

ЭлементыОтбора = Список.Отбор.Элементы;
ЭлементыОтбора.Очистить();

Если Не Организация.Пустая() Тогда

// Создадим группу компановки ИЛИ
ГруппаКомпоновкиОтбор = ЭлементыОтбора.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
ГруппаКомпоновкиОтбор.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
  //Отбор по отправителю
  ЭлементОтбораКурьеркаОтправитель = ГруппаКомпоновкиОтбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
  ЭлементОтбораКурьеркаОтправитель.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОтправительСлужбаДоставки");
  ЭлементОтбораКурьеркаОтправитель.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
  ЭлементОтбораКурьеркаОтправитель.Использование = Истина;
  ЭлементОтбораКурьеркаОтправитель.ПравоеЗначение = Организация;
  //Отбор по получателю
  ЭлементОтбораКурьеркаОтправитель = ГруппаКомпоновкиОтбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
  ЭлементОтбораКурьеркаОтправитель.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПолучательСлужбаДоставки");
  ЭлементОтбораКурьеркаОтправитель.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
  ЭлементОтбораКурьеркаОтправитель.Использование = Истина;
  ЭлементОтбораКурьеркаОтправитель.ПравоеЗначение = Организация;
КонецПроцедуры


Попробовал вот так сделать, но не выходит(

&НаКлиенте
Процедура УстановитьПараметрыОтбораПользователя()

ЭлементыОтбора = Список.Отбор.Элементы;
ЭлементыОтбора.Очистить();

Если Не Организация.Пустая() Тогда

// Создадим группу компановки ИЛИ
ГруппаКомпоновкиОтбор = ЭлементыОтбора.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
ГруппаКомпоновкиОтбор.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
  //Отбор по отправителю
  ЭлементОтбораКурьеркаОтправитель = ГруппаКомпоновкиОтбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
  ЭлементОтбораКурьеркаОтправитель.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОтправительСлужбаДоставки");
  ЭлементОтбораКурьеркаОтправитель.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
  ЭлементОтбораКурьеркаОтправитель.Использование = Истина;
  ЭлементОтбораКурьеркаОтправитель.ПравоеЗначение = Организация;
  //Отбор по получателю
  ЭлементОтбораКурьеркаОтправитель = ГруппаКомпоновкиОтбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
  ЭлементОтбораКурьеркаОтправитель.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПолучательСлужбаДоставки");
  ЭлементОтбораКурьеркаОтправитель.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
  ЭлементОтбораКурьеркаОтправитель.Использование = Истина;
  ЭлементОтбораКурьеркаОтправитель.ПравоеЗначение = Организация;
 
   //Отбор пополучателю платежа
  ЭлементОтбораКурьеркаОтправитель = ГруппаКомпоновкиОтбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
  ЭлементОтбораКурьеркаОтправитель.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПолучательПлатежа");
  ЭлементОтбораКурьеркаОтправитель.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
  ЭлементОтбораКурьеркаОтправитель.Использование = Истина;
  ЭлементОтбораКурьеркаОтправитель.ПравоеЗначение = Организация;


КонецЕсли;

КонецПроцедуры


LexaK

   //если у вас платформа 8.3.10 и выше и не включена совместимость ниже, това вам необходимо
   //выполнять настройки отбора в реквищите Динамического списка, КомпоновщикНастроек.Отбор
   //и затем копировать их в реквищит Динамического списка, ПользовательскиеНастройки.Элементы
   //блин, ну все так сложно, (если я прав по версиям, то вам поможет какой нибудь, рабочий пример)
а еще у группы ГруппаКомпоновкиОтбор проверьте флаг Использовать (нужен Истина)
если помогло нажмите: Спасибо!

kot488

Цитата: LexaK от 06 ноя 2018, 11:25
   //если у вас платформа 8.3.10 и выше и не включена совместимость ниже, това вам необходимо
   //выполнять настройки отбора в реквищите Динамического списка, КомпоновщикНастроек.Отбор
   //и затем копировать их в реквищит Динамического списка, ПользовательскиеНастройки.Элементы
   //блин, ну все так сложно, (если я прав по версиям, то вам поможет какой нибудь, рабочий пример)
а еще у группы ГруппаКомпоновкиОтбор проверьте флаг Использовать (нужен Истина)

Платформа к сожелению еще 8.2

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск