Версия для печати темы (https://pro1c.org.ua/index.php?s=1c97275804488991c58eb06f44db1ad5&showtopic=50600)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Система компоновки данных _ Группировка по NULL, Неопределено, Пустым значениям Измерения

Автор: Constantus 21.02.19, 13:09

Приветствую, форумчане!

8.3.6, УФ, полностью самописная

Имеется некий отчет на базе регистра накопления остатки и обороты. В результате работы выходили результаты, но не группировались по измерению "Модель"

Измерение модель является составным типом данных (данные по 3-м справочникам)

Хуже того, в этот регистр попадают записи из документов, которые не учитывают "Модель". В результате в списке данных регистра имеются
данные по "Модели" с данными, то ли NULL, то ли "Не заполнено", то ли "Не определено", то ли еще как, что визуально пусто.

если из отчета убираю "Модель", то всё группируется.

Подскажите как правильно сгруппировать данные с учетом "невидимых" данных по Модели?

Запрос

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

СГРУППИРОВАТЬ ПО
    ДвижениеТМЦОстаткиИОбороты.Номенклатура,
    ДвижениеТМЦОстаткиИОбороты.Подразделение,
    ДвижениеТМЦОстаткиИОбороты.Склад,
    ДвижениеТМЦОстаткиИОбороты.Размеры,
    ДвижениеТМЦОстаткиИОбороты.Полировка,
    ВЫБОР
        КОГДА ДвижениеТМЦОстаткиИОбороты.Модель = НЕОПРЕДЕЛЕНО
            ТОГДА "пустое значение"
        ИНАЧЕ "не пустая ссылка"
    КОНЕЦ,
    ДвижениеТМЦОстаткиИОбороты.Модель

УПОРЯДОЧИТЬ ПО
    Номенклатура,
    Размеры,
    Полировка


Пытался так сгруппировать:
    ВЫБОР
        КОГДА ДвижениеТМЦОстаткиИОбороты.Модель = НЕОПРЕДЕЛЕНО
            ТОГДА "пустое значение"
        ИНАЧЕ "не пустая ссылка"
    КОНЕЦ КАК Поле1,



Автор: Bernet 21.02.19, 14:47

Constantus @ Сегодня, 13:09 * ,
Не понял что хотите получить в итоге? Чтобы вместо пустого значения была надпись какая-то?

Автор: Constantus 21.02.19, 16:10

Bernet @ Сегодня, 17:47 * ,

Так. Если пустые значения любого типа, то вывести что-то типа "нема"

Автор: Bernet 21.02.19, 16:18

Constantus @ Сегодня, 16:10 * ,
Попробуйте так:

 ВЫБОР
        КОГДА ЕСТЬNULL(ДвижениеТМЦОстаткиИОбороты.Модель, ЗНАЧЕНИЕ(Справочник.Модели.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.Модели.ПустаяСсылка) ТОГДА
            ТОГДА "<Значение отсутствует>"
        ИНАЧЕ ДвижениеТМЦОстаткиИОбороты.Модель
    КОНЕЦ КАК Модель,

оставьте тогда только этот выбор - там где ниже вы модель в запросе выбирали уберите, а свой выбор замените на этот, а то у вас две колонки с моделью получится

Автор: Constantus 21.02.19, 16:23

Bernet @ Сегодня, 19:18 * ,

ДвижениеТМЦОстаткиИОбороты.Модель - составной объект из нескольких справочников

Автор: Bernet 21.02.19, 16:50

Constantus @ Сегодня, 16:23 * ,

ВЫБОР
        КОГДА ЕСТЬNULL(ДвижениеТМЦОстаткиИОбороты.Модель, """") = """" ИЛИ ДвижениеТМЦОстаткиИОбороты.Модель = НЕОПРЕДЕЛЕНО ИЛИ ДвижениеТМЦОстаткиИОбороты.Модель = ЗНАЧЕНИЕ(Справочник.ВАШСПРАВОЧНИК1.ПустаяСсылка) ИЛИ ДвижениеТМЦОстаткиИОбороты.Модель = ЗНАЧЕНИЕ(Справочник.ВАШСПРАВОЧНИК2.ПустаяСсылка) ИЛИ ...ТОГДА
            ТОГДА "<Значение отсутствует>"
        ИНАЧЕ ДвижениеТМЦОстаткиИОбороты.Модель
    КОНЕЦ КАК Модель,

Автор: TipsyKID 21.02.19, 18:33

Проблема не в запросе а в том, что Вы не корректно формируете движения.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua