Repository navigation
open-sdbl 0.5.5
Релиз после 0.4.0: регистры бухгалтерии, широкие корпуса двух типовых конфигураций и чтение прав доступа прямо из базы. Каждое изменение поведения — со своей спецификацией OpenSpec.
Регистры бухгалтерии
Виртуальные таблицы РегистрБухгалтерии: Остатки, Обороты, ОстаткиИОбороты, ДвиженияССубконто, ОборотыДтКт. Субконто как аргумент и как поля Субконто1…/СубконтоДт/СубконтоКт, корреспонденция (КорСчет, <Измерение>Кор, КорСубконто), развёрнутые остатки (РазвернутыйОстатокДт/Кт, начальные и конечные), периодичности Регистратор и Запись, Порядок/Первые у движений с субконто, метки составных членов Имя_TYPE. Разыменование через многотипную ссылку в выражениях (Регистратор.Организация = &Орг).
Язык запросов
ИЗ &Таблица— таблицы-параметры с типизированными колонками, встроенные как CTESELECT 1, … UNION ALL …; в консоли литералТАБЛИЦА(Код КАК СТРОКА, …)((…), …).- Безымянное разыменование получает платформенное имя слитно:
Д.Организация.Наименование→ОрганизацияНаименование; ключевое слово послеКАК— псевдоним (КАК Конец). Псевдоним.*среди других полей и в соединениях;РАЗЛИЧНЫЕс сортировкой по спроецированной ссылке; вложенное объединение сПЕРВЫЕв каждой ветке;ССЫЛКАнадВЫРАЗИТЬ; разнотипныйВЫБОРв сравнении; псевдоним подзапроса затеняет внешний;МАКСИМУМ(Регистратор)остаётся runtime-typed; член объединения узнаётся по запрошенному имени и при обрезке метки до лимита PostgreSQL.АВТОУПОРЯДОЧИВАНИЕ,АВТОНОМЕРЗАПИСИ(), соединения без якорного равенства,ПОЛНОЕс прежним правилом.
Корпуса
Бухгалтерия предприятия 3.0 — 613 из 622, УНФ — 674 из 688 запросов модулей и схем компоновки, включая широкую выборку по 200 запросов без регистров на каждую базу. Инструменты корпуса привязывают даты и таблицы-заготовки, а виды колонок заготовок берут из метаданных фикстуры (bind_tables.py --kinds, выгрузка dump_field_kinds).
Права доступа (новая capability access-rights)
- Роли и права читаются из записей
Config(<guid>и<guid>.0): права на объекты и их члены, ограничения на уровне записей с полями, шаблоны, флаги.Rightназывает стандартные права; таблица гвидов выведена из самой базы и подтверждена ролями-одиночками БСП на 8.3.27. Незаписанное право следует умолчаниюsetForNewObjects. - Пользователи ИБ —
v8users, колонкаData(XOR + скобочная запись) даёт имя, полное имя и роли; хеши паролей не отдаются. - Разворачивание ограничений (
open_sdbl::access): шаблоны БСП с#Параметр(N),#Если/#ИначеЕсли/#Иначе/#КонецЕслипо параметрам сеанса,СтрСодержит,Значение(…ПустаяСсылка); результат — полная форма платформыТекущаяТаблица [КАК Т] ГДЕ …, которую принимает компилятор, в том числеТекущаяТаблица.Полево вложенных запросах условия.read_accessобъединяет роли пользователя.
CLI
\users, \user, \roles, \role, \rls, \as: пользователи, роли, права и ограничения, а ВЫБРАТЬ РАЗРЕШЕННЫЕ от имени пользователя получает ограничения его ролей на «Чтение». Проверено на демо-базе УНФ вплоть до исполнения запроса через ветвь ключей доступа шаблона ДляОбъекта. Нечитаемые ресурсы Config (двоичные .7) пропускаются с предупреждением, а не срывают чтение метаданных.