DevBookmark_Totals_ Посмотреть существующие и создать новые итоги можно в справочнике Totals:

Totals1_ListForm

Записи справочника можно фильтровать по Названию итога (Name).

Организация хранения структуры итогов на уровне базы данных подробно описана в разделе Итоги в главе Схема KERNEL.

Для удобства свойства итога в форме редактирования его структуры сгруппированы по закладкам:

Totals2_EditForm

В заголовке формы отображается название класса итога и его идентификатор.

В панели инструментов формы помимо идентификатора итога (присваивается автоматически) находятся кнопки:

Documents2_EditForm_bttn1 SQL script – SQL скрипт, предназначенный для использования в каком-либо приложении для работы с реляционными базами данных, поддерживающем SQL (PL SQL Developer, TOAD и т.п.) для созданий объектов итога в базе данных:

Totals3_EditForm_SQL

на закладке "Create SQL" находится скрипт, используемый для создания объектов итога в базе данных. Этот скрипт можно применять если объект создается в СУБД впервые;

на закладке "Alter SQL" находится скрипт, используемый для удаления ранее созданных объектов итога в базе данных.

кнопки на панели управления, расположенной в верхней части формы, позволяют:

Dict_scr_ScriptSQL_Execute — выполнить текущий скрипт в базе данных,

Dict_scr_ScriptSQL_Copy — скопировать текущий скрипт в буфер обмена,

Dict_scr_ScriptSQL_Save — сохранить текущий скрипт в файл на диске.

 

35_important

Скрипт, используемый для изменения ранее созданных объектов итога в базе данных, системой не генерируется.

Причина этого в том, что не существует методики для безопасного изменения итога на уже работающей конфигурации. Изменение итога возможно только на этапе внедрения, путем удаления таблиц и создания их заново. После внедрения можно только создать новый итог и заменить им старый. Для отчетности данные двух итогов при этом объединяются путем создания пользовательского отчета или виртуального итога.

 

Documents2_EditForm_bttn2 Class code – класс, описывающий итог, будет сгенерирован на C#;

Documents2_EditForm_bttn3 Event script – скрипт обработчика событий итога. При создании нового итога обработчик событий не создается. Система предлагает создать его при первом нажатии на кнопку. При этом все внесенные в объект изменения будут сохранены:

Dict_scr_EventScript

Documents2_EditForm_bttn2 Validation script скрипт валидатора транзакций. При создании нового итога скрипт валидатора не создается. Система предлагает создать его при первом нажатии на кнопку. При этом все внесенные в объект изменения будут сохранены;

DevBookmark_ReportParams – кнопка открытия формы параметров отчета редактируемого итога (функционал работает только для уже созданных итогов).

bookmark На закладке "Main" организованы основные свойства итога:

Name – название итога. Оно должно соответствовать названию одного движения итога (быть в единственном числе). В примере выше – это название итога Остаток товара на складеStock. При необходимости может быть изменено:

RenameMetadataObjects

Transaction class name – название класса транзакции итога. Генерируется автоматически на основании названия Name итога;

Balance class name – название класса баланса итога. Генерируется автоматически на основании названия Name итога;

Detailed transaction class name – название класса детализированной транзакции итога. Генерируется автоматически на основании названия Name итога;

Caption – отображаемое в экранных формах (например, в форме параметров отчета) название итога. Генерируется автоматически на основании названия Name итога путем разбиения его на отдельные слова и перевода во множественное число. Например для итога с названием BankAccount это свойство будет иметь значение Bank accounts;

Guid используется для идентификации пункта меню.

Guid генерируется автоматически случайным образом и при необходимости (при совпадении с Guid другого объекта) может быть изменен:

GuidControl_HowDoesItWork

Base DB name – базовое название объектов итога в прикладной схеме базы данных. На его основании путем добавления префиксов образуются названия остальных объектов – таблиц и представлений. Базовое названия генерируется автоматически на основании названия Name итога и при необходимости может быть изменено:

Totals2_EditForm_rename

Название может содержать только буквы латинского алфавита, цифры и знак "_". При этом название должно начинаться с буквы и его длина не должна превышать 30 символов (доступное количество символов отображается в элементе управления);

Total driver драйвер итога;

Double entry – флаг двойной записи, используемой для балансовых итогов. Если флаг установлен, при внесении изменений в этот итог будет применяться правило двойной записи.

Правило двойной записи означает, что сумма по колонке Amount итогов в двух транзакциях (или проводках) должна быть равна нулю. Таким образом, баланс по всем итогам по колонке Amount всегда равен нулю. Правило проверяется в двух местах:

