Имя: Пароль:
1C
1С v8
Как скопировать настройки формы
0 kev789
 
09.11.12
20:36
1С 8.2 УФ Надо у всех пользователей настроить форму документа так как уже настроена у одного. Не получается.
1 EvgeniuXP
 
09.11.12
20:38
(0) спросить того, кто ее настроил.
2 kev789
 
09.11.12
20:38
делал так:

ТаблицаРезультатов = Новый ТаблицаЗначений;
ТаблицаРезультатов.Колонки.Добавить("Пользователь", , "Пользователь");
ТаблицаРезультатов.Колонки.Добавить("КлючОбъекта", , "Ключ объекта");
ТаблицаРезультатов.Колонки.Добавить("КлючНастроек", , "Ключ настроек");
ТаблицаРезультатов.Колонки.Добавить("Представление", , "Представление");
ТаблицаРезультатов.Колонки.Добавить("Настройки", ,"Настройки");

Фильтр = Новый Структура;

Фильтр.Вставить("Пользователь",ПользователиИнформационнойБазы.ТекущийПользователь());
Фильтр.Вставить("КлючОбъекта", "Документ.КоммерческоеПредложение.Форма.ФормаДокумента/НастройкиФормы");


 
 выб = ХранилищеСистемныхНастроек.ВЫбрать(Фильтр)    ;

Пока Выб.Следующий() Цикл
   НоваяСтрока = ТаблицаРезультатов.Добавить();
   НоваяСтрока.Пользователь = Выб.Пользователь;
   НоваяСтрока.КлючОбъекта = Выб.КлючОбъекта;
   НоваяСтрока.КлючНастроек = Выб.КлючНастроек;
   НоваяСтрока.Представление = Выб.Представление;
   новаяСтрока.Настройки     = выб.Настройки;
КонецЦикла;

Фильтр = Новый Структура;

Фильтр.Вставить("Пользователь",ПользователиИнформационнойБазы.ТекущийПользователь());
Фильтр.Вставить("КлючОбъекта", "Документ.КоммерческоеПредложение.Форма.ФормаДокумента/НастройкиОкна");


 
 выб = ХранилищеСистемныхНастроек.ВЫбрать(Фильтр)    ;

Пока Выб.Следующий() Цикл
   НоваяСтрока = ТаблицаРезультатов.Добавить();
   НоваяСтрока.Пользователь = Выб.Пользователь;
   НоваяСтрока.КлючОбъекта = Выб.КлючОбъекта;
   НоваяСтрока.КлючНастроек = Выб.КлючНастроек;
   НоваяСтрока.Представление = Выб.Представление;
   новаяСтрока.Настройки     = выб.Настройки;
КонецЦикла;


пользователиИБ = ПользователиИнформационнойБазы.ПолучитьПользователей();
//Сохранить(<КлючОбъекта>, <КлючНастроек>, <Настройки>, <ОписаниеНастроек>, <ИмяПользователя>)
Для каждого п из пользователиИБ Цикл
   ХранилищеСистемныхНастроек.Сохранить(ТаблицаРезультатов[0].КлючОбъекта,
                       ТаблицаРезультатов[0].КлючНастроек,
                       ТаблицаРезультатов[0].Настройки,
                       ,
                       п);
   ХранилищеСистемныхНастроек.Сохранить(ТаблицаРезультатов[1].КлючОбъекта,
                       ТаблицаРезультатов[1].КлючНастроек,
                       ТаблицаРезультатов[1].Настройки,
                       ,
                       п);
Сообщить(""+п+ "" + п.УникальныйИдентификатор)                        
КонецЦикла;
3 kev789
 
09.11.12
20:39
На всякий случай еще скопировал и настройки окна - что с ними что без не взлетает.
4 kev789
 
09.11.12
20:41
В базе (postgree) видно что настройки появляются

Контролировал так примерно так

select *
FROM
 public._systemsettings
WHERE
 _systemsettings._objectkey LIKE '%Формы'
5 kev789
 
09.11.12
20:52
итак,  видно что появляются но при открытии формы другим пользователем не видно что срабатывают. Может они в локальном кеше застревают? правда пробовал под одним пользователем?

Или в коде может какая ошибка?

в принципе надо одноразово.
6 kev789
 
09.11.12
21:10
Закрыто.