![]() |
![]() |
![]() |
|
СКД. Не "сворачиваются" данные по группировке | ☑ | ||
---|---|---|---|---|
0
Анцеранана
19.09.12
✎
10:00
|
У меня есть отчет в СКД , где в строках заданы группировки.
- Подразделение --Сотрудник ---Период... Результат выводится примерно в таком виде: -Дирекция --Иванов ---Июнь 2012 года ---Июль 2012 года --Петров ---Июль 2012 года Когда я меняю иерархию и хочу вывести отчет в формате -Подразделение --Период у меня выводится: -Дирекция ---Июнь 2012 года ---Июль 2012 года ---Июль 2012 года Группировка по периоду почему-то не сворачивается. Что я сделал не так? |
|||
1
Alex S D
19.09.12
✎
10:01
|
может период к началу периода приводить? наверное форматом месяц делаешь, а по факту дни разные?
|
|||
2
Aprobator
19.09.12
✎
10:07
|
(1) +100500.
|
|||
3
Анцеранана
19.09.12
✎
10:18
|
(1) (2) как раз привожу, только к концу - вот так:
КОНЕЦПЕРИОДА(УправленческиеНачисления.ПериодРегистрации, МЕСЯЦ) КАК ПериодРегистрации, так что не прокатило. |
|||
4
Aprobator
19.09.12
✎
10:28
|
тогда странно. Причем очень.
|
|||
5
Aprobator
19.09.12
✎
10:29
|
приводишь то в запросе?
|
|||
6
Alex S D
19.09.12
✎
10:29
|
ну давай запрос, до кучи..
|
|||
7
Анцеранана
19.09.12
✎
10:32
|
Причем самое странное, что некоторых сотрудников в рамках периода группирует, а других нет. как-то странно это все..
Запрос: ВЫБРАТЬ КОНЕЦПЕРИОДА(УправленческиеНачисления.ПериодРегистрации, МЕСЯЦ) КАК ПериодРегистрации, КОНЕЦПЕРИОДА(УправленческиеНачисления.ПериодРегистрации, МЕСЯЦ) КАК ПериодРасчета, УправленческиеНачисления.Регистратор.ВалютаДокумента КАК ВалютаДокумента, УправленческиеНачисления.ВидРасчета КАК ВидРасчета, УправленческиеНачисления.ВидРасчета.СпособОтраженияВУпрУчете КАК СпособОтражения, УправленческиеНачисления.ФизЛицо КАК ФизЛицо, УправленческиеНачисления.Подразделение КАК Подразделение, СУММА(УправленческиеНачисления.Результат) КАК Результат ПОМЕСТИТЬ ВыплатыИКурс ИЗ РегистрРасчета.УправленческиеНачисления КАК УправленческиеНачисления ГДЕ УправленческиеНачисления.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода И НЕ УправленческиеНачисления.ВидРасчета В (&МассивПремийБонусов) СГРУППИРОВАТЬ ПО УправленческиеНачисления.ПериодРегистрации, УправленческиеНачисления.Регистратор.ВалютаДокумента, УправленческиеНачисления.ВидРасчета, УправленческиеНачисления.ВидРасчета.СпособОтраженияВУпрУчете, УправленческиеНачисления.ФизЛицо, УправленческиеНачисления.Подразделение ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ КОНЕЦПЕРИОДА(УправленческиеУдержания.ПериодРегистрации, МЕСЯЦ), КОНЕЦПЕРИОДА(УправленческиеУдержания.ПериодРегистрации, МЕСЯЦ), УправленческиеУдержания.Регистратор.ВалютаДокумента, ВЫБОР КОГДА УправленческиеУдержания.ВидРасчета В (&МассивУдержанийПоОкладу) ТОГДА &ВидРасчетаОклад КОГДА УправленческиеУдержания.ВидРасчета В (&МассивУдержанийПоМаксПремии) ТОГДА &ВидРасчетаМаксПремия КОНЕЦ, ВЫБОР КОГДА УправленческиеУдержания.ВидРасчета.Наименование ПОДОБНО "%премии%" ТОГДА &СпособОтраженияПремии ИНАЧЕ &СпособОтраженияЗарплата КОНЕЦ, УправленческиеУдержания.ФизЛицо, УправленческиеУдержания.Подразделение, СУММА(-УправленческиеУдержания.Результат) ИЗ РегистрРасчета.УправленческиеУдержания КАК УправленческиеУдержания ГДЕ УправленческиеУдержания.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода И НЕ УправленческиеУдержания.ВидРасчета В (&МассивУдержанийПоПремиямБонусам) СГРУППИРОВАТЬ ПО УправленческиеУдержания.ПериодРегистрации, УправленческиеУдержания.Регистратор.ВалютаДокумента, УправленческиеУдержания.ВидРасчета, УправленческиеУдержания.ФизЛицо, УправленческиеУдержания.Подразделение, ВЫБОР КОГДА УправленческиеУдержания.ВидРасчета.Наименование ПОДОБНО "%премии%" ТОГДА &СпособОтраженияПремии ИНАЧЕ &СпособОтраженияЗарплата КОНЕЦ ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(УправленческиеНачисления.ПериодРегистрации, МЕСЯЦ, 1), МЕСЯЦ), КОНЕЦПЕРИОДА(УправленческиеНачисления.ПериодРегистрации, МЕСЯЦ), УправленческиеНачисления.Регистратор.ВалютаДокумента, УправленческиеНачисления.ВидРасчета, УправленческиеНачисления.ВидРасчета.СпособОтраженияВУпрУчете, УправленческиеНачисления.ФизЛицо, УправленческиеНачисления.Подразделение, СУММА(УправленческиеНачисления.Результат) ИЗ РегистрРасчета.УправленческиеНачисления КАК УправленческиеНачисления ГДЕ УправленческиеНачисления.ПериодРегистрации МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, МЕСЯЦ, -1) И ДОБАВИТЬКДАТЕ(&КонецПериода, МЕСЯЦ, -1) И УправленческиеНачисления.ВидРасчета В(&МассивПремийБонусов) СГРУППИРОВАТЬ ПО УправленческиеНачисления.ПериодРегистрации, УправленческиеНачисления.Регистратор.ВалютаДокумента, УправленческиеНачисления.ВидРасчета, УправленческиеНачисления.ВидРасчета.СпособОтраженияВУпрУчете, УправленческиеНачисления.ФизЛицо, УправленческиеНачисления.Подразделение ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(УправленческиеУдержания.ПериодРегистрации, МЕСЯЦ, 1), МЕСЯЦ), КОНЕЦПЕРИОДА(УправленческиеУдержания.ПериодРегистрации, МЕСЯЦ), УправленческиеУдержания.Регистратор.ВалютаДокумента, &ВидРасчетаПремияБонус, &СпособОтраженияПремии, УправленческиеУдержания.ФизЛицо, УправленческиеУдержания.Подразделение, СУММА(-УправленческиеУдержания.Результат) ИЗ РегистрРасчета.УправленческиеУдержания КАК УправленческиеУдержания ГДЕ УправленческиеУдержания.ПериодРегистрации МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, МЕСЯЦ, -1) И ДОБАВИТЬКДАТЕ(&КонецПериода, МЕСЯЦ, -1) И УправленческиеУдержания.ВидРасчета В(&МассивУдержанийПоПремиямБонусам) СГРУППИРОВАТЬ ПО УправленческиеУдержания.ПериодРегистрации, УправленческиеУдержания.Регистратор.ВалютаДокумента, УправленческиеУдержания.ВидРасчета, УправленческиеУдержания.ФизЛицо, УправленческиеУдержания.Подразделение, ВЫБОР КОГДА УправленческиеУдержания.ВидРасчета.Наименование ПОДОБНО "%премии%" ТОГДА &СпособОтраженияПремии ИНАЧЕ &СпособОтраженияЗарплата КОНЕЦ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВыплатыИКурс.ПериодРегистрации, ВыплатыИКурс.ВалютаДокумента, ВыплатыИКурс.ВидРасчета, ВыплатыИКурс.СпособОтражения, ВыплатыИКурс.ФизЛицо, ВыплатыИКурс.Подразделение, ВыплатыИКурс.Результат КАК Результат, МАКСИМУМ(КурсыВалют.Период) КАК ДатаКурсаДоллара ПОМЕСТИТЬ Выплаты ИЗ ВыплатыИКурс КАК ВыплатыИКурс ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют ПО ВыплатыИКурс.ПериодРасчета >= КурсыВалют.Период ГДЕ КурсыВалют.Валюта = &Доллар СГРУППИРОВАТЬ ПО ВыплатыИКурс.ВидРасчета, ВыплатыИКурс.СпособОтражения, ВыплатыИКурс.ФизЛицо, ВыплатыИКурс.Подразделение, ВыплатыИКурс.ПериодРегистрации, ВыплатыИКурс.ВалютаДокумента, ВыплатыИКурс.Результат ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РаботникиСрезПоследних.ФизЛицо, ВЫБОР КОГДА РаботникиСрезПоследнихУволенные.ФизЛицо ЕСТЬ NULL ТОГДА РАЗНОСТЬДАТ(РаботникиСрезПоследних.Период, &КонецПериода, МЕСЯЦ) ИНАЧЕ ВЫБОР КОГДА РаботникиСрезПоследнихУволенные.Период < РаботникиСрезПоследних.Период ТОГДА РАЗНОСТЬДАТ(РаботникиСрезПоследних.Период, &КонецПериода, МЕСЯЦ) ИНАЧЕ ВЫБОР КОГДА РаботникиСрезПоследнихУволенные.Период > &КонецПериода ТОГДА РАЗНОСТЬДАТ(РаботникиСрезПоследних.Период, &КонецПериода, МЕСЯЦ) ИНАЧЕ РАЗНОСТЬДАТ(РаботникиСрезПоследних.Период, РаботникиСрезПоследнихУволенные.Период, МЕСЯЦ) КОНЕЦ КОНЕЦ КОНЕЦ КАК Стаж, ВЫБОР КОГДА РаботникиСрезПоследнихУволенные.ФизЛицо ЕСТЬ NULL ТОГДА ЛОЖЬ ИНАЧЕ ВЫБОР КОГДА РаботникиСрезПоследнихУволенные.Период < РаботникиСрезПоследних.Период ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ КОНЕЦ КАК Уволен, ВЫБОР КОГДА РаботникиСрезПоследнихУволенные.ФизЛицо ЕСТЬ NULL ТОГДА ЛОЖЬ ИНАЧЕ ВЫБОР КОГДА РаботникиСрезПоследнихУволенные.Период < РаботникиСрезПоследних.Период ТОГДА ЛОЖЬ ИНАЧЕ ВЫБОР КОГДА РаботникиСрезПоследнихУволенные.Период > &КонецПериода ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ КОНЕЦ КОНЕЦ КАК УволенТекПер ПОМЕСТИТЬ Работники ИЗ РегистрСведений.Работники.СрезПоследних(&ДатаКонцаПериодаПлюсОдин, ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)) КАК РаботникиСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Работники.СрезПоследних(&ДатаКонцаПериодаПлюсОдин, ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)) КАК РаботникиСрезПоследнихУволенные ПО РаботникиСрезПоследних.ФизЛицо = РаботникиСрезПоследнихУволенные.ФизЛицо ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВыплатыИКурс.ФизЛицо, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВыплатыИКурс.ПериодРегистрации) КАК ПериодРегистрации ПОМЕСТИТЬ КолПериодов ИЗ ВыплатыИКурс КАК ВыплатыИКурс СГРУППИРОВАТЬ ПО ВыплатыИКурс.ФизЛицо ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Выплаты.ПериодРегистрации КАК Период, Выплаты.ФизЛицо, Выплаты.Подразделение, Работники.Стаж, Работники.Уволен, Выплаты.ВидРасчета, Выплаты.СпособОтражения, СУММА(ВЫБОР КОГДА &Валюта = &ВалютаУпр ТОГДА Выплаты.Результат ИНАЧЕ Выплаты.Результат / КурсыВалют.Курс КОНЕЦ) КАК Результат, КолПериодов.ПериодРегистрации КАК КолМес, Работники.УволенТекПер ПОМЕСТИТЬ База ИЗ Выплаты КАК Выплаты ЛЕВОЕ СОЕДИНЕНИЕ Работники КАК Работники ПО Выплаты.ФизЛицо = Работники.ФизЛицо ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют ПО Выплаты.ДатаКурсаДоллара = КурсыВалют.Период ВНУТРЕННЕЕ СОЕДИНЕНИЕ КолПериодов КАК КолПериодов ПО Выплаты.ФизЛицо = КолПериодов.ФизЛицо ГДЕ КурсыВалют.Валюта = &Доллар СГРУППИРОВАТЬ ПО Выплаты.ФизЛицо, Работники.Стаж, Работники.Уволен, Выплаты.ВидРасчета, Выплаты.СпособОтражения, Выплаты.Подразделение, Выплаты.ПериодРегистрации, КолПериодов.ПериодРегистрации, Работники.УволенТекПер ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ База.Период, База.ФизЛицо, База.Подразделение, База.Стаж, База.Уволен, База.УволенТекПер КАК УволенВТекущемПериоде, База.ВидРасчета, База.СпособОтражения, База.Результат, База.КолМес, ВЫБОР КОГДА База.ВидРасчета В ИЕРАРХИИ (&МассивПремийБонусов) ТОГДА 0 КОГДА База.ВидРасчета В ИЕРАРХИИ (&МассивГодовыхПремий) ТОГДА 0 ИНАЧЕ База.Результат / База.КолМес КОНЕЦ КАК СреднееБезБонусов, ВЫБОР КОГДА База.ВидРасчета В ИЕРАРХИИ (&МассивГодовыхПремий) ТОГДА 0 ИНАЧЕ База.Результат / База.КолМес КОНЕЦ КАК СреднееОбщее, ВЫБОР КОГДА База.ВидРасчета В ИЕРАРХИИ (&МассивГодовыхПремий) ТОГДА База.Результат / (12 * База.КолМес) ИНАЧЕ База.Результат / База.КолМес КОНЕЦ КАК СреднееГодовые ИЗ База КАК База ГДЕ ВЫБОР КОГДА База.ВидРасчета.СпособОтраженияВУпрУчете = &ОсновнаяЗарплата ТОГДА ВЫБОР КОГДА &Основные ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ ИНАЧЕ ИСТИНА КОНЕЦ И ВЫБОР КОГДА База.ВидРасчета.СпособОтраженияВУпрУчете = &СпособПремии ТОГДА ВЫБОР КОГДА &Премии ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ ИНАЧЕ ИСТИНА КОНЕЦ И ВЫБОР КОГДА База.ВидРасчета.СпособОтраженияВУпрУчете = &СпособПремииГодовые ТОГДА ВЫБОР КОГДА &ПремииГодовые ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ ИНАЧЕ ИСТИНА КОНЕЦ И ВЫБОР КОГДА База.ВидРасчета.СпособОтраженияВУпрУчете = ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка) ТОГДА ВЫБОР КОГДА &Прочие ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ ИНАЧЕ ИСТИНА КОНЕЦ |
|||
8
Alex S D
19.09.12
✎
10:42
|
посмотри запрос который выводит консоль СКД, в нем надо смотреть
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |