Управление макетом в отчётах СКД
Есть запрос в ЗУП 8.2 получающий виды начислений/удержаний и результаты по ним.
Необходимо построить отчёт такого рода:
По горизонтали – название начисления/удержания
По вертикали – сотрудник и результат начисления/удержания
Плюс: Должна быть общая ячейка-заголовок объединяющая все начисления и точно такая же для удержаний. В конце каждой такой ячейки должна быть итоговая сумма всех начислений и всех удержаний по сотруднику.
Вид отчёта примерно такой:
Запрос у меня вот такой:
ВЫБРАТЬ ОсновныеНачисленияРаботниковОрганизаций.Организация.Наименование, ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо.Наименование КАК ФизЛицо, ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Наименование, ОсновныеНачисленияРаботниковОрганизаций.Результат, ИСТИНА КАК Начисление, ЛОЖЬ КАК Удержание, ЛОЖЬ КАК НДФЛ, ОсновныеНачисленияРаботниковОрганизаций.ПериодДействияИЗ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизацийГДЕ ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &НачДата И &КонДата И ОсновныеНачисленияРаботниковОрганизаций.Результат <> 0
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ ДополнительныеНачисленияРаботниковОрганизаций.Организация.Наименование, ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо.Наименование КАК ФизЛицо, ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.Наименование, ДополнительныеНачисленияРаботниковОрганизаций.Результат, ИСТИНА КАК ОсновноеНачисление, ЛОЖЬ КАК Удержание, ЛОЖЬ КАК НДФЛ, “”ИЗ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизацийГДЕ ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &НачДата И &КонДата И ДополнительныеНачисленияРаботниковОрганизаций.Результат <> 0
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ УдержанияРаботниковОрганизаций.Организация.Наименование, УдержанияРаботниковОрганизаций.ФизЛицо.Наименование КАК ФизЛицо, УдержанияРаботниковОрганизаций.ВидРасчета.Наименование, УдержанияРаботниковОрганизаций.Результат, ЛОЖЬ КАК ОсновноеНачисление, ИСТИНА КАК Удержание, ЛОЖЬ КАК НДФЛ, “”ИЗ РегистрРасчета.УдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизацийГДЕ УдержанияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &НачДата И &КонДата И УдержанияРаботниковОрганизаций.Результат <> 0
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ ПогашениеЗаймовРаботникамиОрганизацийОбороты.Организация.Наименование, ПогашениеЗаймовРаботникамиОрганизацийОбороты.ФизЛицо.Наименование, “Погашение займа” КАК ВидРасчетаНаименование, ПогашениеЗаймовРаботникамиОрганизацийОбороты.ОсновнойДолгРасход, ЛОЖЬ, ИСТИНА, ЛОЖЬ, “”ИЗ РегистрНакопления.ПогашениеЗаймовРаботникамиОрганизаций.Обороты(&НачДата, &КонДата, Запись, ) КАК ПогашениеЗаймовРаботникамиОрганизацийОбороты
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ НДФЛРасчетыСБюджетомОбороты.Организация.Наименование, НДФЛРасчетыСБюджетомОбороты.ФизЛицо.Наименование, “НДФЛ начисленный”, НДФЛРасчетыСБюджетомОбороты.НалогПриход, ЛОЖЬ КАК ОсновноеНачисление, ЛОЖЬ КАК Удержание, ИСТИНА КАК НДФЛ, “”ИЗ РегистрНакопления.НДФЛРасчетыСБюджетом.Обороты(&НачДата, &КонДата, Запись) КАК НДФЛРасчетыСБюджетомОбороты
УПОРЯДОЧИТЬ ПО ФизЛицо
Не догоняю вот чего – как мне сгруппировать начисления и удержания в макете и всё вывести по образцу выше?
Мне думается возможны такие варианты:
1) Сгруппировать поля при помощи Групп (Выбранные поля \ Новая Группа). Плюс, ввести итоговые-рассчетные поля.
2) Добавить в результат запроса поле определяющее вид (начисление\ удержание) и поле определяющее элемент-подвид (оклад, удержание за… и тд), а затем построить схему отчета с таблицей, где по колонкам будут группа вид и подгруппа элементов. Итоги в этом случае могут быть рассчитаны автоматически: как по горизонтали так и по вертикали.
Для группировки столбцов под одним названием на вкладке “Настройки” Схемы компоновки данных нужно перейти на вкладку “Выбранные поля”.
И уже там, после того как расставил по порядку все свои поля, выделяешь нужные для группировки поля (зажав SHIFT), кликаешь на всем этом безобразии правой кнопкой мыши и из открывшегося контекстного меню выбираешь “Сгруппировать поля”.
Появляется пиктограмма папки с древоветкой твоих выбранных полей для группировки.
А там уже вводишь название группы (оно и отображается в шапке таблицы).
Сделал вот таким образом:
http://s014.radikal.ru/i327/1105/72/c79177953062.jpg
Отчёт получается таким:
http://i010.radikal.ru/1105/4e/e8adaa5584a9.jpg
Даже рядом не стоит с желаемым результатом
На всякий случай кидай текст запроса, который использую. Говорят, что СКД очень сильно от него зависит. Может там, что-то не так делаю. Запрос подвергся небольшой модернизации по сравнению с вариантом выше. ЗУП используется стандартный, так что этот запрос можно попробовать на любой конфе ЗУПа.
ВЫБРАТЬ
ВложенныйЗапрос.Организация,
ВложенныйЗапрос.ФизЛицо КАК ФизЛицо,
ВложенныйЗапрос.ВидРасчета,
ВложенныйЗапрос.ТипНУ,
СУММА(ВложенныйЗапрос.Результат) КАК Результат
ИЗ
(ВЫБРАТЬ
ОсновныеНачисленияРаботниковОрганизаций.Организация КАК Организация,
ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо КАК ФизЛицо,
ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета КАК ВидРасчета,
ОсновныеНачисленияРаботниковОрганизаций.Результат КАК Результат,
ИСТИНА КАК Начисление,
ЛОЖЬ КАК Удержание,
ЛОЖЬ КАК НДФЛ,
“Начисления” КАК ТипНУ,
ОсновныеНачисленияРаботниковОрганизаций.ПериодДействия КАК ПериодДействия
ИЗ
РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций
ГДЕ
ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода
И ОсновныеНачисленияРаботниковОрганизаций.Результат 0
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДополнительныеНачисленияРаботниковОрганизаций.Организация,
ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо,
ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета,
ДополнительныеНачисленияРаботниковОрганизаций.Результат,
ИСТИНА,
ЛОЖЬ,
ЛОЖЬ,
“Начисления”,
“”
ИЗ
РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций
ГДЕ
ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода
И ДополнительныеНачисленияРаботниковОрганизаций.Результат 0
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
УдержанияРаботниковОрганизаций.Организация,
УдержанияРаботниковОрганизаций.ФизЛицо,
УдержанияРаботниковОрганизаций.ВидРасчета,
УдержанияРаботниковОрганизаций.Результат,
ЛОЖЬ,
ИСТИНА,
ЛОЖЬ,
“Удержание”,
“”
ИЗ
РегистрРасчета.УдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизаций
ГДЕ
УдержанияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода
И УдержанияРаботниковОрганизаций.Результат 0
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ПогашениеЗаймовРаботникамиОрганизацийОбороты.Организация,
ПогашениеЗаймовРаботникамиОрганизацийОбороты.ФизЛицо,
“Погашение займа”,
ПогашениеЗаймовРаботникамиОрганизацийОбороты.ОсновнойДолгРасход,
ЛОЖЬ,
ИСТИНА,
ЛОЖЬ,
“Удержание”,
“”
ИЗ
РегистрНакопления.ПогашениеЗаймовРаботникамиОрганизаций.Обороты(&НачалоПериода, &КонецПериода, Запись, ) КАК ПогашениеЗаймовРаботникамиОрганизацийОбороты
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
НДФЛРасчетыСБюджетомОбороты.Организация,
НДФЛРасчетыСБюджетомОбороты.ФизЛицо,
“НДФЛ начисленный”,
НДФЛРасчетыСБюджетомОбороты.НалогПриход,
ЛОЖЬ,
ЛОЖЬ,
ИСТИНА,
“НДФЛ”,
“”
ИЗ
РегистрНакопления.НДФЛРасчетыСБюджетом.Обороты(&НачалоПериода, &КонецПериода, Запись, ) КАК НДФЛРасчетыСБюджетомОбороты) КАК ВложенныйЗапрос
СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Организация,
ВложенныйЗапрос.ФизЛицо,
ВложенныйЗапрос.ТипНУ,
ВложенныйЗапрос.ВидРасчета
УПОРЯДОЧИТЬ ПО
ФизЛицо
Если вопрос все еще актуалень могу помочь
Да, очень актуален! Хочется всё-таки научиться и закрыть эту тему