Имя: Пароль:
1C
 
"Несовместимые типы выразить в запросе 1с" ошибка в динамическом запросе списка документов
,
0 shusharu
 
27.11.17
18:01
Добрый день коллеги! Нужно в список документов добавить вес по накладной. Хотелось обойтись расширением и доп.реквизитами.
Сделал запрос для динамического списка. В консоле все выполняется, а вот при помещении в запрос динамического списка выдает ошибку из-за доп.реквизита. Что весьма странно. У него составной тип. Использую функцию Выразить, пробовал с проверкой по типу. Но не проходит.
Можно как то обойти эту ошибку, не снимаю конфу с поддержки? Спасибо.

Вот текст запроса.
ВЫБРАТЬ
    ВЫБОР
        КОГДА ДокументРеализацияТоваровУслуг.РучнаяКорректировка = ИСТИНА
            ТОГДА ВЫБОР
                    КОГДА ДокументРеализацияТоваровУслуг.ПометкаУдаления = ИСТИНА
                        ТОГДА 10
                    КОГДА ДокументРеализацияТоваровУслуг.Проведен = ЛОЖЬ
                        ТОГДА 9
                    ИНАЧЕ 8
                КОНЕЦ
        ИНАЧЕ ВЫБОР
                КОГДА ДокументРеализацияТоваровУслуг.ПометкаУдаления = ИСТИНА
                    ТОГДА 2
                КОГДА ДокументРеализацияТоваровУслуг.Проведен = ИСТИНА
                    ТОГДА 1
                ИНАЧЕ 0
            КОНЕЦ
    КОНЕЦ КАК СостояниеДокумента,
    ДокументРеализацияТоваровУслуг.Ссылка КАК Ссылка,
    ДокументРеализацияТоваровУслуг.ПометкаУдаления КАК ПометкаУдаления,
    ДокументРеализацияТоваровУслуг.Дата КАК Дата,
    ДокументРеализацияТоваровУслуг.Номер КАК Номер,
    ДокументРеализацияТоваровУслуг.Проведен КАК Проведен,
    ДокументРеализацияТоваровУслуг.ВидОперации КАК ВидОперации,
    ДокументРеализацияТоваровУслуг.Организация КАК Организация,
    ДокументРеализацияТоваровУслуг.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
    ДокументРеализацияТоваровУслуг.Склад КАК Склад,
    ДокументРеализацияТоваровУслуг.Ответственный КАК Ответственный,
    ДокументРеализацияТоваровУслуг.Контрагент КАК Контрагент,
    ДокументРеализацияТоваровУслуг.ВалютаДокумента КАК ВалютаДокумента,
    ДокументРеализацияТоваровУслуг.СуммаДокумента КАК СуммаДокумента,
    ДокументРеализацияТоваровУслуг.Комментарий КАК Комментарий,
    ДокументРеализацияТоваровУслуг.РучнаяКорректировка КАК РучнаяКорректировка,
    ВЫБОР
        КОГДА СтатусыДокументов.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыДокументовРеализации.Подписан)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК Подписан,
    СостоянияЭД.СостояниеВерсииЭД КАК СостояниеВерсииЭД,
    ВЫБОР
        КОГДА ДокументыСОшибкамиПроверкиКонтрагентов.Документ ЕСТЬ NULL
            ТОГДА ЛОЖЬ
        ИНАЧЕ ИСТИНА
    КОНЕЦ КАК СодержитНекорректныхКонтрагентов,
    ВЫБОР
        КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL
            ТОГДА 1
        КОГДА НаличиеФайлов.ЕстьФайлы
            ТОГДА 0
        ИНАЧЕ 1
    КОНЕЦ КАК ЕстьФайлы,
    ЕСТЬNULL(СтатусыДокументов.СтатусСчетаФактуры, ЗНАЧЕНИЕ(Перечисление.СтатусыСчетаФактуры.ПустаяСсылка)) КАК СчетФактура,
    ВесПоДокументам.ВесБрутто КАК ВесБрутто,
    КонтрагентыДополнительныеРеквизиты.Значение КАК КодКлиентаЛогист,
    ДокументРеализацияТоваровУслуг.Грузополучатель КАК Грузополучатель,
    КонтрагентыКонтактнаяИнформация.Представление КАК АдресДоставки
