Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Баг СКД - присутствуют поля, которых не должно быть

Баг СКД - присутствуют поля, которых не должно быть
Я
   Droning1C
 
28.12.21 - 20:31
Конфы УПП 1.2 (1.2.36.1). Платформа 8.3 (8.3.17.2231)
Создал в существующем в конфе отчете новый макет СКД, добавил набор данных - запрос, скопировал туда текст моего запроса. Автозаполнение - вкл.
Проблемы:
   1)На выходе СКД выдает поля, которых в этом запросе и в помине нет. Ну это ладно, для отладки пойдет, ибо к ошибкам не приводит, но какого хрена? Как побороть?
   2)Сделал все необходимые настройки. Добавил отборы, группировки, сортировки, оформление и т.д. Одно из выбранных полей не скрыто, но в отчете не выводится.(на полных правах)
   Droning1C
 
1 - 28.12.21 - 20:33
Совсем забыл - с наступающим, комрады! С этими дедлайнами совсем запарился...
   Droning1C
 
2 - 28.12.21 - 20:41
причем, если в ирРазработчика создать новую СКД, просто скопировать туда запрос, то на выходе тоже выдает лишние поля... Имена этих поле поиском по запросу не бьются. Нет их.
   pechkin
 
3 - 28.12.21 - 20:44
Автозаполнение ВЫКЛ
   Droning1C
 
4 - 28.12.21 - 20:47
(3) ну ок, это решит вопрос с полями, я понимаю. Но причина появления этих полей в чем может быть?
   Chameleon1980
 
5 - 28.12.21 - 20:53
(4) смотря какой запрос.подчиненные поля вытаскивает. Измерения РН, например.
   ale-sarin
 
6 - 28.12.21 - 20:53
https://its.1c.ru/db/metod8dev/content/1577/hdoc
Там пример есть про Склад.
   Chameleon1980
 
7 - 28.12.21 - 20:54
тру 1с'к выключает автозаполнение
   Droning1C
 
8 - 28.12.21 - 21:01
(6) класс, скорее всего то, что надо. Обратил внимание - у проблемного поля, которое не выводится в отчет, стоит тип группировки - без иерархии, хотя у остальных аналогичных выходных полей - без дополнения. С чем это связано?
   Droning1C
 
9 - 28.12.21 - 21:05
(8) причем эти аналогичные поля похожи как 2 капли воды по способу получения запросом. Параметры передаются верно.
   Droning1C
 
10 - 28.12.21 - 21:13
(9) понял почему, это мои ручные изменения для тестирования.

Получение проблемного поля -


ВЫБОР
    КОГДА взЗаказНаПроизводствоПотоки.Поток = &Фасады
            И взЗаказНаПроизводствоПотоки.ГруппаМаршрута = &ГруппаМаршрутаЭмаль
        ТОГДА ВЫБОР
                КОГДА ПотокиЗаказа.Размещение = &ГотоваяПродукция
                    ТОГДА ПотокиЗаказа.Период
                КОГДА НЕ ПотокиЗаказа.Размещение ЕСТЬ NULL
                        И НЕ ПотокиЗаказа.Размещение = НЕОПРЕДЕЛЕНО
                    ТОГДА ПотокиЗаказа.Размещение
                ИНАЧЕ &НеВзятВРаботу
            КОНЕЦ
    ИНАЧЕ "-"
КОНЕЦ
   Droning1C
 
11 - 28.12.21 - 21:14
Аналогичное поле, которое нормально выводится - 



ВЫБОР
    КОГДА взЗаказНаПроизводствоПотоки.Поток = &Фасады
            И взЗаказНаПроизводствоПотоки.ГруппаМаршрута = &ГруппаМаршрутаМассив
        ТОГДА ВЫБОР
                КОГДА ПотокиЗаказа.Размещение = &ГотоваяПродукция
                    ТОГДА ПотокиЗаказа.Период
                КОГДА НЕ ПотокиЗаказа.Размещение ЕСТЬ NULL
                        И НЕ ПотокиЗаказа.Размещение = НЕОПРЕДЕЛЕНО
                    ТОГДА ПотокиЗаказа.Размещение
                ИНАЧЕ &НеВзятВРаботу
            КОНЕЦ
    ИНАЧЕ "-"
КОНЕЦ
   Droning1C
 
12 - 28.12.21 - 21:23
ПРоблемное поле является полем группировки, поэтому, следуя из текста статьи (6) , оно не должно быть, к примеру, строкой неогр длины. Сделал через выразить - не помогает.






