Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 15:53

Помощь с выводом результата выборки в макет

Автор Siberia, 23 июл 2021, 14:44

0 Пользователей и 1 гость просматривают эту тему.

Siberia

Не понимаю как вывести список критериев работника. В нижний сектор он выводится, а в верхний нет. Область с критериями заполняется детальными записями, остальные через ИТОГИ запроса. Как мне получить список критериев в верхнюю область из нижней или сразу из запроса?
Запрос.Текст = "ВЫБРАТЬ
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Ссылка.Фирма.Ссылка КАК Фирма,
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Ссылка.Подразделение.Ссылка КАК Подразделение,
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Ссылка.МоментВремени КАК Месяц,
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Контрагент.Ссылка КАК Работник,
                       |    СведенияОРаботникахСрезПоследних.Оклад КАК Оклад,
                       |    НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.Критерий.Ссылка КАК Критерий,
                       |    СхемыМотивацииУсловияВыплаты.Коэффициент КАК Коэффициент,
                       |    НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.РасчетнаяСумма КАК Итог,
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Сумма КАК СуммаКритериев,
                       |    СхемыМотивацииУсловияВыплаты.ПроцентВыполненияОт КАК ПроцентОт,
                       |    СхемыМотивацииУсловияВыплаты.ПроцентВыполненияДо КАК ПроцентДо,
                       |    НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.ПроцентВыполнения КАК ПроцентВыполнения,
                       |    СхемыМотивацииУсловияВыплаты.КоэффициентПоПроцентуВыполнения КАК КоэффициентПоПроцентуВыполнения,
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Контрагент.Должность КАК Должность,
                       |    НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.СуммаПоКритерию КАК Бонус,
                       |    НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.Критерий.Наименование КАК Наименоваие,
                       |    СУММА(НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Сумма) + СведенияОРаботникахСрезПоследних.Оклад КАК СуммаИтог,
                       |    СУММА(НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.СуммаПоКритерию) + СведенияОРаботникахСрезПоследних.Оклад КАК Сумма
                       |ИЗ
                       |    Документ.НачислениеБонуснойЧастиСотрудникам.ПолнаяТаблица КАК НачислениеБонуснойЧастиСотрудникамПолнаяТаблица
                       |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.НачислениеБонуснойЧастиСотрудникам.ВыполнениеУсловий КАК НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий
                       |            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СхемыМотивации.УсловияВыплаты КАК СхемыМотивацииУсловияВыплаты
                       |            ПО НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.Критерий.Ссылка = СхемыМотивацииУсловияВыплаты.Критерий.Ссылка
                       |        ПО НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Контрагент.Ссылка = НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.Контрагент.Ссылка
                       |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОРаботниках.СрезПоследних КАК СведенияОРаботникахСрезПоследних
                       |        ПО НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Контрагент.Ссылка = СведенияОРаботникахСрезПоследних.Контрагент.Ссылка
                       |ГДЕ
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Ссылка.Фирма.Ссылка = &Фирма
                       |    И НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Ссылка.Подразделение.Ссылка = &Подразделение
                       |
                       |СГРУППИРОВАТЬ ПО
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Ссылка.Фирма.Ссылка,
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Ссылка.Подразделение.Ссылка,
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Ссылка.МоментВремени,
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Контрагент.Ссылка,
                       |    СведенияОРаботникахСрезПоследних.Оклад,
                       |    НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.Критерий.Ссылка,
                       |    СхемыМотивацииУсловияВыплаты.Коэффициент,
                       |    НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.РасчетнаяСумма,
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Сумма,
                       |    СхемыМотивацииУсловияВыплаты.ПроцентВыполненияОт,
                       |    СхемыМотивацииУсловияВыплаты.ПроцентВыполненияДо,
                       |    НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.ПроцентВыполнения,
                       |    СхемыМотивацииУсловияВыплаты.КоэффициентПоПроцентуВыполнения,
                       |    НачислениеБонуснойЧастиСотрудникамПолнаяТаблица.Контрагент.Должность,
                       |    НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.СуммаПоКритерию,
                       |    НачислениеБонуснойЧастиСотрудникамВыполнениеУсловий.Критерий.Наименование
                       |
                       |УПОРЯДОЧИТЬ ПО
                       |    Критерий,
                       |    ПроцентОт
                       |ИТОГИ
                       |    МАКСИМУМ(Оклад),
                       |    МАКСИМУМ(Коэффициент),
                       |    МАКСИМУМ(Итог),
                       |    МАКСИМУМ(Бонус),
                       |    МАКСИМУМ(Наименоваие),
                       |    МАКСИМУМ(СуммаИтог),
                       |    МАКСИМУМ(Сумма)
                       |ПО
                       |    Работник,
                       |    Критерий";
               
        Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
       
        ТабДок.НачатьАвтогруппировкуСтрок();
       
                   
                 Пока Выборка.Следующий() цикл
                    ЗаполнитьЗначенияСвойств(ОбластьРаботник.Параметры,Выборка);
                    ТабДок.Вывести(ОбластьРаботник);
                    ЗаполнитьЗначенияСвойств(ОбластьОклад.Параметры,Выборка);
                    ТабДок.Вывести(ОбластьОклад);
                    ЗаполнитьЗначенияСвойств(ОбластьОплата.Параметры, Выборка);
                    ТабДок.Вывести(ОбластьОплата);
                    ЗаполнитьЗначенияСвойств(ОбластьИтог.Параметры, Выборка);
                    ТабДок.Вывести(ОбластьИтог);
                    ТабДок.Вывести(ОбластьШапкаК);
                   
                   
                                       
                    ВыборкаКритерии = Выборка.Выбрать();
                   
                    Пока ВыборкаКритерии.Следующий() цикл
                       
                        ЗаполнитьЗначенияСвойств(ОбластьКритерии.Параметры, ВыборкаКритерии);
                       
                        ТабДок.Вывести(ОбластьКритерии);
                       
                       
                                           

                    КонецЦикла;
                  КонецЦикла;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск