Версия для печати темы (https://pro1c.org.ua/index.php?s=0bf2f1585a2cbe4ac29dfcea48ea721f&showtopic=16415)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Установить отбор на форме списка

Автор: kosalex 30.01.14, 9:09

Добрый день. Подскажите пожалуйста, как установить отбор в форме списка, вид сравнения "В списке" ?

У меня есть СписокЗначений который нужно передать отбору на форме.

Не получается это сделать. Делаю вот так:

ДокументСписок.Отбор.Ответственный.Значение = СписокСотрудников


на выходе получаю:
ДокументСписок.Отбор.Ответственный.Значение    <Пустое значение>; <Пустое значение>; <Пустое значение>; <Пустое значение>; <Пустое значение>; <Пустое значение>    СписокЗначений


что делаю не так?

Автор: Vofka 30.01.14, 9:11

ДокументСписок.Отбор.Ответственный.ВидСравнения = ВидСравнения.ВСписке;

Автор: kosalex 30.01.14, 9:13

Цитата(Vofka @ 30.01.14, 9:11) *
ДокументСписок.Отбор.Ответственный.ВидСравнения = ВидСравнения.ВСписке;



Да так и написано, результат я описал.

ДокументСписок.Отбор.Ответственный.ВидСравнения = ВидСравнения.ВСписке;
        ДокументСписок.Отбор.Ответственный.Значение = СписокСотрудников

Автор: yuritch 30.01.14, 9:51

Тип значения элементов СпискаСотрудников и поля Ответственный совпадает? Не может быть так, что Ответственный - элемент справочника Пользователи, а в списке, например, ФизЛица?

Автор: kosalex 30.01.14, 10:02

Цитата(yuritch @ 30.01.14, 9:51) *
Тип значения элементов СпискаСотрудников и поля Ответственный совпадает? Не может быть так, что Ответственный - элемент справочника Пользователи, а в списке, например, ФизЛица?



типы совпадают.
Привожу полный код:
ТекПользователь = ПараметрыСеанса.ТекущийПользователь;
    
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ПользователиСотрудникиПодразделения.Сотрудник.Ссылка
        |ИЗ
        |    РегистрСведений.ПользователиСотрудникиПодразделения КАК ПользователиСотрудникиПодразделения
        |ГДЕ
        |    ПользователиСотрудникиПодразделения.Пользователь = &ТекПользователь
        |    И ПользователиСотрудникиПодразделения.НачальникПодразделения";

    Запрос.УстановитьПараметр("ТекПользователь", ТекПользователь);

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ПодразделениеОрганизации = ВыборкаДетальныеЗаписи.СотрудникСсылка.ПодразделениеОрганизации;
    КонецЦикла;

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


До присвоения МойСписокСотрудников содержит сотрудников.

После присвоения отбору МойСписокСотрудников содержит: <Пустое значение>; <Пустое значение>; <Пустое значение>; <Пустое значение>; <Пустое значение>; <Пустое значение>





Вы правы, yuritch, реквизит "ответственный" - тип Справчоники.Пользователи, а передаю я Справочники.Сотрудники.

Автор: sava1 30.01.14, 10:15

Конфигурация кокая?
В УПП ответственный - Пользователь, а не сотрудник

Автор: kosalex 30.01.14, 11:42

47046430.gif

Цитата(sava1 @ 30.01.14, 10:15) *
Конфигурация кокая?
В УПП ответственный - Пользователь, а не сотрудник



Вы правы. Я ваше отписался.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua