N
nestovby
Здравствуйте! У меня вот такая проблема: имеются два справочника (не подчиненные ни к какому другому): ДоплатыЗаУченоеЗвание и ДоплатыЗаУченуюСтепень, и есть справочник КадровыеДанные, откуда нужно брать сотрудников (в частности поля степень и звание).
Нужно вывести все звания и степени сотрудников с суммарными ставками. И по каждой степени и по каждому званию указать соответствующую ставку1гоРазряда (периодические поля из спр ДоплатыЗаУченуюСтепень и ...Звание). Но у меня не получается обьединить справочники ДоплатыЗаУченуюСтепень и ДоплатыЗаУченуюСтепень, значение выводятся отдельно, не группируются (т.е. не в одной строке выводятся). Вот скрин, чтобы наглядно видеть мою проблему:
Как мне обьединить поля, через запрос, чтобы выводилась, например, строка: Профессор, Доктор наук, 8 (ставки), 4 и 6 (ставки 1-го разряда) в одной строке? И можно ли вообще через запрос это сделать? или нужно только ТЗ использовать?
вот мой код (может быть что-то в нем нужно изменить, чтобы выводилось нормально?):
Нужно вывести все звания и степени сотрудников с суммарными ставками. И по каждой степени и по каждому званию указать соответствующую ставку1гоРазряда (периодические поля из спр ДоплатыЗаУченуюСтепень и ...Звание). Но у меня не получается обьединить справочники ДоплатыЗаУченуюСтепень и ДоплатыЗаУченуюСтепень, значение выводятся отдельно, не группируются (т.е. не в одной строке выводятся). Вот скрин, чтобы наглядно видеть мою проблему:
Как мне обьединить поля, через запрос, чтобы выводилась, например, строка: Профессор, Доктор наук, 8 (ставки), 4 и 6 (ставки 1-го разряда) в одной строке? И можно ли вообще через запрос это сделать? или нужно только ТЗ использовать?
вот мой код (может быть что-то в нем нужно изменить, чтобы выводилось нормально?):
Код:
Процедура Сформировать()
Перем Запрос, Сумма,сумма2, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|УченоеЗвание = Справочник.КадровыеДанные.УченоеЗвание, Справочник.ДоплатыЗаУченыеЗвания.УченоеЗвание;
|УченаяСтепень = Справочник.КадровыеДанные.УченаяСтепень.УченаяСтепень, Справочник.ДоплатыЗаУченуюСтепень.УченаяСтепень;
|ЧислоСтавокДляППС = Справочник.ДоплатыЗаУченуюСтепень.ЧислоСтавокДляППС;
|ЧислоСтавокДляППС1 = Справочник.ДоплатыЗаУченыеЗвания.ЧислоСтавокДляППС;
|Владелец = Справочник.КадровыеДанные.Владелец.Ставка;
|Функция ВладелецСумма = Сумма(Владелец);
|Группировка УченоеЗвание;
|Группировка УченаяСтепень;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
Пока Запрос.Группировка(2) = 1 Цикл
//Здесь потом еще просто будет умножение на число
ЧислоСтавокДляППС=запрос.ЧислоСтавокДляППС;//* 1400
ЧислоСтавокДляППС1=запрос.ЧислоСтавокДляППС1;//*1200
//
Таб.ВывестиСекцию("УченаяСтепень");
КонецЦикла;
КонецЦикла;
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры