Всем привет! В СКД получаю представления таблицы регистра кадровая история. Я в курсе про представления кадровых сведений сотрудников, мне нужны все даты, когда человек менял филиал. Получаю даты приблизительно таким образом:
ВЫБРАТЬ
ДАТАВРЕМЯ(1, 1, 1) КАК Период,
ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК Сотрудник,
ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
ПОМЕСТИТЬ Представления_ТаблицаРегистра_КадроваяИсторияСотрудников
ИЗ
ВТОтборДляТаблицыРегистра КАК ОтборДляТаблицыРегистра
Потом группирую по полям сотрудник и организация и все хорошо. На выходе у меня столько записей, сколько разных филиалов было у этого сотрудника. Если вывести эти три поля или использовать в любом другом запросе, то все хорошо. Но если отключить поле организация(в СКД или просто выбрать данные без него) то я получаю одну запись - последнюю. Группировок нет. Да и даже при их наличии поле период всегда разное. Как может работать эта магия?
все формирования временных таблиц должны выглядеть не так
выбрать поле_которое_используется,поле_которое_не_используется, например_сумма(поле)
поместить вт
из т
сгруппировать по
поле_которое_используется, поле_которое_не_используется
а так
выбрать поле_которое_используется, например_сумма(поле)
поместить вт
из т
сгруппировать по
поле_которое_используется,поле_которое_не_используется
(1)Непонятно в чем разница, но в силу потребностей в отчете работает именно так
Первая таблица представления
Вторая таблица группирует данные из таблицы представлений
Третий запрос выбирает данные из второй таблицы
(3)Ну типа ок. Положил в другую таблицу. Ничего не изменилось. Оптимизатор по прежнему выкидывает, так как считает, что оно не нужно. Что еще можно сделать с этим?