Версионирование объектов
- Бухгалтерия экспедитора (готовое решение)
- Интеграция с другими объектами основной конфигурации
- Интеграция с расширениями
Бухгалтерия экспедитора (готовое решение)
ITSPM_ВерсионированиеОбъектов_БЭ.cfe
Установка требует Монопольный режим.
!!!!При установке - убрать галочку безопасный режим работы.
Вся стандартная настройка интегрирована в настройки хранения истории изменения основной конфигурации
Справочники и документы бухгалтерии экспедитора выделены в отдельные группы
Готово!
Для грузоперевозок предусмотрена история в разрезе параметров. (с версии 1.2)
Интеграция с другими объектами основной конфигурации
Для добавления собственных объектов следует
1) Добавить новые элементы в расширение версионирования объектов.
(Если очень хочется можно и изменить одни из уже представленных определяемых типов, но лучше создать свой - В этом случае дальше в конфигурации ничего делать не нужно)
Синоним определяемого типа будет определять представление группы ваших элементов в настройках хранения истории изменения основной конфигурации.
2) Добавляем команду с следующими настройками: (тип параметра команды - новый определяемый тип)
3) В модуль ITSPM_ВерсионированиеОбъектов_ОбщийМодуль
Добавить аналогичную строку с новым определяемым типом. (Это влияет на запись версий объектов)
Последний пункт необязательный для работы и его можно пропустить.
Для включения и отключения отображения кнопки в зависимости от использования версионирования в данный момент. 4.1) В состав функциональной опции ITSPM_ВерсионированиеОбъектов_ИспользоватьВерсионированиеОбъекта
Добавить вашу команду.
4.2) В каждую форму элемента или списка объектов к которым привязана команда добавить при создании на сервере код:
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтаФорма);
Интеграция с расширениями
Внимание!
Интеграция модуля с другими расширениями возможна только с версии совместимости 8.3.20 и выше!
А при установке расширения - отключаем безопасный режим
Интеграция должна быть двухсторонняя и состоит из 2-х элементов:
п. 1) Запись данных о версиях объектов:
Эту задачу решает данный модуль, настройка будет на этапе 2
п. 2) Вывод кнопочки для того чтобы можно было эти версии смотреть:
И это нужно будет сделать в том расширении, в котором были добавлены новые справочники или документы.
Для примера конфигурация "ЗУП" и какое-то расширение "Кадровик".
Задача сделать так чтобы история велась по этим документам:
1) Добавить общую команду [префикс]_ITSPM_ВерсионированиеОбъектов_ИсторияИзменений
Главные свойства: Группа и тип параметра команды
Имя, синоним и картинка, конечно, на ваше усмотрение.
Обработка команды:
Модуль_ITSPM_ВерсионированиеОбъектов_ОбщийМодуль_Клиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ITSPM_ВерсионированиеОбъектов_ОбщийМодуль_Клиент");
Если Модуль_ITSPM_ВерсионированиеОбъектов_ОбщийМодуль_Клиент <> Неопределено тогда Модуль_ITSPM_ВерсионированиеОбъектов_ОбщийМодуль_Клиент.ОбработкаКоманды_ИсторияИзменений(ПараметрКоманды, ПараметрыВыполненияКоманды)
КонецЕсли;
1.1) Обращаю внимание, что должна быть включена галочка "Автозаполнение".
В ином случае выводите как хотите сами.
2) В базе открываем обработку "Настройки версионирования дополнительных объектов" и выбираем свои расширения.
(только записать не забудьте)
Это минимальный набор действий, но если нужно чтобы кнопочка появлялась, и исчезала в зависимости от того ведется по ней запись или нет можно пользоваться функциональными опциями (точно так же как работает основной конфигурации).
Так можно настроить интеграцию сразу со всеми объектами, но не использовать ее прямо сейчас.
Мы будем скрывать кнопку если по этому объекту не ведется запись версий.
3) В расширение с которым выполняется интеграция добавляем регистр "НастройкиВерсионированияОбъектов" и ресурс "Использовать".
4) Добавляем функциональную опцию [префикс]_ITSPM_ВерсионированиеОбъектов_ИсторияИзменений
И выбираем в свойстве "Хранение" ресурс который добавили выше
Назвать тоже можете как хотите
4.1) В состав включаем ранее добавленную команду.
5) В каждую форму элемента или списка объектов к которым привязана команда добавить при создании на сервере код:
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтаФорма);
Если этого не сделать кнопка будет отображаться даже если версионирование не ведется.