Имя: Пароль:
1C
1С v8
СКД избранно выводит пустое значение, хотя в консоли запроса оно заполнено. ?
0 PCcomCat
 
07.11.16
18:04
Доброго времени, уважаемые!

Уже голову сломала! Запросом собраны данные. В консоли реквизит заполнен - тип ПеречислениеСсылка, а в СКД выводит пустое значение для определенных выводит ПустуюСсылку.
Где я могу косячить? Или СКД глючит?
1 DrShad
 
07.11.16
18:05
запрос в студию и настройки СКД
2 PCcomCat
 
07.11.16
18:07
ВЫБРАТЬ РАЗЛИЧНЫЕ
    АТЗаявкаНаЗамер.Ссылка,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(АТЗаявкаРасчет.ЗаказПокупателя) = ТИП(Документ.ЗаказПокупателя)
                И НЕ АТЗаявкаРасчет.ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
            ТОГДА АТЗаявкаРасчет.ЗаказПокупателя
        ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
    КОНЕЦ КАК РС_ЗаказПокупателя,
    ЕСТЬNULL(АТЗаявкаРасчет.Ссылка, ЗНАЧЕНИЕ(Документ.АТЗаявкаРасчет.ПустаяСсылка)) КАК РС_ЗаявкаРасчет,
    АТЗаявкаНаЗамер.РС_ПредыдущийЗамер,
    ВЫБОР
        КОГДА АТЗаявкаНаЗамер.РС_ПредыдущийЗамер = ЗНАЧЕНИЕ(Документ.АТЗаявкаНаЗамер.ПустаяСсылка)
            ТОГДА АТЗаявкаНаЗамер.Ссылка
        ИНАЧЕ АТЗаявкаНаЗамер.РС_ПредыдущийЗамер
    КОНЕЦ КАК РазличныеЗаявкиНаЗамер
ПОМЕСТИТЬ ТаблицаЗамеров
ИЗ
    Документ.АТЗаявкаНаЗамер КАК АТЗаявкаНаЗамер
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.АТЗаявкаРасчет КАК АТЗаявкаРасчет
        ПО (АТЗаявкаНаЗамер.Ссылка = АТЗаявкаРасчет.ДокументОснование
                ИЛИ АТЗаявкаНаЗамер.Ссылка = АТЗаявкаРасчет.Основание)
ГДЕ
    АТЗаявкаНаЗамер.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    И АТЗаявкаНаЗамер.ПометкаУдаления = ЛОЖЬ
{ГДЕ
    (АТЗаявкаНаЗамер.Ответственный = &Менеджер)}
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТаблицаЗамеров.РС_ЗаказПокупателя
ПОМЕСТИТЬ ТаблицаЗаказов
ИЗ
    ТаблицаЗамеров КАК ТаблицаЗамеров
ГДЕ
    НЕ ТаблицаЗамеров.РС_ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)

СГРУППИРОВАТЬ ПО
    ТаблицаЗамеров.РС_ЗаказПокупателя
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    АТСтатусыЗаказовСрезПоследних.ЗаказПокупателя,
    ЕСТЬNULL(АТСтатусыЗаказовСрезПоследних.Статус, ЗНАЧЕНИЕ(Перечисление.АТСтатусыЗаказов.ПустаяССылка)) КАК Статус,
    ЕСТЬNULL(АТСтатусыЗаказовСрезПоследних.Период, ДАТАВРЕМЯ(1, 1, 1)) КАК Период
ПОМЕСТИТЬ ПоследниеСтатусыЗаказов
ИЗ
    РегистрСведений.АТСтатусыЗаказов.СрезПоследних(
            ,
            ЗаказПокупателя В
                (ВЫБРАТЬ РАЗЛИЧНЫЕ
                    ТаблицаЗаказов.РС_ЗаказПокупателя КАК ЗаказПокупателя
                ИЗ
                    ТаблицаЗаказов КАК ТаблицаЗаказов)) КАК АТСтатусыЗаказовСрезПоследних
