Требуется: В 1С Документооборот 2.1, дать пользователю доступ на изменение для справочника "Должности". Однако, текущие наименования должностей надо сохранить."для истории".
Решение:
Добавить новый дополнительный реквизит для справочника "Должности", тип Строка, 150.
Присвоить имя - "Исходное наименование" (в справочник наименование запишется как "Исходное наименование (Должности)", по нему в дальнейшем и будем искать).
В стандартной обработке "Групповое изменение реквизитов" записываем произвольный алгоритм, и выполняем его.
ДолжностьОбъект = Объект;
ДолжностьСсылка = Объект.Ссылка;
Сообщить("Обрабатывается: "+ДолжностьСсылка);
СвойствоИсходноеНаименование = Неопределено;
МассивСвойствДолжностей = УправлениеСвойствами.ПолучитьСписокСвойств(ДолжностьСсылка, Истина, Ложь); // только доп. реквизиты
Для Каждого ЭлементМассива Из МассивСвойствДолжностей Цикл
Если ЭлементМассива.Наименование = "Исходное наименование (Должности)" Тогда
СвойствоИсходноеНаименование = ЭлементМассива;
КонецЕсли;
КонецЦикла;
//
РеквизитЗаполнен = Ложь;
Для Каждого СтрокаДопРеквизит Из ДолжностьОбъект.ДополнительныеРеквизиты Цикл
Если СтрокаДопРеквизит.Свойство.Наименование = "Исходное наименование (Должности)" Тогда
Сообщить(" Реквизит уже заполнен");
РеквизитЗаполнен = Истина;
КонецЕсли;
КонецЦикла;
//
Если НЕ РеквизитЗаполнен Тогда
СтрокаДопРеквизит = ДолжностьОбъект.ДополнительныеРеквизиты.Добавить();
СтрокаДопРеквизит.Свойство = СвойствоИсходноеНаименование;
СтрокаДопРеквизит.Значение = СокрЛП(Объект.Наименование);
КонецЕсли;
Комментариев нет:
Отправить комментарий