при сохранении оперативных транзакций в процессе сохранения документа;

при сохранении рассчитанных транзакций после обработки драйвером итога.

Ошибка в драйвере итога может приводить к расхождению баланса сумм в транзакциях, в этом случае расчет прекращается, а в лог сервера записывается соответствующее сообщение;

Use balance table – флаг, указывающий на необходимость использования таблиц баланса (TB_ и TT_ для оперативной и аналитической частей соответственно). Если флаг не установить, таблицы баланса для итога не будут созданы.

Таблицы баланса – одна из основных причин взаимоблокировок при проведении документов. Однако, отказ от таблиц баланса значительно увеличивает время построения отчетов, если пользователь запросит входящие или исходящие значения для переменных. Кроме того, многие итоги требуют контроля итоговых значений. Например, остатки на складе имеют ограничение на таблице баланса, предотвращающее уменьшение количества товара ниже нуля. Хорошим кандидатом для итога, где от таблиц баланса можно отказаться, является итог реализации – пользователя, как правило, интересует результат за период (без входящих и исходящих значений);

Icon – стандартная иконка (размером 16 на 16 пикселей).

Иконки отображаются, например, в главном меню или в заголовке окна списковой формы и формы редактирования справочника.

Кнопки справа от области предпросмотра иконки позволяют:

Dict_EditForm1_But1 – загрузить иконку;

Dict_EditForm1_But2 – сохранить загруженную ранее иконку на компьютер;

Dict_EditForm1_But3 – удалить иконку.

Large icon – большая иконка (размером 32 на 32 пикселя);

Metadata tags – теги, используемые для описания функционала итога. Используются для поиска объектов, реализованных под определенный функционал, ассоциированный с этим тегом.

Добавление тега осуществляется клавишами Key-Space или Key-Enter. Удаление кнопкой Dict_scr_TagDelete после тега. Поскольку пробел используется для ввода тега, можно заменить его символами "_" или "-" в тегах с названием из нескольких слов;

edit user help – комментарий к объекту, который конечный пользователь может видеть в виде подсказки (hint), выпадающей при наведении курсора мыши на объект. Комментарий вводится для каждого языка системы;

Developer comments – комментарии прикладного разработчика.

bookmark На накладке "Dimensions and variables" в верхней ее части расположен список измерений Dimensions итога, внизу список переменных Variables. В свою очередь в каждом из списков слева расположен перечень свойств (измерений или переменных), справа все параметры выбранного слева свойства:

Totals4_EditForm_Dim_n_Var

Измерения и переменные можно добавлять Dictionaries_Button_1 или удалять Dictionaries_Button_4 соответствующими кнопками в панели инструментов. Также их можно фильтровать по Названию (Name).

Каждое измерение имеет:

Dimension name – название, к которому автоматически прибавляется окончание "ID";

Operational – флаг, указывающий, является ли измерение операционным. Если флаг установлен, значение операционного измерения будет формироваться в результате работы транзакционных скриптов при сохранении документов. Если флаг не установлен, значение (аналитического) измерения будет рассчитываться драйвером итогов;

Caption – название, отображаемое в экранных формах. Генерируется автоматически на основании названия Name измерения путем разбиения его на отдельные слова;

Column name – название соответствующего поля в таблицах итога в прикладной схеме базы данных. Название генерируется автоматически. При необходимости его можно изменить таким же образом, как и базовое название объектов итога в базе данных. На название поля накладываются те же ограничения, что и на названия прочих объектов БД;

Dictionary/Document – справочник или документ, элементы которого являются значениями измерения;

Tags – теги, используемые для описания функционала свойства. Аналогичны по смысловой нагрузке тегам итога;

Dev comments – комментарии прикладного разработчика.

Все измерения итога имеют тип данных long, все переменные – decimal.

При создании нового итога у него автоматически создаются две переменные – Quantity (количество) и Amount (сумма). Это наиболее часто используемые переменные итогов. Их можно удалить, если необходимость в них отсутствует.

35_important

Amount – зарезервированное название переменной, используемое для контроля правила двойной записи. Любой итог с контролем правила двойной записи (установленным флагом Double entry) должен иметь колонку с названием Amount.

bookmark На накладке "Report view" расположен список доступных по-умолчанию наборов колонок, которые используются для формирования списка колонок отчета при его построении.

Наборы колонок можно добавлять Dictionaries_Button_1 или удалять Dictionaries_Button_4 соответствующими кнопками в панели инструментов.

Totals5_EditForm_RepView

35_settings

Данные итогов рассчитываются регулярно и автоматически задачей "Total calculation".