Содержание
- Задача
- Решение
- Подготовительные действия
- Правило выгрузки
- Правило конвертации
- Текст обработчика «При выгрузке»
- Текст обработчика «Перед загрузкой»
Задача
Решение
Подготовительные действия
Правило выгрузки
Создадим правило выгрузки данных, способ выборки — «Произвольный алгоритм», код (имя) правила — «ПользователиИБ«, наименование — «Пользователи информационной базы«, правило конвертации пока указывать не будем — вернемся к нему позже.
Перейдем на закладку «Основная» и в обработчике «Перед выгрузкой» напишем следующий текст:
В этом алгоритме мы создаем таблицу значений с единственной колонкой — «Наименование», в которой будет храниться имя пользователя ИБ. Запишем правило.
Правило конвертации
Перейдем на закладку «Правила конвертации объектов» и создадим новое правило — «Пользователи». В карточке правила перейдем на закладку «Настройки» и снимем флажок «Искать объект приемника по внутреннему идентификатору объекта источника». На самом деле переноситься будет не справочник пользователей, а список пользователей информационной базы, т.к. мы подменили источник выборки. Запишем правило, вернемся к правилу выгрузки данных и укажем его в реквизите «Правило конвертации».
Для правила конвертации объектов «Пользователи» создадим правило конвертации свойств «Наименование», установим флажок «Поиск объекта при загрузке по свойству», запишем.
Вновь откроем карточку правила конвертации «Пользователи». Сейчас нам предстоит поработать с файлом выгрузки — программно создать подчиненный узел с информацией о пользователе ИБ при выгрузке, а при загрузке его прочитать и записать в информационную базу.
Текст обработчика «При выгрузке»
Перейдем на закладку «Обработчики событий», вкладка «При выгрузке» и напишем следующий программный код:
Здесь мы программно создаем подчиненный узел с информацией о пользователе информационной базы — режим запуска, язык, пароль, роли и пр.
Текст обработчика «Перед загрузкой»
В обработчике «Перед загрузкой» прочитаем информацию о пользователе и запишем его в список пользователей информационной базы.
Таким несложным образом мы перенесли все данные о пользователях информационной базы в новую программу.
В дальнейшем пример можно усложнить, например — передавать не только справочник «Пользователи», но и профили прав доступа, значения групп доступа, пользователей информационной базы и т.д.
Задача была – скопировать одну базу в другую, причем перенести список пользователей и настройки пользователей.
Потому что в настройках пользователей было очень много хитроумных разукрашиваний и отборов, следовательно, повторять это руками было бы долго.
Была написана обработка, которая выгружает настройки пользователей из одной базы в файлы и потом позволяет их загрузить из файлов в другую базу.
Можно использовать и для переноса настроек между одними пользователями, если типовое копирование не нравится.
Обработка имеет форму:
Нужно указать каталог выгрузки, туда будут выгружены файлы XML , название файла соответствует названию пользователя. При этом недопустимые символы в имени файла удаляются.
После выгрузки можно убрать ненужные файлы и выполнить загрузку.
При загрузке если имя пользователя не нашлось, выдается предупреждение.
При выгрузке и загрузке выдаются детальные сообщения с названиями переносимых разделов настроек.
После копирования настройки проверил – настройки у пользователя перенеслись, форма списка заказов открывается с нужным разукрашиванием:
Перенос пользователей информационной базы 1С
Возможны два варианта переноса справочника Пользователи: с созданием пользователей информационной базы (далее ИБ) и без создания .
Начнем с варианта: перенос данных без создания пользователей ИБ .
В этом случае список пользователей в режиме Конфигуратор пуст, соответственно вход в конфигуратор не составит проблем, но редактировать список пользователей следует в режиме 1С:Предприятие в разделе Администрирование — Настройки пользователей и прав. В ИБ присутствует справочник Пользователи, каждый элемент которого выглядит как на рис.1: флаг Вход в программу разрешен не установлен. Этот флажок нужно установить . Автоматически будет заполнено имя для входа. Здесь же при желании можно установить пароль. При сохранении элемента справочника в таком виде появится сообщение о том, что в список пользователей программы добавляется первый пользователь, поэтому он будет автоматически включен в группу доступа Администраторы. Пользователи программы — это и есть другими словами пользователи ИБ, список которых отображается в конфигураторе.
Рис.1 Элемент справочника Пользователи сразу после загрузки
После создания описанным выше способом первого пользователя ИБ ему будут назначены две роли: Администратор системы и Полные права. В режиме 1С:Предприятие это будет отображаться в правах доступа как назначенный пользователю профиль Администратор. При старте программы после выполнения данных действий будет предложен выбор из списка пользователей.
По остальным пользователям — действия аналогичные, которые выполняются администратором системы. Отличие в том, что автоматически никого профиля пользователю назначаться не будет и соответственно никаких доступных ролей пользователя в конфигураторе отмечено не будет. Поэтому нужно обязательно установить права доступа пользователю (выбрать необходимые профили), иначе он не сможет даже запустить программу.
Все это делается в режиме 1С:Предприятие .
Второй вариант переноса данных: с созданием пользователей ИБ. Для этого нужно установить параметр выгрузки Создавать в приемнике пользователей ИБ.
В этом случае создается новый пользователь Администратор с правами доступа администратора, а все элементы справочника Пользователи, перенесенные из источника, уже настроены на вход в программу, т.е. флаг Вход в программу разрешен уже установлен . Для каждого из них создан пользователь ИБ, но права доступа не назначены и пароли пустые (см. рис.2).
Рис. 2 Список пользователей сразу после загрузки
Соответственно каждому пользователю нужно установить права доступа (выбрать необходимые профили) и, если необходимо, пароль. Все это делается в режиме 1С:Предприятие .
В заключение стоит отметить, что описанного порядка работы следует придерживаться и при добавлении новый пользователей, т.е. в случае, не связанном с переносом данных. Понятно, что при этом придется все действия выполнить вручную, включая создание физического лица. Хотя последнее не является, строго говоря, обязательным.
© Борис Балясников, последние изменения ноябрь 2016г.
Источник: