Skip to content

Latest commit

 

History

History
482 lines (342 loc) · 31.3 KB

history.md

File metadata and controls

482 lines (342 loc) · 31.3 KB

v0.12.231

08.06.2017

  • Маска /<!---/g в html шаблона отчета

06.06.2017

  • Поддержка типа кеширования doc_ram для регистров сведений

01.06.2017

  • Проверка типа при фильтрации по подстроке

29.05.2017

  • couch_direct = true по умолчанию
  • Доппроверки в OTabular

27.05.2017

  • Для иерархических объектов данных, добавлены методы _children и _hierarchy

20.05.2017

  • Удалена информация о часовом поясе при сериализации дат

18.05.2017

  • Управление acl правами пользователей перенесено из отдельного справочника users_acl в общий справочник users

15.05.2017

  • Исправлена ошибка в методе $p.iface.check_exit()
  • Улучшено поведение поля ввода OCombo - выбор значения при потере фокуса

13.05.2017

01.05.2017

  • Метод bases() в Meta и pouch.remote, тип кеширования remote в sync_grid
  • class_name при записи объекта в pouch.save_obj

29.04.2017

  • google maps api key to IPInfo
  • Форма ввода адреса удалена из основной поставки и выделена в отдельный компонент

27.04.2017

  • Новый тип кеширования doc_ram
  • В методе $p.record_log поддержано логирование ошибок из свойства _data._err

23.04.2017

  • Свойство _obj в классе OTabular
  • Добавлен контроль типа _mgr в методе value_mgr()

30.03.2017

  • Клавиатурная навигация в OTabular теперь генерирует событие onRowSelect

27.03.2017

  • В метод _clone прототипа Object добавлен параметр exclude
  • В методе _find_rows _top по умолчанию увеличен с 300 до 1000

25.03.2017

  • Метод clear_svgs удалён из класса InterfaceObjs

22.03.2017

  • Исправлена ошибка в _move_row класса OTabular
  • Метод open_selection в OCombo и eXcell_ocombo

20.03.2017

  • Исправлены ошибки в OCombo и OHead_fields

v0.12.226

18.03.2017

  • В прототип CatObj добавлен метод in_hierarchy

06.03.2017

  • Дополнена структура scheme_settings
  • Добавлен метод query_value - диалог ввода значения
  • Добавлена возможность изменять порядок строк в OTabular

05.03.2017

  • Расширена функциональность SpreadsheetDocument - добавлены методы append и print

05.03.2017

  • daterangepicker исключен из metadata.js. Если он нужен в клиентском приложении, его следует загрузить отдельным скриптом

03.03.2017

  • Общий код scheme_settings v0.12 и v2.0
  • Исправлена ошибка редактирования булевых типов в OTabular

21.02.2017

  • В элемент управления OTabular добавлен фильтр по подстроке

12.02.2017

  • В элемент управления OTabular добавлена возможность сортировки по одному или нескольким полям

10.02.2017

  • Реализован режим couchdb_direct без кеширования данных в indexeddb браузера

16.12.2016

  • В отборе по связям параметров выбора добавлена проверка владельца для подчиненных справочников

10.12.2016

  • Доработан алгоритм перезагрузки страницы при обновлении метаданных

v0.12.225

03.12.2016

  • Методы подготовки системных метаданных (журнал регистрации, системные перечисления, настройки отчетов и динсписков) удалены из 1С и перемещены в конструктор Meta

02.12.2016

  • Подключаемый обработчик нажатия кнопок панели инструментов формы wnd_selection
  • В атрибутах метода Pouch.save_obj учтено значение db, что позволяет сохранить текущий объект в другой базе. Например, зарегистрировать изменения объекта с типом кеширования ram на сервере
  • Исправлена ошибка при выборе составного типа в элементе управления OCombo

21.11.2016

  • В конструктор OTabular добавлен параметр ts_captions, позволяющий задать индивидуальную настроку колонок табчасти
  • Исправлена ошибка OTabular при работе с булевыми типами дополнительных реквизитов
  • Внешние метаданные, указанные в конструкторе OTabular, теперь транслируются в элементы OCombo при редактировании строки

14.11.2016

  • При добавлении строк компонентом OTabular с наложенным отбором, новая строка заполняется по умолчанию значениями отбора

05.11.2016

  • В атрибуты form_list и form_selection добавлена обработка свойства smart_rendering, переключающего режим работы grid (пагинация или динамическая загрузка)

30.09.2016

  • В job_prm добавлен параметр noreplicate для баз pouchdb

v0.11.221

16.09.2016

  • Добавлена возможность создавать несколько экземпляров MetaEngine в контексте одного веб-приложения (для одновременной работы с несколькими базами данных)
  • Код взаимодействия metadata.js с хранилишем данных в браузере и внешними источниками данных, решено отделить от ядра и перенести в плагины
  • Реализованы бета-версии плагинов:
    • metadata-abstract-adapter - виртуальный класс для адаптеров данных
    • metadata-pouchdb - адаптер для взаимодействия с pouchdb
    • metadata-redux - генераторы и обработчики событий в терминах redux

Ядро и плагины - невизуальные. UI для v2 пока отсутствует

Пример инициализации для приложения react с адаптером pouchdb:

import MetaEngine from 'metadata-core'
import metadata_pouchdb from 'metadata-pouchdb'
import metadata_redux from 'metadata-redux'
MetaEngine
  .plugin(metadata_pouchdb) // подключаем pouchdb-адаптер к прототипу metadata.js
  .plugin(metadata_redux)   // подключаем свойства redux к прототипу metadata.js
const $p = new MetaEngine()

Вариант без react и pouchdb (например, angular с прямым подключением к 1С):

import MetaEngine from 'metadata-core'
import metadata_1с from 'metadata-1с'
MetaEngine
  .plugin(metadata_1с) // подключаем адаптер 1С к прототипу metadata.js
const $p = new MetaEngine()

15.09.2016

  • Для metadata v2, реализован механизм плагинов
  • Реализована структура плагина metadata-redux для подключения metadata-core в приложениях react-redux

14.09.2016

  • Для управления multipackage-repo задействавана библиотека lerna

v0.11.220

09.09.2016

  • Реализовано управление html-кешем средствами serviseWorker

13.09.2016

  • Лицензия AGPL изменена на MIT
  • Метод russian_names удалён из прототипа Messages
  • Версия pouchdb изменена с 6.0 на 5.4 - downgrade из-за проблем с установкой leveldown под windows
  • Собран пререлиз metadata-core v2.0.0-beta.1

v0.11.219

19.08.2016

  • В параметры конструктора OCombo добавлено поле hide_frm, скрывающее формы объекта и выбора в командах выпадающего списка
  • Исправлена ошибка фильтрации списка OCombo

21.08.2016

  • Метод DataManager.form_selection() теперь возвращает Promise, если для подготовки данных формы используются асинхронные вызовы
  • В автоформах списка поддержан sql фильтр in(...)

23.08.2016

  • В прототип CatUsers_acl добавлен метод get_acl(class_name), возвращающий права доступа по имени класса
  • Оптимизирован код контроля прав доступа в формах и элементах управления

26.08.2016

  • Реализовано оперативное обновление загруженных в ОЗУ объектов с типом кеширования doc по событию pouch_change

v0.11.218

12.08.2016

  • В автоформы списка документов добавлена сортировка по дате с использованием индекса doc/by_date

13.08.2016

  • Для определения mime-типов вложений, задействована база mime-db
  • Исправлены ошибки при работе с присоединенными файлами в формах объектов. Теперь, кроме программного, поддержан интерактивный интерфейс для добавления-удаления вложений к любым ссылочным объектам
  • Метод new_number_doc перенесен из прототипа DocObj в DataObj и теперь доступен для всех объектов данных

v0.11.217

08.08.2016

  • В заголовок формы DocObj добавлена информация о преведенности документа
  • Исправлена ошибка отображения заголовка формы объекта в разбивке карусель
  • Исправлена ошибка в обработчике события onrotate мобильного устройства

