Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Почему группировка работает не правильно?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Система компоновки данных
alex040269
Есть два запроса:

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


И

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


отличаются только строкой

ВЫРАЗИТЬ(РабочееВремяРаботниковОрганизаций.Регистратор КАК Документ.ТабельУчетаРабочегоВремениОрганизации).ПодразделениеОрганизации КАК ПодразделениеОрганизации

в первом все работает корректно, во втором группировка по подразделению работает не правильно!

Грппировка1
Деталь1
Деталь2
Грппировка1
Деталь1
Деталь2
Деталь3
Грппировка1
Деталь1
Деталь2
Деталь3
Деталь4
Грппировка2
Деталь1
Деталь2
Грппировка2
Деталь1
Деталь2
Деталь3
Грппировка2
Деталь1
Деталь2
Деталь3
Деталь4

и т.д.
Ardi
 ВЫРАЗИТЬ(РабочееВремяРаботниковОрганизаций.Регистратор КАК Документ.ТабельУчетаРабочегоВремениОрганизации).ПодразделениеОрганизации КАК ПодразделениеОрганизации

Блин, я с двадцатой попытки понял этот кусок кода. Не думал что так можно.
pablo
РабочееВремяРаботниковОрганизаций.Регистратор какие может принимать типы значений?
Теоретически у вас туда может попадать пустая ссылка
Batchir
Цитата(Ardi @ 15.01.14, 18:45) необходимо зарегистрироваться для просмотра ссылки
Блин, я с двадцатой попытки понял этот кусок кода. Не думал что так можно.

+1
alex040269
Цитата(Ardi @ 15.01.14, 18:45) необходимо зарегистрироваться для просмотра ссылки
 ВЫРАЗИТЬ(РабочееВремяРаботниковОрганизаций.Регистратор КАК Документ.ТабельУчетаРабочегоВремениОрганизации).ПодразделениеОрганизации КАК ПодразделениеОрганизации

Блин, я с двадцатой попытки понял этот кусок кода. Не думал что так можно.


тут есть один нюанс.

Если у регистра несколько регистраторов, то строка в запросе
РабочееВремяРаботниковОрганизаций.Регистратор.ПодразделениеОрганизации

генерирует левое соединение ко всем таблицам регистраторов, а
ВЫРАЗИТЬ(РабочееВремяРаботниковОрганизаций.Регистратор КАК Документ.ТабельУчетаРабочегоВремениОрганизации).ПодразделениеОрганизации

только к одной .

Цитата(pablo @ 16.01.14, 9:37) необходимо зарегистрироваться для просмотра ссылки
РабочееВремяРаботниковОрганизаций.Регистратор какие может принимать типы значений?
Теоретически у вас туда может попадать пустая ссылка

Если пустая ссылка есть, то по идее должно быть:

Деталь1
Деталь2
Деталь3
Деталь4
Группировка1
Деталь1
Деталь2
Деталь3
Группировка2
Деталь1
Деталь2
Деталь3
pablo
Я бы посоветовал переписать запрос на 2 подзапроса: первый выбирает нужные регистраторы (или нужные подразделения), а второй выбирает уже нужные данные. а то
Цитата
генерирует левое соединение ко всем таблицам регистраторов, а ... только к одной.
может криво работать. Может Вы наткнулись на новый баг?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.