Заметки из Зазеркалья

07.05.2018

Развитие механизма «История данных»

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Планируется в версии 8.3.13.

Мы расширяем возможности механизма История данных. Теперь этот механизм охватывает несколько новых объектов конфигурации, а также позволяет вам реализовывать собственные алгоритмы при переходе на версию и переопределять все основные формы, используемые этим механизмом.

Новые объекты конфигурации, для которых поддерживается история данных

Теперь история данных поддерживается ещё для трёх классов объектов конфигурации. Это:

  • планы обмена,
  • планы видов расчета,
  • константы.

С данными этих объектов механизм работает по тем же принципам, что и с данными справочников или документов.

Поддержка изменений реквизита ИмяПредопределенныхДанных

В механизм истории данных мы добавили поддержку изменения стандартного реквизита ИмяПредопределенныхДанных для таких объектов как:

  • планы видов расчета,
  • справочники,
  • планы счетов,
  • планы видов характеристик.

Особенностью этого реквизита является то, что он может изменяться как в режиме Конфигуратор (в процессе разработки), так и в режиме 1С:Предприятие. Механизм истории данных создаёт версии только для тех изменений, которые выполняются в режиме 1С:Предприятие.

Управление переходом на версию

Мы реализовали новое событие ОбработкаФормированияПоВерсии() для таких программных объектов как:

  • СправочникОбъект,
  • ДокументОбъект,
  • ПланСчетовОбъект,
  • БизнесПроцессОбъект,
  • ЗадачаОбъект,
  • РегистрСведенийНаборЗаписей.

С помощью этого события вы можете вмешаться в процесс формирования новой версии. Например, вы можете добавить комментарий к версии, исключить реквизит объекта из стандартной обработки, изменить данные (номер версии) и так далее.

Также мы реализовали новый параметр формы НомерВерсииПереходаНаВерсию. Если вы задаёте этот параметр при получении или открытии формы объекта, то будет выполнено восстановление данных той версии, которую вы указали. Также, анализируя этот параметр в форме, вы можете предусмотреть специальные действия, которые должны выполняться только при переходе на версию.

Также мы улучшили эргономику работы с версиями. Например, в формы списков мы добавили стандартную команду История изменений. С помощью неё, например, вы можете просматривать историю изменений для записи подчиненного регистра сведений. А в формах объектов, при переходе на версию, мы отображаем в заголовке номер версии. Например, для документа заголовок будет выглядеть следующим образом:

Заказ 000000001 от 18.08.2016 0:00:00 (Переход на версию 1)

Формы, используемые механизмом истории данных

Для основных форм, используемых механизмом истории данных, мы предусмотрели возможность их переопределения в Конфигураторе. Теперь у объекта конфигурации появились три новых свойства:

  • Основная форма истории изменений истории данных – это та форма, которая показывает список версий данных, она открывается при вызове команды История изменений;
  • Основная форма данных версии истории данных – это та форма, которая показывает отчёт о данных версии, она открывается из формы истории изменений;
  • Основная форма различий версий истории данных – это та форма, которая показывает отчёт о различиях между версиями, она также открывается из формы истории изменений.

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

Кроме этого вы можете открыть или получить перечисленные формы из встроенного языка. Для них добавлены стандартные имена, которые вы можете использовать в методах ОткрытьФорму() или ПолучитьФорму().

Также во встроенный язык мы добавили ещё два стандартных имени для двух других форм истории данных. Это:

  • ДиалогОтбораВерсийИсторииДанных – это форма, которая позволяет задать параметры отбора версий, она открывается из формы истории изменений;
  • ДиалогВыбораПользователейИсторииДанных – это форма, которая позволяет задать автора версий для отбора версий, она открывается из формы отбора.

Эти формы вы тоже можете, например, открыть из встроенного языка, но переопределить их нельзя.

Помимо назначения собственных форм в Конфигураторе, вы можете «динамически» переопределять формы истории данных. Например, стандартные имена форм механизма истории данных передаются в обработчик ОбработкаПолученияФормы() в параметре ВидФормы. Проанализировав значение этого параметра, вы можете отказаться от открытия стандартной формы, и открыть, например, собственную форму истории данных.


Рассказать друзьям: