Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Тамика
Котовчанин
929 / 470 / 199
Регистрация: 16.02.2010
Сообщений: 3,305
Записей в блоге: 32
1

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

09.03.2017, 20:38. Просмотров 1504. Ответов 8
Метки нет (Все метки)

Добрый вечер всем!

Пытаюсь программно скопировать настройки пользователя. Вроде разобралась как, но не понимаю в чем ошибка
Вот код
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    Запрос = Новый Запрос();
    Запрос.Текст = "ВЫБРАТЬ
                   |    НастройкиПользователей.Пользователь,
                   |    НастройкиПользователей.Настройка,
                   |    НастройкиПользователей.Значение
                   |ИЗ
                   |    РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
                   |ГДЕ
                   |    НастройкиПользователей.Пользователь = &Пользователь";
                   
                   
    Запрос.УстановитьПараметр("Пользователь", ПользовательДляКопирования);
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь();
    Пока Выборка.Следующий() Цикл
        ЙаПеременка = 10;
        УправлениеПользователями.УстановитьЗначениеПоУмолчанию(Пользователь, Выборка.Настройка, Выборка.Значение);          
    КонецЦикла;
А ошибка вылазит при вызове функции УстановитьЗначениеПоУмолчанию якобы нет такой настройки
1C
1
СсылкаНастройки = ПланыВидовХарактеристик.НастройкиПользователей[Настройка];
Но я отладчиком смотрела какие там настройки, залезала в ПланыВидовХарактеристик - там есть эти настройки! Почему ошибка при попытке их найти - не понимаю.

Добавлено через 1 час 32 минуты
И как получить ссылку на пользователя?!!! Уже полтора часа копаюсь и не могу просто получить ссылку на пользователя! Как?!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2017, 20:38
Ответы с готовыми решениями:

Настройки пользователя. Как их настроить или прописать в Конфигураторе?
проблема: Есть база, есть группа пользователей с ролью. Необходимо указать настройки пользователя в...

Скопировать настройки прав
Всем дорбое утро! Работаю в Документообороте 2.0 Такой вопрос - можно как-то скопировать в...

Установить стандартные настройки программно
Всем привет, зачастила я что-то... Декрет, тупею:gpardon: На этот раз надо перенести часть...

Программно задать настройки универсальному отчету (8.2)
Доброго времени суток Форумчане! Мне нужно на форму отчета добавить кнопочку, по нажатию на нее...

Программно скопировать данные из одной базы в другую
Всем доброго дня! Проблема в следующем. Есть две базы 1С8.2 на сервере, каждой соответствует своя...

8
GreenkA
Форумчанин
Эксперт 1С
2994 / 1920 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
09.03.2017, 22:23 2
Тамика, ссылку на какого пользователя? Что у вас в переменной ПользовательДляКопирования?
0
Dethmontt
Модератор
Эксперт 1С
2674 / 2456 / 426
Регистрация: 10.03.2011
Сообщений: 8,805
Записей в блоге: 1
Завершенные тесты: 1
10.03.2017, 02:07 3
Тамика, нужно две переменных
1. ПользовательИзКоторогоКопируем
2. ПользовательНаКоторогоКопируем

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Запрос = Новый Запрос();
    Запрос.Текст = "ВЫБРАТЬ
                   |    НастройкиПользователей.Настройка,
                   |    НастройкиПользователей.Значение
                   |ИЗ
                   |    РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
                   |ГДЕ
                   |    НастройкиПользователей.Пользователь = &Пользователь";
                   
                   
    Запрос.УстановитьПараметр("Пользователь", ПользовательИзКоторогоКопируем);
 
    Выборка = Запрос.Выполнить().Выбрать();
 
    Пока Выборка.Следующий() Цикл
        МенеджерЗаписи = РегистрыСведений.НастройкиПользователей.СоздатьМенеджерЗаписи();
        МенеджерЗаписи.Пользователь = ПользовательНаКоторогоКопируем;
        МенеджерЗаписи.Настройка = Выборка.Настройка;
        МенеджерЗаписи.Значение = Выборка.Значение;
        МенеджерЗаписи.Записать(Истина);
    КонецЦикла;
1
Тамика
Котовчанин
929 / 470 / 199
Регистрация: 16.02.2010
Сообщений: 3,305
Записей в блоге: 32
10.03.2017, 19:01  [ТС] 4
Цитата Сообщение от GreenkA Посмотреть сообщение
Тамика, ссылку на какого пользователя? Что у вас в переменной ПользовательДляКопирования?
Пользователь, для которого копируем - это ПользовательДляКопирования. Пользователь , которому копируем - текущий пользователь.
0
10.03.2017, 19:01
Dethmontt
Модератор
Эксперт 1С
2674 / 2456 / 426
Регистрация: 10.03.2011
Сообщений: 8,805
Записей в блоге: 1
Завершенные тесты: 1
11.03.2017, 00:44 5
1C
1
МенеджерЗаписи.Пользователь = ПараметрыСеанса.ТекущийПользователь;
0
Тамика
Котовчанин
929 / 470 / 199
Регистрация: 16.02.2010
Сообщений: 3,305
Записей в блоге: 32
13.03.2017, 13:29  [ТС] 6
Dethmontt, GreenkA, нужно было поменять немного реализацию. Чтобы настройки копировались не текущему пользователю, а текущему объекту справочника Пользователи. И опять беда с пустым пользователем...
Объясните, пожалуйста, что я не так делаю?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
    Если ЭлементыФормы.НастройкаКопирования.Значение = "Установить настройки пользователя" Тогда
        ПользовательИзКоторогоКопируем = ПользовательДляКопирования;
        ПользовательНаКоторогоКопируем = ЭтотОбъект.ФизЛицо;
    Иначе 
        ПользовательИзКоторогоКопируем = ЭтотОбъект.ФизЛицо;
        ПользовательНаКоторогоКопируем = ПользовательДляКопирования;
    КонецЕсли;
    
    Запрос = Новый Запрос();
    Запрос.Текст = "ВЫБРАТЬ
                   |    НастройкиПользователей.Настройка,
                   |    НастройкиПользователей.Значение
                   |ИЗ
                   |    РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
                   |ГДЕ
                   |    НастройкиПользователей.Пользователь = &Пользователь";
                   
                   
    Запрос.УстановитьПараметр("Пользователь", ПользовательИзКоторогоКопируем);
 
    Выборка = Запрос.Выполнить().Выбрать();
 
    Пока Выборка.Следующий() Цикл
        МенеджерЗаписи = РегистрыСведений.НастройкиПользователей.СоздатьМенеджерЗаписи();
        МенеджерЗаписи.Пользователь = ПользовательНаКоторогоКопируем;
        МенеджерЗаписи.Настройка = Выборка.Настройка;
        МенеджерЗаписи.Значение = Выборка.Значение;
        МенеджерЗаписи.Записать(Истина);
    КонецЦикла;
0
Dethmontt
Модератор
Эксперт 1С
2674 / 2456 / 426
Регистрация: 10.03.2011
Сообщений: 8,805
Записей в блоге: 1
Завершенные тесты: 1
13.03.2017, 18:29 7
Цитата Сообщение от Тамика Посмотреть сообщение
ЭтотОбъект.ФизЛицо;
Что это?
0
Тамика
Котовчанин
929 / 470 / 199
Регистрация: 16.02.2010
Сообщений: 3,305
Записей в блоге: 32
13.03.2017, 20:43  [ТС] 8
Dethmontt, объект справочника Пользователи
0
Dethmontt
Модератор
Эксперт 1С
2674 / 2456 / 426
Регистрация: 10.03.2011
Сообщений: 8,805
Записей в блоге: 1
Завершенные тесты: 1
13.03.2017, 23:52 9
Цитата Сообщение от Тамика Посмотреть сообщение
объект справочника Пользователи
чего???
0
13.03.2017, 23:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2017, 23:52

Как программно скопировать файл???
OpenDialog1->Execute(); DBEdit10->Text=OpenDialog1->FileName; Как реализовать, чтоб выбраный...

Как программно скопировать папку
Здравствуйте! Ребята, подскажите, пожалуйста как программно можно скопировать папку со всем её...

Как менять настройки монитора программно?
Многоэкранный монитор (2 штуки), надо поменять эту настройку:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru