Имя: Пароль:
1C
1С v8
Ошибка при установлении параметров Динамического списка
0 alexshape
 
10.10.17
09:07
Привет Всем. У меня возникает проблема при установке параметров.

Есть Запрос:

ВЫБРАТЬ
    ЗадачаЗадачаИсполнителя.Ссылка,
    ВЫБОР
        КОГДА ЗадачаЗадачаИсполнителя.Важность = ЗНАЧЕНИЕ(Перечисление.ВариантыВажностиЗадачи.Низкая)
            ТОГДА 0
        КОГДА ЗадачаЗадачаИсполнителя.Важность = ЗНАЧЕНИЕ(Перечисление.ВариантыВажностиЗадачи.Высокая)
            ТОГДА 2
        ИНАЧЕ 1
    КОНЕЦ КАК ВажностьКартинка,
    ЗадачаЗадачаИсполнителя.Важность,
    ВЫБОР
        КОГДА ЗадачаЗадачаИсполнителя.Выполнена
            ТОГДА 2
        КОГДА НЕ ЗадачаЗадачаИсполнителя.ПринятаКИсполнению
            ТОГДА 0
        КОГДА ЗадачаЗадачаИсполнителя.ПринятаКИсполнению
            ТОГДА 1
    КОНЕЦ КАК Состояние,
    ЗадачаЗадачаИсполнителя.ПринятаКИсполнению,
    ЗадачаЗадачаИсполнителя.Выполнена,
    ЗадачаЗадачаИсполнителя.ДатаНачала,
    ЗадачаЗадачаИсполнителя.СрокИсполнения,
    ВЫБОР
        КОГДА ЗадачаЗадачаИсполнителя.Выполнена
            ТОГДА 1
        ИНАЧЕ ВЫБОР
                КОГДА ЗадачаЗадачаИсполнителя.СрокИсполнения = &ПарамПустаяДата
                    ТОГДА 1
                ИНАЧЕ ВЫБОР
                        КОГДА ЗадачаЗадачаИсполнителя.СрокИсполнения < &ПарамТекущаяДата
                            ТОГДА 0
                        ИНАЧЕ 1
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ КАК Просрочена,
    ВЫБОР
        КОГДА ЗадачаЗадачаИсполнителя.Выполнена
            ТОГДА 0
        КОГДА ЗадачаЗадачаИсполнителя.СрокИсполнения = &ПарамПустаяДата
            ТОГДА 0
        ИНАЧЕ ВЫБОР
                КОГДА ЗадачаЗадачаИсполнителя.СрокИсполнения < &ПарамТекущаяДата
                    ТОГДА РАЗНОСТЬДАТ(&ПарамТекущаяДата, ЗадачаЗадачаИсполнителя.СрокИсполнения, ДЕНЬ) * -1
                ИНАЧЕ РАЗНОСТЬДАТ(&ПарамТекущаяДата, ЗадачаЗадачаИсполнителя.СрокИсполнения, ДЕНЬ)
            КОНЕЦ
    КОНЕЦ КАК ОсталосьДней,
    ЗадачаЗадачаИсполнителя.Автор,
    ЗадачаЗадачаИсполнителя.Исполнитель,
    ЗадачаЗадачаИсполнителя.РольИсполнителя,
    ВЫБОР
        КОГДА ЗадачаЗадачаИсполнителя.CRM_Личная
            ТОГДА ЗадачаЗадачаИсполнителя.CRM_Проект
        ИНАЧЕ ЗадачаЗадачаИсполнителя.БизнесПроцесс.Проект
    КОНЕЦ КАК Проект,
    ВЫБОР
        КОГДА ЗадачаЗадачаИсполнителя.CRM_Личная
            ТОГДА ЗадачаЗадачаИсполнителя.CRM_Партнер
        ИНАЧЕ ЗадачаЗадачаИсполнителя.БизнесПроцесс.Партнер
    КОНЕЦ КАК Клиент,
    ВЫБОР
        КОГДА ЗадачаЗадачаИсполнителя.CRM_Личная
            ТОГДА ЗНАЧЕНИЕ(БизнесПроцесс.CRM_БизнесПроцесс.ПустаяСсылка)
        ИНАЧЕ ЗадачаЗадачаИсполнителя.БизнесПроцесс
    КОНЕЦ КАК БизнесПроцесс,
    ЗадачаЗадачаИсполнителя.ПредметСтрокой,
    ЗадачаЗадачаИсполнителя.Дата,
    ЗадачаЗадачаИсполнителя.ДатаИсполнения,
    ЗадачаЗадачаИсполнителя.ДатаПринятияКИсполнению,
    ЗадачаЗадачаИсполнителя.РезультатВыполнения КАК Результат,
    ЗадачаЗадачаИсполнителя.CRM_ТочкаМаршрута КАК ТочкаМаршрута,
    ВЫБОР
        КОГДА ЗадачаЗадачаИсполнителя.CRM_Личная
            ТОГДА ЗНАЧЕНИЕ(Справочник.CRM_КартыМаршрутов.ПустаяСсылка)
        ИНАЧЕ ЗадачаЗадачаИсполнителя.БизнесПроцесс.КартаМаршрута
    КОНЕЦ КАК КартаМаршрута,
    ЗадачаЗадачаИсполнителя.CRM_Переадресована КАК Переадресована,
    ЗадачаЗадачаИсполнителя.CRM_Личная КАК Личная,
    ВЫБОР
        КОГДА ЗадачаЗадачаИсполнителя.РольИсполнителя = ЗНАЧЕНИЕ(Справочник.РолиИсполнителей.ПустаяСсылка)
            ТОГДА ЗадачаЗадачаИсполнителя.Исполнитель
        КОГДА НЕ ЗадачаЗадачаИсполнителя.Исполнитель = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
            ТОГДА ЗадачаЗадачаИсполнителя.Исполнитель
        ИНАЧЕ ЗадачаЗадачаИсполнителя.РольИсполнителя
    КОНЕЦ КАК ИсполнительРоль,
    ЗадачаЗадачаИсполнителя.Наименование,
    ЗадачаЗадачаИсполнителя.ПометкаУдаления,
    ЕСТЬNULL(ЗадачаЗадачаИсполнителя.CRM_ОсновнаяКатегория.ЦветИндекс, 26) КАК ОсновнаяКатегорияИндекс
