1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
Sayan_mi 23.12.20 - 12:12 | Есть Альфа-Авто, редакция 5.1 (5.1.14.05) Делаю отчет на СКД.
В отчете есть временные таблицы и в них суммирую поля. В консоли запросов все нормально. В отчет подтягивается только 1 значение. Где искать собаку? Вот кусок запроса, это часть от целого, просто за место временной таблицы вывел в результат и поместил в отдельный отчет. ВЫБРАТЬ РАЗЛИЧНЫЕ ун_ТабельноеВремя.Сотрудник КАК Сотрудник, ун_ТабельноеВремя.Часы КАК ВремяР, ГрафикРаботКалендарный.Дата, ГрафикРаботКалендарный.ВидДня ПОМЕСТИТЬ втРабочееВремя ИЗ РегистрСведений.ун_ТабельноеВремя КАК ун_ТабельноеВремя ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикРаботКалендарный КАК ГрафикРаботКалендарный ПО ун_ТабельноеВремя.Период = ГрафикРаботКалендарный.Дата И (ГрафикРаботКалендарный.График = &График) ГДЕ ун_ТабельноеВремя.Период МЕЖДУ &НачалоПериода И &КонецПериода И ун_ТабельноеВремя.ВидИнтервала = &Работа ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ втРабочееВремя.Сотрудник, СУММА(втРабочееВремя.ВремяР) КАК ВремяР, NULL КАК ВремяВ ИЗ втРабочееВремя КАК втРабочееВремя ГДЕ втРабочееВремя.ВидДня = &Рабочий СГРУППИРОВАТЬ ПО втРабочееВремя.Сотрудник ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ втРабочееВремя.Сотрудник, NULL, СУММА(втРабочееВремя.ВремяР) ИЗ втРабочееВремя КАК втРабочееВремя ГДЕ втРабочееВремя.ВидДня В(&Выходной) СГРУППИРОВАТЬ ПО втРабочееВремя.Сотрудник В консоли у людей по 168 часов в отчете 8 :-( | ||
toypaul 1 - 23.12.20 - 12:31 | Начать с этой части статьи http://catalog.mista.ru/1c/articles/1224249/
когда будет понятно что не так, прочитать остальные части | ||
toypaul 2 - 23.12.20 - 12:33 | есть мысль что первую часть запроса СКД превращает в ВЫБРАТЬ РАЗЛИЧНЫЕ ун_ТабельноеВремя.Сотрудник КАК Сотрудник, ун_ТабельноеВремя.Часы КАК ВремяР, ГрафикРаботКалендарный.ВидДня ПОМЕСТИТЬ втРабочееВремя ИЗ РегистрСведений.ун_ТабельноеВремя КАК ун_ТабельноеВремя ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикРаботКалендарный КАК ГрафикРаботКалендарный ПО ун_ТабельноеВремя.Период = ГрафикРаботКалендарный.Дата И (ГрафикРаботКалендарный.График = &График) ГДЕ ун_ТабельноеВремя.Период МЕЖДУ &НачалоПериода И &КонецПериода И ун_ТабельноеВремя.ВидИнтервала = &Работа | ||
toypaul 3 - 23.12.20 - 12:35 | Лечится в этом случае такВЫБРАТЬ втРабочееВремя.Сотрудник, СУММА(втРабочееВремя.ВремяР) КАК ВремяР, NULL КАК ВремяВ, МАКСИМУМ(втРабочееВремя.Дата) КАК Дата ИЗ втРабочееВремя КАК втРабочееВремя ГДЕ втРабочееВремя.ВидДня = &Рабочий СГРУППИРОВАТЬ ПО втРабочееВремя.Сотрудник ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ втРабочееВремя.Сотрудник, NULL, СУММА(втРабочееВремя.ВремяР), МАКСИМУМ(втРабочееВремя.Дата) КАК Дата ИЗ втРабочееВремя КАК втРабочееВремя ГДЕ втРабочееВремя.ВидДня В(&Выходной) СГРУППИРОВАТЬ ПО втРабочееВремя.Сотрудник есть другой вариант, но он "опасный" для тех кто не понимает :) | ||
Sayan_mi 4 - 23.12.20 - 13:16 | Да проблема оказалась не в Сгруппировать а в различные. Сумел ограничить первый кусок без различных и все заработало. |
|
Список тем форума |