|
Мастер отчетов
Вопрос:
Необходимо обеспечить возможность добавлять произвольный поясняющий текст и
обеспечить отображение объемных по содержанию описаний параметров (за счет
увеличения высоты каждой строки с параметром) в диалоговом окне запроса
параметров "Параметры запроса" и "Параметры отчета" для запросных форм и
отчетов.
Ответ:
Запрос параметров для запросных форм и отчетов является служебной функцией.
Именно поэтому расширение соответствующего функционала не планируется. Для
придания форме запроса параметров более функционального вида предлагается
применять следующую технологию:
- для конкретного отчета или запросной формы создается вспомогательная
таблица, а также табличная и экранная форма;
- формирование отчета или открытие запросной формы должно выполняться с
помощью бизнес-процедуры;
- бизнес-процедура создает объект класса "табличная форма" и выполняет
команду ShowSF для определенной записи этой табличной формы. Запись подлежит
выбору в рамках бизнес-процедуры. Например, для разных операторов могут
использоваться разные записи. При необходимости запись может быть создана
бизнес-процедурой;
- оператор вводит или изменяет параметры отчета через интерфейс экранной
формы и нажимает кнопку ОК. Для отказа от печати оператор должен нажать
кнопку Отмена. Для того, чтобы из бизнес-процедуры можно было понять, какая
кнопка была нажата, в таблице должно быть поле со значением по умолчанию
время и установленным флажком заполнять при любом изменении.
Кроме того,
экранная форма должна открываться для строки, находящейся в состоянии
редактирования. В этом случае если время изменилось, значит была нажата кнопка
ОК. Если время не изменилось, значит была нажата кнопка Отмена;
- если оператор нажал кнопку ОК, бизнес процедура далее формирует отчет
или открывает запросную форму с использованием параметров, введенных через
экранную форму.
Именно с учетом этих рекомендаций в версии 12.86.01 предусмотрена возможность
подключать бизнес-процедуру в перечень отчетов, формируемых из табличной формы.
|
Вопрос:
Как подсчитать итог для полосы отчета?
Ответ:
Предположим, что у нас имеется запрос, собирающий некоторые данные из лицевых счетов.
Введем на закладке Шапка /подвал, нажав кнопку Параметры отчета,
новый параметр - процент премии. Это нам поможет в случае,
если процент будет меняться. По умолчанию укажем 0.4.
Определив на закладке Итоги / субитоги (подчиненная закладка Заголовок / подвал) структуру заголовка, перейдем
там же к описанию подвала отчета.
Определим в левом окне группу данных - Итоги по всем числовым колонкам,
а в правом нижнем создадим две полосы для итогов: СУММА и ПРЕМИИ.
Каждая новая полоса вводится нажатием кнопки Новая, после чего на экране появляется
табло настройки полосы, в котором надо обратить внимание на закладку Список элементов полосы.
На этой закладке определении полосы подвала СУММА мы получим итог по всем начислениям - как итог по всем записям.
А в полосе подвала ПРЕМИИ можем сформировать две колонки: 1-я - за какой месяц (формула
"Премия за"+GM_RAB)
и 2-ая - собственно сумма премии (формула PERCENT*TLINE3.TITEM3).
Здесь выражение для расчета включает в себя процент премии из параметра (помните, мы его вводили?) и - ссылку на
суммовую строку из предыдущей полосы (СУММА).
Формулу можно усложнить, если добавить в нее округление ОКРУГ(PERCENT*TLINE3.TITEM3,2).
В этом случае в результате расчета мы получим сумму, округленную до копеек.
Для каждого элемента полосы подвала в визуальном режиме надо выбрать одну или несколько колонок, в которых он будет размещаться.
|
Вопрос:
Работаем с модулем Зарплата (Управление персоналом). В расчетных
листках появилась необходимость разделить выплаты по месяцам.
Листочки должны принять примерно следующий вид:
заголовок
код вид выплаты
<август>
строчки, относящиеся к августу
<сентябрь>
строчки, относящиеся к сентябрю
итоги:
С одиночным листком проблем не возникло - была добавлена еще одна
группа в иерархию групп, и все стало как должно быть, но с листками по
списку так сделать не получается, так как при добавлении группы
при печати листков они разрываются по добавленной группе. Как
сделать так, чтобы этого избежать?
Ответ:
Подозреваем, что Вы неправильно оформили новую
группу. Новая группа должна идти второй в списке. Условие должно быть таким:
LIC_CH_M_BAT.NAZNO + LIC_CH_M_BAT.GM_RAB.
|
Вопрос:
В отчете "Штатная расстановка" изменил заголовок для группы на следующий:
'По отделу '+LOOKSQL("OTDEL;D_NAME;COD",NAZN.OTD). Но эффекта никакого. Что неправильно?
Ответ:
Формула у Вас написана верно и название отдела из таблицы OTDEL она выдёргивает, НО ТОЛЬКО В ТОМ СЛУЧАЕ, если
код отдела в таблице написан без начальных пробелов.
|
Вопрос:
В отчете хотелось бы организовать подсчет количества записей в группе. Каким образом это осуществить?
Ответ:
Нужно сделать ещё одну полосу подвала группы с одним элементом, связанным с каким-либо полем. Вычисляемое
выражение - 1. Итог по всем записям группы.
Основной шаблон для печати, к примеру, "Строк в группе - 0".
|
Вернуться к главному перечню вопросов
|
|
|