Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Установить отбор на форме списка
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
kosalex
Добрый день. Подскажите пожалуйста, как установить отбор в форме списка, вид сравнения "В списке" ?

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

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

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


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


что делаю не так?
Vofka
ДокументСписок.Отбор.Ответственный.ВидСравнения = ВидСравнения.ВСписке;
kosalex
Цитата(Vofka @ 30.01.14, 9:11) необходимо зарегистрироваться для просмотра ссылки
ДокументСписок.Отбор.Ответственный.ВидСравнения = ВидСравнения.ВСписке;



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

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



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

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

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

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

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

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


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

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





Вы правы, yuritch, реквизит "ответственный" - тип Справчоники.Пользователи, а передаю я Справочники.Сотрудники.
sava1
Конфигурация кокая?
В УПП ответственный - Пользователь, а не сотрудник
kosalex
47046430.gif
Цитата(sava1 @ 30.01.14, 10:15) необходимо зарегистрироваться для просмотра ссылки
Конфигурация кокая?
В УПП ответственный - Пользователь, а не сотрудник



Вы правы. Я ваше отписался.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.