ГДЕ
    НЕ АТСтатусыЗаказовСрезПоследних.ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ВнутреннийЗаказ.ПустаяСсылка)
    И НЕ АТСтатусыЗаказовСрезПоследних.ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
    И НЕ АТСтатусыЗаказовСрезПоследних.ЗаказПокупателя = НЕОПРЕДЕЛЕНО
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТаблицаЗаказов.РС_ЗаказПокупателя,
    ЕСТЬNULL(АТСтатусыЗаказов.Статус, ЗНАЧЕНИЕ(Перечисление.АТСтатусыЗаказов.ПустаяССылка)) КАК Статус,
    МИНИМУМ(ЕСТЬNULL(АТСтатусыЗаказов.Период, ДАТАВРЕМЯ(1, 1, 1))) КАК Период
ПОМЕСТИТЬ СтатусПринятЗаказов
ИЗ
    ТаблицаЗаказов КАК ТаблицаЗаказов
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АТСтатусыЗаказов КАК АТСтатусыЗаказов
        ПО ТаблицаЗаказов.РС_ЗаказПокупателя = АТСтатусыЗаказов.ЗаказПокупателя
ГДЕ
    АТСтатусыЗаказов.Статус = ЗНАЧЕНИЕ(Перечисление.АТСтатусыЗаказов.Принят)
    И НЕ АТСтатусыЗаказов.ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ВнутреннийЗаказ.ПустаяСсылка)
    И НЕ АТСтатусыЗаказов.ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
    И НЕ АТСтатусыЗаказов.ЗаказПокупателя = НЕОПРЕДЕЛЕНО

