Определения для журналов
Раздел предназначен для работы с журналами операций из языка.
Считывание операций из базы и их сохранение производится с помощью методов объектного типа ЖУРНАЛ. Журналы идентифицируются по названию.
Типы операций делятся на собственные (относящиеся к конкретному журналу) и разделяемые (относящиеся к нескольким журналам). Все типы операций являются производными от базового типа ОПЕРАЦИЯ. Типы операций проецируются во внутренний язык как объектные типы времени выполнения (RunTime типы), а признаки и табличные признаки операции – как поля типа. При этом наследование типов операций также проецируется во внутренний язык: если в редакторе типов операций тип Т2 является дочерним типом типа Т1 – объектный тип Т2 также является потомком объектного типа Т1 и наследует его поля. Чтобы добавленный в редакторе типов признак или табличный признак стал доступен из внутреннего языка как поле типа – необходима перекомпиляция проекта. Признаки и табличные признаки операции, полученные во время выполнения алгоритма и не являющиеся полями объявленного объектного типа, записываются в поля признаки и таб_признаки операции. Например, если считать из журнала операцию конкретного типа, задав переменную базового типа ОПЕРАЦИЯ, то все значения признаков и табличных признаков запишутся в поля признаки и таб_признаки, если же при считывании операции задать в качестве типа переменной нужный RunTime-тип операции – признаки и табличные признаки будут получены как поля типа. При получении ручных операций все ее признаки записываются в поле признаки, и добавление новых значений в поле приведет к добавлению новых признаков у операции.
Тип ФИЛЬТР предназначен для задания критериев фильтрации операций в журнале.
Исходные остатки в журнале привязаны к ссылкам на объекты аналитики. Для задания исходных остатков служит тип ОСТАТОК.
Тип МАССИВ_ОПЕР предназначен для получения произвольного доступа к операциям некоторой выборки.
Мертвое множество операций можно сортировать. Для задания критериев сортировки операций в выборке служит тип СОРТ_ОПЕР. Тип СОРТ_ПРОВ служит для задания критериев сортировки выборки проводок.
Тип ГРУП_ОСОБ предназначен для группировки (свертки) проводок в выборке по заданным условиям. Условия группировки задаются в типе ГРУП_ССЫЛОК.
Тип ОТБОР_ПРОВОДОК предназначен для отбора проводок по заданным критериям с целью расчета остатков и оборотов. Критерии отбора задаются в типе ОТБОР_ССЫЛОК.
Кроме того, предусмотрен два тип для управления отображением окна журнала – КАРТА_СТРОК.
Определено три цикла для перебора операций, проводок и исходных остатков – ОПЕРАЦИИ, ПРОВОДКИ и ОСТАТКИ.
Перечень типов:
КАРТА_СТРОК | – | может хранить любые соответствия строковых значений строковым идентификаторам. |
ОПЕР_ПРОГ_ФИЛЬТР | – | предназначен для задания программируемого фильтра. |
ФИЛЬТР | – | предназначен для задания условий фильтрации операций в журнале. |
ЖУРН_ИНФО | – | предназначен для хранения информации о журнале. |
ТИПОП_ИНФО | – | предназначен для хранения информации о типе операций в журнале. |
ТИП_ПРИЗНАКА | – | представляет во внутреннем языке объявление аналитического признака операции. |
ТИПЫ_ПРИЗНАКОВ | – | является контейнером для объявлений признаков операции. |
ТИП_ТАБ_ПРИЗНАКА | – | представляет во внутреннем языке определение табличного признака операции. |
ТИПЫ_ТАБ_ПРИЗНАКОВ | – | является контейнером для определений табличных признаков операции. |
ПРОВОДКА | – | представляет собой проводку в соответствии с правилом двойной записи. |
ПРИЗНАК | – | представляет во внутреннем языке аналитический признак операции. |
ТАБ_ПРИЗНАК | – | представляет во внутреннем языке табличный признак операции. |
ОПЕРАЦИЯ | – | является базовым предком всех операций и содержит поля, общие для операций всех типов. |
СПИСОК_ОПЕРАЦИЙ | – | предназначен для передачи в алгоритмы списка операций, которые могут иметь разный тип. |
ЭЛЕМ_ОСТАТОК | – | предназначен для представления исходного остатка в разрезе одной единицы измерения. |
ОСТАТОК | – | предназначен для представления исходных остатков для объекта аналитики в контексте журнала. |
ПРОВ_ЭЛЕМ | – | используется для перебора проводок в цикле ПРОВОДКИ. |
МАССИВ_ОПЕР | – | предназначен для получения произвольного доступа к операциям некоторой выборки. |
КОЛЛЕКЦИЯ_ОПЕР | – | предназначен для получения обновляемой выборки операций. |
ЖУРНАЛ | – | содержит методы для работы с журналом операций. |
Получение остатков и оборотов | ||
---|---|---|
ОСОБ | – | предназначен для получения остатков и оборотов по одному объекту аналитики. |
СТРОКА_ОСОБ | – | предназначен для получения данных для строки в таблице остатков и оборотов. |
ТАБЛИЦА_ОСОБ | – | предназначен для получения остатков и оборотов сразу для нескольких строк в таблице остатков и оборотов. |
СТРОКА_ОБОРОТКИ | – | представляет отдельную строку оборотной ведомости. |
ОБОРОТКА | – | предназначен для представления оборотной ведомости. |
ОТБОР_ОБОРОТКИ_АНАЛИТ | – | позволяет задать условия отбора по ссылкам. |
ГРУП_ОБОРОТКИ_АНАЛИТ | – | позволяет задать условия группировки по ссылкам. |
ПАРАМ_ОБОРОТКИ_АНАЛИТ | – | позволяет задать параметры построения оборотной ведомости с аналитикой. |
ОБОРОТКА_АНАЛИТ | – | позволяет построить оборотную ведомость с аналитическими признаками. |
ОТБОР_ОСОБ_АНАЛИТ | – | позволяет задать условия отбора по ссылкам. |
ГРУП_ОСОБ_АНАЛИТ | – | позволяет задать условия группировки по ссылкам. |
ПАРАМ_ОСОБ_АНАЛИТ | – | позволяет задать параметры построения таблицы остатков и оборотов с аналитикой. |
ОСОБ_АНАЛИТ | – | позволяет построить таблицу остатков и оборотов с аналитическими признаками. |
Связь операций в журналах | ||
---|---|---|
СВЯЗЬ_ОПЕР | – | хранит данные о какой-либо конкретной операции в журнале. |
ТАБЛИЦА_СВЯЗЕЙ | – | предназначен для реализации механизма, позволяющего связывать журналы между собой. |
СВЯЗИ | – | позволяет выбирать связи операции в пределах одного журнала. |
ВЕКТОР_СВЯЗИ | – | описывает направленную связь между двумя операциями. |
Типы для группировки ссылок | ||
---|---|---|
ГРУП_ССЫЛОК | – | задает условия группировки ссылок. |
ГРУП_ИТОГОВ | – | задает условия для группировки записей при получении таблицы итогов. |
ГРУП_ОСОБ | – | задает условия для группировки записей в таблице проводок. |
Типы для задания маски | ||
---|---|---|
МАСКА_ТАБ | – | задает условия маски для колонок табличного признака операции. |
МАСКА_ОПЕР | – | задает маску операции. |
Типы для задания сортировки | ||
---|---|---|
СОРТ_ОПЕР_УСЛ | – | предназначен для задания условия сортировки операций в выборке. |
СОРТ_ОПЕР | – | предназначен для задания способа сортировки операций в выборке. |
СОРТ_ПРОВ | – | задает способ сортировки проводок. |
Типы для отбора ссылок | ||
---|---|---|
ПЕРЕЧИСЛЕНИЕ_ССЫЛОК | – | Вспомогательный тип для задания произвольных перечислений ссылок. |
ОТБОР_ССЫЛОК | – | служит для отбора ссылок. |
ОТБОР_ПРОВОДОК | – | задает условия для отбора проводок по заданным критериям. |
ОТБОР_ИТОГОВ | – | задает условия для отбора итоговых записей по заданным условиям на ссылки итога. |
Хранение итогов | ||
---|---|---|
ИТОГ | – | предназначен для представления одной строки в таблице итогов. |
ТАБЛИЦА_ИТОГОВ | – | предназначен для представления таблицы итогов. |
Перечень функций:
СЧИТАТЬ_ИТОГИ | – | считывает итоги и помещает результат в таблицу итогов. |
КОНВ_ОПЕРАЦИЯ | – | позволяет преобразовать значения типа ОПЕРАЦИЯ в значения производного типа времени выполнения. |
СЧИТАТЬ_ЖУРНАЛЫ | – | считывает имя и комментарий для всех журналов. |
СЧИТАТЬ_ВЕКТОРА_СВЯЗЕЙ | – | считывает направленные связи операций по заданным критериям. |
УДАЛИТЬ_МАССИВ_ОПЕР | – | удаляет именованную выборку операций. |
УДАЛИТЬ_КОЛЛЕКЦИЮ_ОПЕР | – | удаляет именованную коллекцию операций. |