ИЗ
    Задача.ЗадачаИсполнителя КАК ЗадачаЗадачаИсполнителя
ГДЕ
    (&Исполнитель ЕСТЬ NULL
            ИЛИ ЗадачаЗадачаИсполнителя.Исполнитель = &Исполнитель
            ИЛИ ИСТИНА В
                (ВЫБРАТЬ
                    ИСТИНА
                ИЗ
                    РегистрСведений.ИсполнителиЗадач КАК ИсполнителиЗадач
                ГДЕ
                    ЗадачаЗадачаИсполнителя.РольИсполнителя = ИсполнителиЗадач.РольИсполнителя
                    И ЗадачаЗадачаИсполнителя.ОсновнойОбъектАдресации = ИсполнителиЗадач.ОсновнойОбъектАдресации
                    И ЗадачаЗадачаИсполнителя.ДополнительныйОбъектАдресации = ИсполнителиЗадач.ДополнительныйОбъектАдресации
                    И ИсполнителиЗадач.Исполнитель = &Исполнитель))
    И ВЫБОР
            КОГДА НЕ ЗадачаЗадачаИсполнителя.CRM_Личная
                ТОГДА ЗадачаЗадачаИсполнителя.БизнесПроцесс ССЫЛКА БизнесПроцесс.CRM_БизнесПроцесс
            ИНАЧЕ ИСТИНА
        КОНЕЦ

При использвоании стандартных пользовательских отборов, а именно Отбор на поле Исполнитель, вид Отбора "В списке", значение 2 рандомных исполнителя. Выдает ошибку:

Ошибка при выполнении запроса.
по причине:
{(92, 44)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
ИЛИ ЗадачаЗадачаИсполнителя.Исполнитель <<?>>= &Исполнитель

а конкретно в момент когда я через переключатель программно устанавливаю значение параметра "&Исполнитель".
1 catena
 
10.10.17
09:09
(0)Нельзя сРАВНивать со списком, нужно проверять на вхождение В список
2 wondkind
 
10.10.17
09:47
(0) откуда берешь параметр "&Исполнитель"?
И проверь формат поля "ЗадачаЗадачаИсполнителя.Исполнитель" и почитай про ВЫРАЗИТЬ.

В ошибке всё что нужно для решения проблемы:
1. Либо разные типы сравниваемых;
2. Либо поле одно из этих полей неограниченной длины.
3 alexshape
 
10.10.17
10:49
(2) Ошибку нашел, проблема была скорее всего в том что при использовании пользовательских настроек Система Добавляет строке кода:

ЗадачаЗадачаИсполнителя.Исполнитель В (&Исполнитель), а у меня в этом параметре одиночное значение. Просто изменил название своего параметра
AdBlock убивает бесплатный контент. 1Сергей