ВЫРАЗИТЬ(ВЫБОР
        КОГДА взЗаказНаПроизводствоПотоки.Поток = &Фасады
                И взЗаказНаПроизводствоПотоки.ГруппаМаршрута = &ГруппаМаршрутаЭмаль
            ТОГДА ВЫБОР
                    КОГДА ПотокиЗаказа.Размещение = &ГотоваяПродукция
                        ТОГДА ПотокиЗаказа.Период
                    КОГДА НЕ ПотокиЗаказа.Размещение ЕСТЬ NULL
                            И НЕ ПотокиЗаказа.Размещение = НЕОПРЕДЕЛЕНО
                        ТОГДА ПотокиЗаказа.Размещение
                    ИНАЧЕ &НеВзятВРаботу
                КОНЕЦ
        ИНАЧЕ "-"
    КОНЕЦ КАК СТРОКА(50))
   Сергиус
 
13 - 28.12.21 - 22:55
(0)"Умный" СКД сам за тебя решает, что ему надо будет)
   Droning1C
 
14 - 28.12.21 - 23:21
(13) спасибо, "умный" друже
   Droning1C
 
15 - 28.12.21 - 23:21
Сам запрос нормально выдает результат по всем полям. Где затык в СКД пока так и не нашел(
   acht
 
16 - 28.12.21 - 23:29
(15) Втыкаешся в ПриКомпоновкеРезультата, пишешь руками 5 строчек формирования по схеме и компоновщику, в середине втыкаешь в КомпоновщикМакетаКомпоновкиДанных, который Макет = Компоновщик.Выполнить(Схема, Настройки). Берешь от него наборы данных, типа НаборДанных = Макет.НаборыДанных[0]. Смотришь во что превратился твой начальный запрос в НаборДанных.Запрос.
Думаешь, как влияют отборы, группировки, роли полей. Меняешь настройки. Думаешь опять.
   Droning1C
 
17 - 29.12.21 - 01:05
Перезаполнил поля без автозаполнения, принудительно указал тип значения Строка длиной 50 для проблемного поля, пересоздавал отчет заново. Но ничего не помогло.

Единственная зацепка - по какой-то причине поле не выводится только при использовании в группировке отчета. В чем может быть причина?
   Droning1C
 
18 - 29.12.21 - 01:25
через пользовательские поля тоже не вышло
   Droning1C
 
20 - 29.12.21 - 02:07
(16) Собственно, вот что СКД выводит в запрос макета компоновки. Прилагаю только финальную часть запроса, ибо он слишком длинный. Проблемное поле - "ФасадыЭмаль". И в запросе оно есть в выходных полях.





////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    втЗаказы.ЗаказПр КАК ЗаказПр,
    втИнфоЗак.ДатаИзготовления КАК ДатаИзготовления,
    втИнфоЗак.Нед КАК Нед,
    втИнфоЗак.НОУ КАК НОУ,
    втИнфоЗак.ЕстьОпл КАК ЕстьОпл,
    втИнфоЗак.ДатаПереноса КАК ДатаПереноса,
    втИнфоЗак.Причина КАК Причина,
    втПоПотокам.Корпуса КАК Корпуса,
    втПоПотокам.Фасады КАК Фасады,
    втПоПотокам.Столешницы КАК Столешницы,
    втПоПотокам.Комплектация КАК Комплектация,
    втПоПотокамФасады.ФасадыTSS КАК ФасадыTSS,
    втПоПотокамФасады.ФасадыПленка КАК ФасадыПленка,
    втПоПотокамФасады.ФасадыЭмаль КАК ФасадыЭмаль,
    втПоПотокамФасады.ФасадыМассив КАК ФасадыМассив,
    втПоПотокамФасады.ФасадыAL КАК ФасадыAL,
    втПоПотокам.ПлощадьКорпуса КАК ПлощадьКорпуса,
    ВЫБОР
        КОГДА ЕСТЬNULL(втМоделиЦвета.Модель, "-") = "-"
            ТОГДА "-"
        КОГДА втМоделиЦвета.Модель = ЗНАЧЕНИЕ(Справочник.прМодели.ПустаяСсылка)
            ТОГДА "-"
        ИНАЧЕ втМоделиЦвета.Модель
    КОНЕЦ КАК Модель,
    втМоделиЦвета.Цвет КАК Цвет,
    втПлощадьМоделейФасадов.Площадь КАК ПлощадьПоМодели,
    втПлощадьЦветаФасадов.Площадь КАК ПлощадьПоЦвету,
    втПлощадьОтделокПленка.ПлощадьОтделокПленка КАК ПлощадьОтделокПленка,
    втПлощадьОтделокМассив.ПлощадьОтделокМассив КАК ПлощадьОтделокМассив,
    втПлощадьОтделокЭмаль.ПлощадьОтделокЭмаль КАК ПлощадьОтделокЭмаль,
    втПлощадьКорпусов.ПлощадьКорпусов КАК ПлощадьКорпусов,
    втПлощадьТСС.ПлощадьТСС КАК ПлощадьТСС,
    втЗаказы.СтатусЗаказа КАК СтатусЗаказа,
    втЗаказы.ТипЗаказа КАК ТипЗаказа,
    втИнфоЗак.Номер КАК Номер,
    ПРЕДСТАВЛЕНИЕССЫЛКИ(втЗаказы.ЗаказПр) КАК ЗаказПрПредставление,
    ПРЕДСТАВЛЕНИЕССЫЛКИ(втПоПотокам.Комплектация) КАК КомплектацияПредставление,
    ПРЕДСТАВЛЕНИЕССЫЛКИ(втПоПотокам.Корпуса) КАК КорпусаПредставление,
    втЗаказы.СтатусЗаказа.Порядок КАК СтатусЗаказаПорядок,
    ПРЕДСТАВЛЕНИЕССЫЛКИ(втЗаказы.ТипЗаказа) КАК ТипЗаказаПредставление,
    втЗаказы.ТипЗаказа.Наименование КАК ТипЗаказаНаименование,
    ПРЕДСТАВЛЕНИЕССЫЛКИ(втПоПотокам.Фасады) КАК ФасадыПредставление,
    ПРЕДСТАВЛЕНИЕССЫЛКИ(втПоПотокамФасады.ФасадыAL) КАК ФасадыALПредставление,
    ПРЕДСТАВЛЕНИЕССЫЛКИ(втПоПотокамФасады.ФасадыTSS) КАК ФасадыTSSПредставление,
    ПРЕДСТАВЛЕНИЕССЫЛКИ(втПоПотокамФасады.ФасадыМассив) КАК ФасадыМассивПредставление,
    ПРЕДСТАВЛЕНИЕССЫЛКИ(втПоПотокамФасады.ФасадыПленка) КАК ФасадыПленкаПредставление
ИЗ
    втЗаказы КАК втЗаказы
        ЛЕВОЕ СОЕДИНЕНИЕ втИнфоЗак КАК втИнфоЗак
        ПО втЗаказы.ЗаказПр = втИнфоЗак.ЗаказПр
        ЛЕВОЕ СОЕДИНЕНИЕ втПоПотокам КАК втПоПотокам
        ПО втЗаказы.ЗаказПр = втПоПотокам.ЗаказПр
        ЛЕВОЕ СОЕДИНЕНИЕ втПоПотокамФасады КАК втПоПотокамФасады
        ПО втЗаказы.ЗаказПр = втПоПотокамФасады.ЗаказПр
        ЛЕВОЕ СОЕДИНЕНИЕ втМоделиЦветаФасадов КАК втМоделиЦвета
            ЛЕВОЕ СОЕДИНЕНИЕ втПлощадьМоделейФасадов КАК втПлощадьМоделейФасадов
            ПО втМоделиЦвета.Регистратор = втПлощадьМоделейФасадов.Регистратор
                И втМоделиЦвета.Модель = втПлощадьМоделейФасадов.Модель
            ЛЕВОЕ СОЕДИНЕНИЕ втПлощадьЦветаФасадов КАК втПлощадьЦветаФасадов
            ПО втМоделиЦвета.Регистратор = втПлощадьЦветаФасадов.Регистратор
                И втМоделиЦвета.Цвет = втПлощадьЦветаФасадов.Цвет
        ПО втЗаказы.ЗаказПр = втМоделиЦвета.Регистратор
        ЛЕВОЕ СОЕДИНЕНИЕ втПлощадьОтделокПленка КАК втПлощадьОтделокПленка
        ПО втЗаказы.ЗаказПр = втПлощадьОтделокПленка.ЗаказПр
        ЛЕВОЕ СОЕДИНЕНИЕ втПлощадьОтделокМассив КАК втПлощадьОтделокМассив
        ПО втЗаказы.ЗаказПр = втПлощадьОтделокМассив.ЗаказПр
        ЛЕВОЕ СОЕДИНЕНИЕ втПлощадьОтделокЭмаль КАК втПлощадьОтделокЭмаль
        ПО втЗаказы.ЗаказПр = втПлощадьОтделокЭмаль.ЗаказПр
        ЛЕВОЕ СОЕДИНЕНИЕ втПлощадьКорпусов КАК втПлощадьКорпусов
        ПО втЗаказы.ЗаказПр = втПлощадьКорпусов.Регистратор
        ЛЕВОЕ СОЕДИНЕНИЕ втПлощадьТСС КАК втПлощадьТСС
        ПО втЗаказы.ЗаказПр = втПлощадьТСС.Регистратор
   Droning1C
 
22 - 29.12.21 - 09:08
вопрос все еще актуален. Из (6) следует, что для группировок не могут использоваться поля типа строка неограниченной длины. В каких еще случаях на поле накладывается ограничение и оно не может участвовать в группировке?


Список тем форума
 
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.