ИЗ
    Документ.РеализацияТоваровУслуг КАК ДокументРеализацияТоваровУслуг
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыДокументов КАК СтатусыДокументов
        ПО ДокументРеализацияТоваровУслуг.Организация = СтатусыДокументов.Организация
            И ДокументРеализацияТоваровУслуг.Ссылка = СтатусыДокументов.Документ}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЭД КАК СостоянияЭД
        ПО ДокументРеализацияТоваровУслуг.Ссылка = СостоянияЭД.СсылкаНаОбъект}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыСОшибкамиПроверкиКонтрагентов КАК ДокументыСОшибкамиПроверкиКонтрагентов
        ПО ДокументРеализацияТоваровУслуг.Ссылка = ДокументыСОшибкамиПроверкиКонтрагентов.Документ
            И (&ИспользованиеПроверкиВозможно)}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
        ПО ДокументРеализацияТоваровУслуг.Ссылка = НаличиеФайлов.ОбъектСФайлами}
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
            СУММА(ВЫБОР
                    КОГДА РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Код = "166"
                        ТОГДА РеализацияТоваровУслугТовары.Количество
                    КОГДА ТИПЗНАЧЕНИЯ(НоменклатураДополнительныеРеквизиты.Значение) = ТИП(ЧИСЛО)
                        ТОГДА РеализацияТоваровУслугТовары.Количество * (ВЫРАЗИТЬ(НоменклатураДополнительныеРеквизиты.Значение КАК ЧИСЛО(15, 2)))
                    ИНАЧЕ 0
                КОНЕЦ) КАК ВесБрутто,
            НоменклатураДополнительныеРеквизиты.Значение КАК Значение,
            НоменклатураДополнительныеРеквизиты.Значение.Вес КАК ЗначениеВес
        ИЗ
            Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
                ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
                ПО РеализацияТоваровУслугТовары.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка
                    И (НоменклатураДополнительныеРеквизиты.Свойство.Наименование = "Коэффициент брутто (Номенклатура)")
                    И (ТИПЗНАЧЕНИЯ(НоменклатураДополнительныеРеквизиты.Значение) = ТИП(ЧИСЛО))
        
        СГРУППИРОВАТЬ ПО
            РеализацияТоваровУслугТовары.Ссылка,
            НоменклатураДополнительныеРеквизиты.Значение,
            НоменклатураДополнительныеРеквизиты.Значение.Вес) КАК ВесПоДокументам
        ПО ДокументРеализацияТоваровУслуг.Ссылка = ВесПоДокументам.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.ДополнительныеРеквизиты КАК КонтрагентыДополнительныеРеквизиты
        ПО ДокументРеализацияТоваровУслуг.Контрагент = КонтрагентыДополнительныеРеквизиты.Ссылка
            И (КонтрагентыДополнительныеРеквизиты.Свойство.Наименование = "КодКлиентаЛогистическойКомпании (Контрагенты)")
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
        ПО (ВЫБОР
                КОГДА ДокументРеализацияТоваровУслуг.Грузополучатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяССылка)
                    ТОГДА ДокументРеализацияТоваровУслуг.Контрагент = КонтрагентыКонтактнаяИнформация.Ссылка
                ИНАЧЕ ДокументРеализацияТоваровУслуг.Грузополучатель = КонтрагентыКонтактнаяИнформация.Ссылка
            КОНЕЦ)
            И (КонтрагентыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
            И (КонтрагентыКонтактнаяИнформация.Вид.ИмяПредопределенныхДанных = "ЮрАдресКонтрагента")
1 Tateossian
 
27.11.17
18:15
Используй вкладку Характеристики в СКД, там прописываются такие поля.
2 shusharu
 
27.11.17
19:27
Хмм. Я в подзапросе делал расчет. Количество умножал на массу и группировал по документу. А как в этом случае использовать?
3 Tateossian
 
27.11.17
19:51
(2)  На самом деле можно: только запрос нужно открыть конструктором в режиме Предприятия, отредактировать текст и вставить обратно в источник дин. списка,  не открывая его (иначе конфигуриратор будет ругаться).
4 shusharu
 
27.11.17
20:05
(3) к сожалению так не получается. Копирую и вставляю запрос  в дин.список не открывая конструктор, при нажатии ок выдает туже ошибку.