СГРУППИРОВАТЬ ПО
    ТаблицаЗаказов.РС_ЗаказПокупателя,
    АТСтатусыЗаказов.Статус
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТаблицаЗамеров.Ссылка КАК ЗаявкаНаЗамер,
    ТаблицаЗамеров.РазличныеЗаявкиНаЗамер,
    ТаблицаЗамеров.РС_ЗаказПокупателя КАК ЗаказПокупателя,
    ВЫБОР
        КОГДА ТаблицаЗамеров.РС_ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
            ТОГДА ЗНАЧЕНИЕ(Документ.АТЗаявкаНаЗамер.ПустаяСсылка)
        ИНАЧЕ ТаблицаЗамеров.Ссылка
    КОНЕЦ КАК ЗаказыПоЗаявкеНаЗамер,
    ТаблицаЗамеров.РС_ЗаявкаРасчет КАК ЗаявкаРасчет,
    ВЫБОР
        КОГДА ТаблицаЗамеров.РС_ЗаявкаРасчет = ЗНАЧЕНИЕ(Документ.АТЗаявкаРасчет.ПустаяСсылка)
            ТОГДА ЗНАЧЕНИЕ(Документ.АТЗаявкаНаЗамер.ПустаяСсылка)
        ИНАЧЕ ТаблицаЗамеров.Ссылка
    КОНЕЦ КАК ЗаявкиРасчетыПоЗаявкеНаЗамер,
    ТаблицаЗамеров.РС_ПредыдущийЗамер КАК ПредыдущийЗамер,
    ЕСТЬNULL(ПоследниеСтатусыЗаказов.Статус, ЗНАЧЕНИЕ(Перечисление.АТСтатусыЗаказов.ПустаяСсылка)) КАК ПоследнийСтатус,
    ЕСТЬNULL(ПоследниеСтатусыЗаказов.Период, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаПоследнегоСтатуса,
    ЕСТЬNULL(СтатусПринятЗаказов.Статус, ЗНАЧЕНИЕ(Перечисление.АТСтатусыЗаказов.ПустаяСсылка)) КАК СтатусПринят,
    ЕСТЬNULL(СтатусПринятЗаказов.Период, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаСтатусаПринят,
    ВЫБОР
        КОГДА СтатусПринятЗаказов.Статус = ЗНАЧЕНИЕ(Перечисление.АТСтатусыЗаказов.ПустаяССылка)
            ТОГДА 0
        ИНАЧЕ 1
    КОНЕЦ КАК КоличествоПринятых,
    ВЫБОР
        КОГДА ТаблицаЗамеров.РС_ЗаявкаРасчет = ЗНАЧЕНИЕ(Документ.АТЗаявкаРасчет.ПустаяСсылка)
                И ТаблицаЗамеров.РазличныеЗаявкиНаЗамер.РС_ПричинаОтказа = &ПричинаПерезамер
            ТОГДА ТаблицаЗамеров.РазличныеЗаявкиНаЗамер
        КОГДА ЕСТЬNULL(ТаблицаЗамеров.РС_ЗаявкаРасчет.РС_ПричинаОтказа, ЗНАЧЕНИЕ(Справочник.ПричиныЗакрытияЗаказов.ПустаяССылка)) = ЗНАЧЕНИЕ(Справочник.ПричиныЗакрытияЗаказов.ПустаяССылка)
                И ТаблицаЗамеров.РазличныеЗаявкиНаЗамер.РС_ПричинаОтказа = ЗНАЧЕНИЕ(Справочник.ПричиныЗакрытияЗаказов.ПустаяССылка)
                И (ТаблицаЗамеров.РС_ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
                    ИЛИ ТаблицаЗамеров.РС_ЗаказПокупателя = НЕОПРЕДЕЛЕНО
                    ИЛИ ЕСТЬNULL(ПоследниеСтатусыЗаказов.Статус, ЗНАЧЕНИЕ(Перечисление.АТСтатусыЗаказов.ПустаяСсылка)) = ЗНАЧЕНИЕ(Перечисление.АТСтатусыЗаказов.НаОформлении))
            ТОГДА ТаблицаЗамеров.РазличныеЗаявкиНаЗамер
        ИНАЧЕ ЗНАЧЕНИЕ(Документ.АТЗаявкаНаЗамер.ПустаяСсылка)
    КОНЕЦ КАК ЗаявкиРасчетыПоЗаявкеНаЗамерОжидающиеЗаказ
ИЗ
    ТаблицаЗамеров КАК ТаблицаЗамеров
        ЛЕВОЕ СОЕДИНЕНИЕ СтатусПринятЗаказов КАК СтатусПринятЗаказов
        ПО ТаблицаЗамеров.РС_ЗаказПокупателя = СтатусПринятЗаказов.РС_ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ ПоследниеСтатусыЗаказов КАК ПоследниеСтатусыЗаказов
        ПО ТаблицаЗамеров.РС_ЗаказПокупателя = ПоследниеСтатусыЗаказов.ЗаказПокупателя
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ТаблицаЗамеров
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ТаблицаЗаказов
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ПоследниеСтатусыЗаказов
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ СтатусПринятЗаказов
3 PCcomCat
 
07.11.16
18:09
Настройки тоже зверские.
4 PCcomCat
 
07.11.16
18:11
Последний пакет в СКД не для всех заказов показывает ПоследниеСтатусыЗаказов.Статус
5 PCcomCat
 
07.11.16
18:18
"ЗаказПокупателя, ЗаказыПоЗаявкеНаЗамер, ЗаявкаНаЗамер, ЗаявкаРасчет, ЗаявкиРасчетыПоЗаявкеНаЗамер, ЗаявкиРасчетыПоЗаявкеНаЗамерОжидающиеЗаказ, ПредыдущийЗамер, РазличныеЗаявкиНаЗамер"  и ресурсы "ПоследнийСтатус, ДатаПоследнегоСтатуса, СтатусПринят, ДатаСтатусаПринят" при выводе в ТаблицуЗначений дают пустые значения для "ПоследнийСтатус, ДатаПоследнегоСтатуса", хотя в консоли запросов в результате там всё есть.
6 PCcomCat
 
07.11.16
18:19
+(5) для некоторых...
7 DrShad
 
07.11.16
18:37
адский мегапипец
8 PCcomCat
 
08.11.16
09:06
Вопрос снят. Утро вечера мудренее!
Программно период для регистров сведений установлен на конечную дату формирования отчета, а нужно без ограничений.
Независимо от того, куда вы едете — это в гору и против ветра!