v0.11.216

05.08.2016

  • Компонент dhtmlxTree удалён из сборки dhtmlx
  • Вызовы dhtmlxTree в автоформах заменены вызовами dhtmlxTreeView

06.08.2016

  • Добавлен визуальный компонент Setting2col - типовая страница настроек программы
  • Добавлен визуальный компонент All_meta_objs - типовая страница "все объекты" - похожа на подменю "все функции" тонкого клиента 1С с возможностью наложить фильтр на список типов объектов

v0.11.215

Мажорное обновление, существенные изменения API

24.07.2016

  • В коллекцию виджетов добавлен компонент OBtnAuthSync

26.07.2016

  • Вместо динамического создания конструкторов объектов и менеджеров new Function(text) при старте приложения, реализован gulp-плагин, формирующий prebuild.js файл на этапе сборки проекта. Это решает сразу несколько проблем:
    • Повышается наглядность и удобочитаемость кода
    • Появляется autocomplit в IDE по классам и реквизитам объектов данных
    • Исключается возможность конфликта версий метаданных
    • При разработке модификаторов, появляется возможность явно ссылаться на конструкторы объектов данных
    • Отпадает необходимость в перезагрузке страницы при первом старте или после сброса данных
    • Сокращается время загрузки страницы (выигрыш 0.1-0.2 сек)

03.08.2016

  • В класс DataProcessorsManager добавлен новый метод form_rep - форма отчета
  • Для визуализации и редактирования диапазона дат реализован компонент ODateRangePicker на базе daterangepicker

v0.11.214

20.07.2016

  • Для форматирования дат и диапазонов, задействована библиотека moment

21.07.2016

  • Вспомогательные методы MetaEngine объединены в отдельный класс Utils

v0.10.213

26.06.2016

  • В панели инструментов OTooolBar добавлена возможность указать индивидуальные css стили для каждой кнопки. Ранее, стили устанавливались на панель в целом

30.06.2016

  • Оптимизирован код поля со списком ссылочного типа OCombo

01.07.2016

  • В элемент управления OTabular добавлены команды клавиатурной навигации
  • Исправлена ошибка поля со списком OCombo, при которой в связанном объекте оставались активные обсерверы после выгрузки из памяти элемента управления

11.07.2016

  • Обновлено и опубликовано описание API metadata.js

15.07.2016

  • Метод attache_event в прототипе DataManager переименован в on
  • Для метода $p.eve.attache_event, добавлен синоним $p.on
  • Изменены процедуры инициализации. Вместо вызова статических обработчиков, задействованы подписки на события $p.on

16.07.2016

  • Исправлена ошибка при записи регистра сведений с дубликатом ключа

v0.10.212

22.05.2016

  • В структуру метаданных реквизита добавлено поле mandatory - проверка заполнения

25.05.2016

  • Числовое поле ввода с калькулятором адаптировано для мобильных устройств

28.05.2016

  • Метод all() удалён из прототипа RefDataManager
  • Все методы RefDataManager перенесены из конструктора в прототип
  • Добавлен универсальный контроль обязательных реквизитов при записи DataObj. Ранее, заполненность реквизитов контролировалась только пользовательскими подписками на событие перед записью
  • При получении данных динамическим списком, добавлена поддержка startkey и endkey. Например, для фильтрации диапазона дат по ключу, а не фильтром javascript

23.06.2016

  • В прототип $p.current_acl добавлен метод role_available(name) проверяющий доступность роли name для текущего пользователя

24.06.2016

  • Объект current_acl дополнен разрешениями пользователя на чтение, запись, просмотр и изменение для каждого объекта метаданных
  • Права пользователей учтены в формах объектов и списков
  • Реализован абстрактный регистр накопления, как map/reduce индекс CouchDB
  • Механизм репликации с CouchDB дополнен фильтрами, реализующими ограничения на уровне записей в соответствии с правами пользователя

25.06.2016

v0.10.211

04.05.2016

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

09.05.2016

  • В прототип DataManager добавлены подписки на события при добавлении и при удалении строк табличных частей

12.05.2016

  • В прототип DataManager добавлен метод pouch_load_view, позволяющий загрузить в ОЗУ массив объектов, обрезанный view

13.05.2016

  • !important Геттеры и Сеттеры полей и табличных частей DataObj сделаны переопределяемыми (в конструкторе defineProperty свойство configurable установлено в true). Теперь, еще больше свободы в определении и переопределении поведения объектов данных со стороны приложения

v0.10.210

25.04.2016

  • Исправлена ошибка при выгрузке из памяти незаписанного DataObj

v0.10.209

29.03.2016

  • Для объектов данных реализовано свойство Модифицированность

31.03.2016

  • В формах объектов при закрытии реализован анализ свойства Модифицированность, вопрос о записи или отмене сделанных изменений

05.04.2016

  • Исправлена ошибка потери модальности при открытии вложенных форм объектов и списков
  • Исправлена ошибка сброса признака Модифицированность при записи в PouchDB
  • В параметры работы программы добавлено свойство keep_hash, задающее режим открытия вложенных форм - через глобальное изменение hash url или модальное открытие без регистрации в history

07.04.2016

  • В ядро интегрирована библиотека Aes для шифрования и дешифрования данных
  • Реализованы отборы по массиву значений типа перечисление для свойства метаданных ПараметрыПыбора. Ранее, перечисления фильровались только по подстроке синонима
  • В формах списка и выбора grid.reload теперь возвращает промис

13.04.2016

  • В прототипы DataObj и TabularSection добавлен метод _silent, отключающий нотификацию об изменениях объекта
  • Реализована синхронизация с 1С и CouchDB объектов с составным ключом: таких, как Регистр сведений и Регистр накопления. Ранее, прозрачная синхронизация поддерживалась только для объектов ссылочного типа

14.04.2016

  • Исправлена ошибка компонента OHeadFields при работе с табличными частями допреквизитов с включенным отбором строк

15.04.2016

  • Изменена стркутура журнала регистрации для совместимости с новым форматом RegisterRow

16.04.2016

  • Добавлена возможность отложенной инициализации геокодера Google для ускорения загрузки

17.04.2016

  • Добавлен класс SpreadsheetDocument (аналог табличного документа в 1С) и методы формирования печатных форм на стороне клиента, в том числе, в автономном режиме. Ранее, отчеты и печатные формы можно было сформировать только на сервере средставми платформы 1С

18.04.2016

  • В прототип Number добавлен метод in_words, формирующий сумму прописью rubles.js
  • В формы списков добавлена поддержка иерархических справочников, кешируемых в базе doc PouchDB. Ранее, формы иерархических списков могли работать только с объектами, кешируемыми в ОЗУ или на севрере

v0.10.208

Мажорное обновление, существенные изменения API

18.02.2016

  • Самописный движок репликации заменён библиотекой PouchDB - промышленный стандарт CRDT
  • Основным серверным движком данных теперь является не информационная база 1С с опубликованными веб-сервисами, а NoSQL база CouchDB. Прямое обращение к ресурсам 1С сохранено для совместимости

20.02.2016

  • Свойство lc_changed удалено из прототипа DataObj
  • Удалены устаревшие обработчики событий AppCache

26.02.2016

  • В метаданных регистров сведений, бухгалтерии и накопления поддержано семейство Реквизиты
  • Код, проверяющий, удовлетворяет ли объект условию selection, вынесен в публичный метод _$p.selection()
  • В прототипе DataManager реализованы методы загрузки и фильтрации данных, хранящихся в локальной PouchDB

16.03.2016

  • Для документов, кешируемых в PouchDB, реализовн обработчик установки нового номера

18.03.2016

  • В элементах управления OTabular и OHeadFields добавлена поддержка событий клавиатуры {Ins} и {Del}

19.03.2016

  • В классе DataObj реализованы методы extra_fields и extra_properties для получения списка дополнительных реквизитов и сведений объекта, заданных в справочнике НаборыДополнительныхРеквизитовИСведений
  • Изменён способ хранения информации об именах предопределенных элементов для совместимости с базами 1С - ссылочным типам добавлено свойство ИмяПредопределенныхДанных

23.03.2016

  • В прототипах DataObj и DataManager реализованы методы для работы с вложениями и присоединенными файлами PouchDB
  • В классе Toolbar_filter поддержано добавление пользовательских отборов и связанных с ними элементов управления

25.03.2016

  • В динамических списках реализована поддержка индексов design_doc/view PouchDB

26.03.2016

  • Состав метаданных дополнен объектом Роль, что позволит реализовать стандартные, на уровне ядра, механизмы уарвления видимостью и доступностью элементов управления и записей базы данных

v0.9.207

10.02.2016

  • Оптимизирована работа с составными типами Ссылка + Строка + Число

11.02.2016

  • Реализован метод Свернуть для класса TabularSection

13.02.2016

  • Реализован метод Сортировать для класса TabularSection

14.02.2016

  • Реализован метод aggregate для класса TabularSection, вычисляющий произвольную агрегатную функцию по колонкам табличной части

v0.9.206

27.01.2016

  • Добавлена поддержка классов данных Бизнес процесс и Задача

v0.9.204

27.12.2015

  • Библиотека dhtmlx обновлена до версии 4.6
  • Служебные графические файлы dhtmlx заменены base64-строками и включены в css и js

v0.9.201

20.11.2015

  • Изменена структура каталогов проекта для совместимости с cdn.jsdelivr.net

25.11.2015

  • Реализована возможность указать в метаданных объекта специальные url, которые будут использованы для получения данных через irest

26.11.2015

  • Новый метод менеджера ссылочных типов load_cached_server_array - догружает с сервера объекты, которых нет в локальном кеше

29.11.2015

  • Иконки на кнопках типовых форм заменены с png на шрифтовые fonticon

30.11.2015

  • Унифицирована математика для работы с присоединенными файлами БСП

v0.9.202

14.12.2015

  • Сборщик проекта заменён с LMD на Gulp

16.12.2015

  • Методы, используемые сервером metadata (postgres + nodejs), вынесены в отдельный модуль

v0.9.200

06.11.2015

  • Дерево ODynTree теперь может содержать не только папки, но и входящие в эти папки элементы

10.11.2015

  • Поддержана возможность переключения скинов (тем оформления)

14.11.2015

  • Новый визуальный компонент - ODropdownList - гиперссылка с выпадающим списком
  • Задействован иконошрифт fontawesome
  • Сторонние библиотеки теперь загружаются из cdn.jsdelivr.net, а не с нашего сервера
  • Metadata.js опубликована в cdn и доступна по адресу //cdn.jsdelivr.net/metadata/latest/metadata.min.js

v0.9.199

01.10.2015

  • Пример подключения ServiceWorker для тонкого управления кешированием

05.10.2015

  • Добавлен журнал регистрации системных и пользовательских событий

24.10.2015

  • Дерево динамического списка оформлено в виде компонента (раньше был плоский код в автоформе)
  • Библиотека dhtmlx обновлена до v4.5 - задействовано gpl-ядро + модификаторы и расширения
  • Новое свойство device_type (phone, tablet, desktop) и событие on_rotate

25.10.2015

  • Новый визуальный компонент - DynDataView

27.10.2015

  • Добавлен midi beeper для звукового сопровождения сканирования (пример в безбумажке)
  • Дополнены методы WSQL для работы с indexedDB
  • Реализована запись оффлайн и синхронизация с 1С для регистратора штрихкодов (пример в безбумажке)
  • Драйвер клавиатурного сканера оформлен в виде компонента (раньше был плоский код в модуле безбумажки)

28.10.2015

  • Добавлены префиксы локального хранилища. Нужны, когда несколько сйтов крутятся на одном домене и отличаются только папками
  • Новое событие on_grid_inited в автоформе списка и выбора
  • Новый тип поля грида - pwd для ввода паролей

30.10.2015

  • Пример фоновой синхронизации в отдельном потоке (WebWorker в безбумажке)
  • Обновлена документация по API