Посмотреть существующие и создать новые итоги можно в справочнике Totals:
Записи справочника можно фильтровать по Названию итога (Name).
Организация хранения структуры итогов на уровне базы данных подробно описана в разделе Итоги в главе Схема KERNEL.
Для удобства свойства итога в форме редактирования его структуры сгруппированы по закладкам:
В заголовке формы отображается название класса итога и его идентификатор.
В панели инструментов формы помимо идентификатора итога (присваивается автоматически) находятся кнопки:
SQL script – SQL скрипт, предназначенный для использования в каком-либо приложении для работы с реляционными базами данных, поддерживающем SQL (PL SQL Developer, TOAD и т.п.) для созданий объектов итога в базе данных:
▪на закладке "Create SQL" находится скрипт, используемый для создания объектов итога в базе данных. Этот скрипт можно применять если объект создается в СУБД впервые;
▪на закладке "Alter SQL" находится скрипт, используемый для удаления ранее созданных объектов итога в базе данных.
▪кнопки на панели управления, расположенной в верхней части формы, позволяют:
▪ — выполнить текущий скрипт в базе данных,
▪ — скопировать текущий скрипт в буфер обмена,
▪ — сохранить текущий скрипт в файл на диске.
Скрипт, используемый для изменения ранее созданных объектов итога в базе данных, системой не генерируется. Причина этого в том, что не существует методики для безопасного изменения итога на уже работающей конфигурации. Изменение итога возможно только на этапе внедрения, путем удаления таблиц и создания их заново. После внедрения можно только создать новый итог и заменить им старый. Для отчетности данные двух итогов при этом объединяются путем создания пользовательского отчета или виртуального итога. |
Class code – класс, описывающий итог, будет сгенерирован на C#;
Event script – скрипт обработчика событий итога. При создании нового итога обработчик событий не создается. Система предлагает создать его при первом нажатии на кнопку. При этом все внесенные в объект изменения будут сохранены:
Validation script – скрипт валидатора транзакций. При создании нового итога скрипт валидатора не создается. Система предлагает создать его при первом нажатии на кнопку. При этом все внесенные в объект изменения будут сохранены;
– кнопка открытия формы параметров отчета редактируемого итога (функционал работает только для уже созданных итогов).
На закладке "Main" организованы основные свойства итога:
•Name – название итога. Оно должно соответствовать названию одного движения итога (быть в единственном числе). В примере выше – это название итога Остаток товара на складе – Stock. При необходимости может быть изменено:
•Transaction class name – название класса транзакции итога. Генерируется автоматически на основании названия Name итога;
•Balance class name – название класса баланса итога. Генерируется автоматически на основании названия Name итога;
•Detailed transaction class name – название класса детализированной транзакции итога. Генерируется автоматически на основании названия Name итога;
•Caption – отображаемое в экранных формах (например, в форме параметров отчета) название итога. Генерируется автоматически на основании названия Name итога путем разбиения его на отдельные слова и перевода во множественное число. Например для итога с названием BankAccount это свойство будет иметь значение Bank accounts;
•Guid – используется для идентификации пункта меню.
Guid генерируется автоматически случайным образом и при необходимости (при совпадении с Guid другого объекта) может быть изменен:
•Base DB name – базовое название объектов итога в прикладной схеме базы данных. На его основании путем добавления префиксов образуются названия остальных объектов – таблиц и представлений. Базовое названия генерируется автоматически на основании названия Name итога и при необходимости может быть изменено:
Название может содержать только буквы латинского алфавита, цифры и знак "_". При этом название должно начинаться с буквы и его длина не должна превышать 30 символов (доступное количество символов отображается в элементе управления);
•Total driver – драйвер итога;
•Double entry – флаг двойной записи, используемой для балансовых итогов. Если флаг установлен, при внесении изменений в этот итог будет применяться правило двойной записи.
Правило двойной записи означает, что сумма по колонке Amount итогов в двух транзакциях (или проводках) должна быть равна нулю. Таким образом, баланс по всем итогам по колонке Amount всегда равен нулю. Правило проверяется в двух местах:
▪при сохранении оперативных транзакций в процессе сохранения документа;
▪при сохранении рассчитанных транзакций после обработки драйвером итога.
Ошибка в драйвере итога может приводить к расхождению баланса сумм в транзакциях, в этом случае расчет прекращается, а в лог сервера записывается соответствующее сообщение;
•Use balance table – флаг, указывающий на необходимость использования таблиц баланса (TB_ и TT_ для оперативной и аналитической частей соответственно). Если флаг не установить, таблицы баланса для итога не будут созданы.
Таблицы баланса – одна из основных причин взаимоблокировок при проведении документов. Однако, отказ от таблиц баланса значительно увеличивает время построения отчетов, если пользователь запросит входящие или исходящие значения для переменных. Кроме того, многие итоги требуют контроля итоговых значений. Например, остатки на складе имеют ограничение на таблице баланса, предотвращающее уменьшение количества товара ниже нуля. Хорошим кандидатом для итога, где от таблиц баланса можно отказаться, является итог реализации – пользователя, как правило, интересует результат за период (без входящих и исходящих значений);
•Icon – стандартная иконка (размером 16 на 16 пикселей).
Иконки отображаются, например, в главном меню или в заголовке окна списковой формы и формы редактирования справочника.
Кнопки справа от области предпросмотра иконки позволяют:
– загрузить иконку;
– сохранить загруженную ранее иконку на компьютер;
– удалить иконку.
•Large icon – большая иконка (размером 32 на 32 пикселя);
•Metadata tags – теги, используемые для описания функционала итога. Используются для поиска объектов, реализованных под определенный функционал, ассоциированный с этим тегом.
Добавление тега осуществляется клавишами или
. Удаление – кнопкой
после тега. Поскольку пробел используется для ввода тега, можно заменить его символами "_" или "-" в тегах с названием из нескольких слов;
•edit user help – комментарий к объекту, который конечный пользователь может видеть в виде подсказки (hint), выпадающей при наведении курсора мыши на объект. Комментарий вводится для каждого языка системы;
•Developer comments – комментарии прикладного разработчика.
На накладке "Dimensions and variables" в верхней ее части расположен список измерений Dimensions итога, внизу список переменных Variables. В свою очередь в каждом из списков слева расположен перечень свойств (измерений или переменных), справа – все параметры выбранного слева свойства:
Измерения и переменные можно добавлять или удалять
соответствующими кнопками в панели инструментов. Также их можно фильтровать по Названию (Name).
Каждое измерение имеет:
•Dimension name – название, к которому автоматически прибавляется окончание "ID";
•Operational – флаг, указывающий, является ли измерение операционным. Если флаг установлен, значение операционного измерения будет формироваться в результате работы транзакционных скриптов при сохранении документов. Если флаг не установлен, значение (аналитического) измерения будет рассчитываться драйвером итогов;
•Caption – название, отображаемое в экранных формах. Генерируется автоматически на основании названия Name измерения путем разбиения его на отдельные слова;
•Column name – название соответствующего поля в таблицах итога в прикладной схеме базы данных. Название генерируется автоматически. При необходимости его можно изменить таким же образом, как и базовое название объектов итога в базе данных. На название поля накладываются те же ограничения, что и на названия прочих объектов БД;
•Dictionary/Document – справочник или документ, элементы которого являются значениями измерения;
•Tags – теги, используемые для описания функционала свойства. Аналогичны по смысловой нагрузке тегам итога;
•Dev comments – комментарии прикладного разработчика.
Все измерения итога имеют тип данных long, все переменные – decimal.
При создании нового итога у него автоматически создаются две переменные – Quantity (количество) и Amount (сумма). Это наиболее часто используемые переменные итогов. Их можно удалить, если необходимость в них отсутствует.
Amount – зарезервированное название переменной, используемое для контроля правила двойной записи. Любой итог с контролем правила двойной записи (установленным флагом Double entry) должен иметь колонку с названием Amount. |
Наборы колонок можно добавлять |
Данные итогов рассчитываются регулярно и автоматически задачей "Total calculation". |