Главная
КОМПАС-CLOUD
Скачать
Цены   
Вебинары
Новости
Контакты
Решение для

  Мастер отчетов

Вопрос:
Необходимо обеспечить возможность добавлять произвольный поясняющий текст и обеспечить отображение объемных по содержанию описаний параметров (за счет увеличения высоты каждой строки с параметром) в диалоговом окне запроса параметров "Параметры запроса" и "Параметры отчета" для запросных форм и отчетов.

Ответ:
Запрос параметров для запросных форм и отчетов является служебной функцией. Именно поэтому расширение соответствующего функционала не планируется. Для придания форме запроса параметров более функционального вида предлагается применять следующую технологию:
  1. для конкретного отчета или запросной формы создается вспомогательная таблица, а также табличная и экранная форма;
  2. формирование отчета или открытие запросной формы должно выполняться с помощью бизнес-процедуры;
  3. бизнес-процедура создает объект класса "табличная форма" и выполняет команду ShowSF для определенной записи этой табличной формы. Запись подлежит выбору в рамках бизнес-процедуры. Например, для разных операторов могут использоваться разные записи. При необходимости запись может быть создана бизнес-процедурой;
  4. оператор вводит или изменяет параметры отчета через интерфейс экранной формы и нажимает кнопку ОК. Для отказа от печати оператор должен нажать кнопку Отмена. Для того, чтобы из бизнес-процедуры можно было понять, какая кнопка была нажата, в таблице должно быть поле со значением по умолчанию время и установленным флажком заполнять при любом изменении. Кроме того, экранная форма должна открываться для строки, находящейся в состоянии редактирования. В этом случае если время изменилось, значит была нажата кнопка ОК. Если время не изменилось, значит была нажата кнопка Отмена;
  5. если оператор нажал кнопку ОК, бизнес процедура далее формирует отчет или открывает запросную форму с использованием параметров, введенных через экранную форму.
Именно с учетом этих рекомендаций в версии 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".


Вернуться к главному перечню вопросов