Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в Neti →

 

Подключение механизма версионирования к новым объектам в 1С:ERP

 

Задача: в конфигурации 1С:ERP Управление предприятием 2 (2.2.1.115) на платформе 8.3.15.1778 к двум новым справочникам нужно было подключить механизм версионирования. После настройки версионирования с помощью БСП оказалось, что у одного справочника появилась команда История изменений в контекстном меню формы списка и в меню Все действия (рис. 1), а у другого нет.

Подключение механизма версионирования к новым объектам в 1С:ERP

Рис. 1. Контекстное меню формы списка справочника

В формах элемента обоих справочников появились команды См. также – История изменений (рис. 2):

Подключение механизма версионирования к новым объектам в 1С:ERP

Рис. 2. Команда История изменений в форме элемента справочника

Решение: команда История изменений в контекстном меню формы списка и в меню Все действия – это команда платформенного механизма версионирования. Использование этого механизма настраивается в Конфигураторе в разделе Прочее поле История данных (рис. 3):

Подключение механизма версионирования к новым объектам в 1С:ERP

Рис. 3. Раздел Прочее настроек справочника в Конфигураторе

В обоих справочниках на вкладке Прочее свойство История данных было заполнено значением Не использовать. Но для одного из справочников использование истории данных было установлено программно внешней обработкой, а для другого — нет.

Пример кода для установки использования истории данных для справочника НовыйСправочник:

&НаСервере
Процедура УстановитьИспользованиеИсторииДанныхСервер()
	ТекНастройки = ИсторияДанных.ПолучитьНастройки(Метаданные.Справочники.НовыйСправочник);
	
	Если ТекНастройки = Неопределено
		ИЛИ (ТипЗнч(ТекНастройки) = Тип("НастройкиИсторииДанных")
			И НЕ ТекНастройки.Использование) Тогда

		ТекНастройки = Новый НастройкиИсторииДанных;
		ТекНастройки.Использование = Истина;
		
		ИсторияДанных.УстановитьНастройки(Метаданные.Справочники. НовыйСправочник, ТекНастройки);

	КонецЕсли;
КонецПроцедуры