# Версионирование объектов



# Бухгалтерия экспедитора (готовое решение)

[ITSPM\_ВерсионированиеОбъектов\_БЭ.cfe](https://cloud.accounter.org/index.php/f/227417)  
Установка требует Монопольный режим.  
!!!!При установке - убрать галочку безопасный режим работы.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/image.png)  
  
Вся стандартная настройка интегрирована в настройки хранения истории изменения основной конфигурации

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/3Lyimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/3Lyimage.png)Справочники и документы бухгалтерии экспедитора выделены в отдельные группы

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/zQ0image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/zQ0image.png)

Готово![![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/eHbimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/eHbimage.png)  
  
  
Для грузоперевозок предусмотрена история в разрезе параметров. *(с версии 1.2)*[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-01/scaled-1680-/zbmimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-01/zbmimage.png)

<p class="callout danger">Для того чтобы кнопка просмотра версий объекта была доступна у пользователей с неполными правами необходимо создать группу доступа **"Чтение версий объектов"**, в которую будут входить две роли **"Чтение версий объектов"** и **"Чтение информации о версиях объектов"**.</p>

# Интеграция с другими объектами основной конфигурации

Для добавления собственных объектов следует

1\) Добавить новые элементы в расширение версионирования объектов.   
(*Если очень хочется можно и изменить одни из уже представленных определяемых типов, но лучше создать свой - В этом случае дальше в конфигурации ничего делать не нужно)*[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/yUyimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/yUyimage.png)

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

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/R7Vimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/R7Vimage.png)

2\) Добавляем команду с следующими настройками: *(тип параметра команды - новый определяемый тип)*  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/FHyimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/FHyimage.png)

3\) В модуль ITSPM\_ВерсионированиеОбъектов\_ОбщийМодуль   
Добавить аналогичную строку с новым определяемым типом. *(Это влияет на запись версий объектов)*  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/uUnimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/uUnimage.png)

Последний пункт необязательный для работы и его можно пропустить.  
Для включения и отключения отображения кнопки в зависимости от использования версионирования в данный момент. [![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/G7nimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/G7nimage.png)4.1) В состав функциональной опции ITSPM\_ВерсионированиеОбъектов\_ИспользоватьВерсионированиеОбъекта  
Добавить вашу команду.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/bfWimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/bfWimage.png)

4.2) В каждую форму элемента или списка объектов к которым привязана команда добавить при создании на сервере код:  
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтаФорма);[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/cMKimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/cMKimage.png)

# Интеграция с расширениями

Внимание!   
Интеграция модуля с другими расширениями возможна только с версии совместимости 8.3.20 и выше!  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/image.png)

А при установке расширения - отключаем безопасный режим  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/aeXimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/aeXimage.png)

Интеграция должна быть двухсторонняя и состоит из 2-х элементов:   
п. 1) Запись данных о версиях объектов:  
*Эту задачу решает данный модуль, настройка будет на этапе 2*  
п. 2) Вывод кнопочки для того чтобы можно было эти версии смотреть:   
*И это нужно будет сделать в том расширении, в котором были добавлены новые справочники или документы.*

Для примера конфигурация "ЗУП" и какое-то расширение "Кадровик".  
Задача сделать так чтобы история велась по этим документам:   
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/TcXimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/TcXimage.png)

1\) Добавить общую команду \[префикс\]\_ITSPM\_ВерсионированиеОбъектов\_ИсторияИзменений  
Главные свойства: Группа и тип параметра команды *Имя, синоним и картинка, конечно, на ваше усмотрение.* [![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/Ot4image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/Ot4image.png)  
Обработка команды:  
<span style="color: rgb(0, 0, 255);">Модуль\_ITSPM\_ВерсионированиеОбъектов\_ОбщийМодуль\_Клиент <span style="color: rgb(255, 25, 0);">=</span> ОбщегоНазначенияКлиент.ОбщийМодуль<span style="color: rgb(255, 25, 0);">(</span></span>"ITSPM\_ВерсионированиеОбъектов\_ОбщийМодуль\_Клиент"<span style="color: rgb(0, 0, 255);"><span style="color: rgb(255, 25, 0);">);</span>   
</span><span style="color: rgb(0, 0, 255);"><span style="color: rgb(255, 25, 0);">Если </span>Модуль\_ITSPM\_ВерсионированиеОбъектов\_ОбщийМодуль\_Клиент <span style="color: rgb(255, 25, 0);">&lt;&gt; Неопределено тогда </span>Модуль\_ITSPM\_ВерсионированиеОбъектов\_ОбщийМодуль\_Клиент.ОбработкаКоманды\_ИсторияИзменений<span style="color: rgb(255, 25, 0);">(</span>ПараметрКоманды<span style="color: rgb(255, 25, 0);">,</span> ПараметрыВыполненияКоманды<span style="color: rgb(255, 25, 0);">)</span>   
</span><span style="color: rgb(0, 0, 255);"><span style="color: rgb(255, 25, 0);">КонецЕсли;</span></span>

1.1) Обращаю внимание, что должна быть включена галочка "Автозаполнение".   
В ином случае выводите как хотите сами.  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/5quimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/5quimage.png)

2\) В базе открываем обработку "Настройки версионирования дополнительных объектов" и выбираем свои расширения.  
*(только записать не забудьте)* [![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/Lacimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/Lacimage.png)

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

Мы будем скрывать кнопку если по этому объекту не ведется запись версий.

  
3\) В расширение с которым выполняется интеграция добавляем регистр "НастройкиВерсионированияОбъектов" и ресурс "Использовать".  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/3Sjimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/3Sjimage.png)

4\) Добавляем функциональную опцию \[префикс\]\_ITSPM\_ВерсионированиеОбъектов\_ИсторияИзменений  
И выбираем в свойстве "Хранение" ресурс который добавили выше  
*Назвать тоже можете как хотите* [![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/2Lvimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/2Lvimage.png)

4.1) В состав включаем ранее добавленную команду.  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/oSPimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/oSPimage.png)

5\) В каждую форму элемента или списка объектов к которым привязана команда добавить при создании на сервере код:

<span style="color: rgb(0, 0, 255);">ВерсионированиеОбъектов.ПриСозданииНаСервере</span><span style="color: rgb(255, 25, 0);">(</span><span style="color: rgb(0, 0, 255);">ЭтаФорма</span><span style="color: rgb(255, 25, 0);">);</span>[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/exYimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/exYimage.png)

Если этого не сделать кнопка будет отображаться даже если версионирование не ведется.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/6XGimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/6XGimage.png)

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/Esoimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/Esoimage.png)