Доброго времени суток!
Если Вы, как и я, столкнулись с необходимостью перенести данные по категориям должностей в ЗУП 3, то надеюсь Вам поможет моя публикация :) Изменение или снятие конфигурации с поддержки не требуется: категория будет храниться в дополнительном реквизите, а импорт осуществляться внешней обработкой посредством Com-объекта.
Прежде всего, указываем в настройках возможность использования дополнительных реквизитов: Администрирование - Общие настройки - Дополнительные реквизиты и сведения
Далее добавляем дополнительный реквизит к справочнику Должности: Администрирование - Дополнительные реквизиты - В правой части добавляем реквизит, назовем его, к примеру, "Категория статистического учета".
Развернем область "Для разработчика" внизу формы и впишем туда имя "КатегорияСтатистическогоУчета". Тип значения реквизита установим свой: на вкладке Значения добавим варианты категорий так, как они были заведены в зуп 2.5 (важно, что бы их наименования полностью совпадали, по ним будет производится сопоставление для импорта).
Сохраняем изменения по кнопке "Записать".
Теперь у нас есть реквизит для хранения категории, если должностей совсем немного - на этом можно остановиться и забить их вручную. Однако если должностей очень много, либо вносить вручную просто не хочется, идем дальше - напишем обработку для подключение к базе зуп 2.5.
Устанавливаем соединение с базой ЗУП 2.5 посредством com-объекта:
Функция УстановитьCOMСоединение()
//Заменить слова сервер, база, пользователь и пароль на соответствующие значения
СтрокаПодключения = "Srvr=""сервер""; Ref=""база""; Usr=""пользователь""; Pwd=""пароль"";";
//Если вы подключаетесь к файловой базе, строка выглядит следующим образом:
//СтрокаПодключения = "file=""D:\ПапкаСБазой""; Usr=""пользователь""; Pwd=""пароль"";"
Попытка
Коннектор = Новый COMObject("V83.COMConnector");
Соединение = Коннектор.Connect(СтрокаПодключения);
Возврат Соединение;
Исключение
ТекстСообщенияОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ВызватьИсключение ТекстСообщенияОбОшибке;
КонецПопытки;
КонецФункции
После успешного подключения получаем выборку данных по категориям должностей из базы зуп 2.5:
&НаСервере
Процедура КомандаВыполнитьНаСервере()
Соединение = УстановитьCOMСоединение();
Если Соединение = Неопределено тогда
Возврат;
КонецЕсли;
Запрос = Соединение.NewObject("Запрос");
Запрос.Текст = "
| ВЫБРАТЬ
| ДолжностиОрганизаций.Наименование КАК Наименование,
| ПРЕДСТАВЛЕНИЕ(ДолжностиОрганизаций.КатегорияСтатистическогоУчета) КАК КатегорияСтатистическогоУчета //превращаем тип перечисление в тип строка
| ИЗ
| Справочник.ДолжностиОрганизаций КАК ДолжностиОрганизаций
| ГДЕ
| НЕ ДолжностиОрганизаций.ПометкаУдаления";
Выб = Запрос.выполнить().ВЫбрать();
пока Выб.следующий() цикл
Попытка
должность = Справочники.Должности.НайтиПоНаименованию(Выб.Наименование);
долж = должность.ПолучитьОбъект();
рекв = долж.ДополнительныеРеквизиты.Добавить();
рекв.Свойство = Объект.Свойство; //реквизит обработки, создаем и выводим на форму реквизит с типом ПланВидовХарактеристик "Дополнительные реквизиты и сведения"
Если выб.КатегорияСтатистическогоУчета = "Руководители" тогда
рекв.Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Руководители");
ИначеЕсли
выб.КатегорияСтатистическогоУчета = "Специалисты" тогда
рекв.Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Специалисты");
ИначеЕсли
выб.КатегорияСтатистическогоУчета = "Рабочие" тогда
рекв.Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Рабочие");
ИначеЕсли
выб.КатегорияСтатистическогоУчета = "Научные и научно-педагогические работники" тогда
рекв.Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Научные и научно-педагогические работники");
Иначе
рекв.Значение = "Другие служащие";
КонецЕсли;
долж.Записать();
Исключение
ошибка = ОписаниеОшибки();
Сообщить(Выб.Наименование+ " " +ошибка);
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Готово, теперь в наших дополнительных реквизитах хранятся категории! Данное поле можно выводить в отчеты посредством пользовательских настроек, устанавливать по нему отбор и т.д. Надеюсь, моя публикация была Вам полезна :)
Прилагаю также оригинал обработки - для использования необходимо выбрать из выпадающего списка вариант подключения - файловый(file..) или клиент-серверный(srvr..) и прописать параметры строки - имя базы и сервера для клиент-серверного, путь к базе для файлового, пользователь и пароль для подключения к вашей базе для экспорта. Обработка тестировалась на релизе ЗУП 3.1.6.37, платформа 8.3.10.2580