Копирование настроек пользователей

Привет.

В процессе работы пользователи обживают свою 1Ску, создают и сохраняют новые настройки отчетов, условные оформления списков документов, расположения и настройки видов окон.

И вот один из сотрудников увольняется, и возникает необходимость перенести настройки всего этого уютного гнездышка от старого пользователя к новому.

Для начала разберемся, где это все добро лежит:

Нас интересуют всего две ключевые таблицы из базы данных: _SystemSettings и _RepSettings. В первой хранятся настройки среды 1С, такие как настройки окон, условные оформления. А во второй хранятся сохраненные настройки отчетов пользователя.

Если вы выполните простые SELECTы, то вы увидите, что всё хранится предельно прозрачно.

И все что нам нужно - это выполнить два маленьких SQL-запроса.


/*Определили имя базы данных*/
USE UT3;

/*Скопировали настройки окон/списков/последние отборы отчетов*/
INSERT INTO [_SystemSettings]
SELECT
'НовыйПользователь' AS _UserId
      ,[_ObjectKey]
      ,[_SettingsKey]
      ,[_Version]
      ,[_SettingsPresentation]
      ,[_SettingsData]
  FROM [_SystemSettings]
  WHERE _UserId = 'СтарыйПользователь';

/*Скопировали сохраненные настройки отчетов*/
INSERT INTO [_RepSettings]
SELECT 
'НовыйПользователь' AS _UserId
      ,[_ObjectKey]
      ,[_SettingsKey]
      ,[_Version]
      ,[_SettingsPresentation]
      ,[_SettingsData]
  FROM [_RepSettings]
WHERE _UserId = 'СтарыйПользователь'

Где:

UT3 - имя базы данных SQL,

НовыйПользователь и СтарыйПользователь - имена пользователей ИБ.

Часто бывает, что конфигурация хранит настройки пользователей и отчетов в справочниках. В этом случае вам придется дополнительно исследовать структуру хранения и писать обработки переноса самостоятельно, либо найти их на Инфостарте.

Read Full Article