Случай при самоавтоматизации
Я экспортирую в свою программу-дневник, написанную на 1С, данные из Toggl, разношу работы по проектам и проверяю, что все разнес путем сверки итогов дня в 1С и Toggl.
Все шло хорошо длительное время, как вдруг в один прекрасный день сломалось:
Я сразу же полез в код динамического списка этого регистра, код был такой:
ВЫБРАТЬ ТС.Дата КАК Дата, ТС.РаботыСверены КАК РаботыСверены, Работы.ФактМин КАК ФактМин, Работы.ФактЧас КАК ФактЧас ИЗ РегистрСведений.СверкаРаботПоДням КАК ТС ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ НАЧАЛОПЕРИОДА(Т.Дата, ДЕНЬ) КАК Дата, СУММА(Т.ФактМин) КАК ФактМин, СУММА(Т.ФактМин / 60) КАК ФактЧас ИЗ Документ.Работы КАК Т ГДЕ Т.Проведен И Т.Проект <> ЗНАЧЕНИЕ(Справочник.Проекты.ПустаяСсылка) СГРУППИРОВАТЬ ПО Т.Дата) КАК Работы ПО (ТС.Дата = НАЧАЛОПЕРИОДА(Работы.Дата, ДЕНЬ))
Ошибку заметил сразу, а вы?
Проблема была в том, что группировка не совпадала с полем группировки, в итоге поправил так:
ВЫБРАТЬ ... ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ НАЧАЛОПЕРИОДА(Т.Дата, ДЕНЬ) КАК Дата, ... ИЗ Документ.Работы КАК Т ... СГРУППИРОВАТЬ ПО НАЧАЛОПЕРИОДА(Т.Дата, ДЕНЬ)) КАК Работы ...
Глаз замылился, бывает…
Мне не нравятся такие алиасы
Если ты про Т, то в случае одной таблицы в запросе удобнее, когда алиас короткий.
Подзапрос не нужен
Почему?
Потому что можно без него. Это же очевидно
если ты про то, чтобы вынести группировку в верхний запрос, то я против. Это динамический список, работать то будет, но моя эстетика протестует против такого решения.