Имя: Пароль:
1C
1С v8
Конвертация данных. Перенос пользователя
0 breezee
 
21.06.16
18:03
В Правиле Конвертации Объекта в событии "ПослеВыгрузки" пишу след. код:

ОписаниеПользователяИБ = Новый Структура;
ОписаниеПользователяИБ.Вставить("Действие", "Записать");
ОписаниеПользователяИБ.Вставить("Имя", Объект.Наименование);
ОписаниеПользователяИБ.Вставить("Пароль", "");
ОписаниеПользователяИБ.Вставить("ПользовательИБАутентификацияОС", Истина);
ОписаниеПользователяИБ.Вставить("Язык", "");
ОписаниеПользователяИБ.Вставить("ПолноеИмя", Объект.Наименование);
ОписаниеПользователяИБ.Вставить("АутентификацияOpenID", Ложь);
ОписаниеПользователяИБ.Вставить("АутентификацияСтандартная", Ложь);
ОписаниеПользователяИБ.Вставить("ПоказыватьВСпискеВыбора", Истина);
ОписаниеПользователяИБ.Вставить("АутентификацияОС", Истина);

ОписаниеНовогоПользователяИБ  = Новый Структура;
ОписаниеНовогоПользователяИБ.Вставить("АутентификацияОС", Истина);

ОписаниеПользователяИБ.Вставить("ОписаниеНовогоПользователяИБ", ОписаниеНовогоПользователяИБ);
Объект.ДополнительныеСвойства.Вставить("ОписаниеНовогоПользователяИБ", ОписаниеНовогоПользователяИБ);


Объект.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ", ОписаниеПользователяИБ);

Объект.ЗАписать();


В результате в дополнительные свойства пользователя не попадает "АутентификацияОС = Истина" - её вообще в структуре нет. Как её добавить?
1 breezee
 
21.06.16
18:07
Переношу из ЗУП 2.5 в ДокументоОборот 2.1.1
2 breezee
 
21.06.16
18:10
В дополнительных свойствах объекта(в отладке) в структуре содержится следующие поля:
КлючИЗначение    "Записать"    "Действие"
КлючИЗначение    "NTcn"    "Имя"
КлючИЗначение    ""    "Пароль"
КлючИЗначение    ""    "Язык"
3 breezee
 
21.06.16
18:14
Во второй раз (я взываю свой код в событии "ПослеВыгрузки") Появяется "ОписаниеНовогоПользователяИБ" - это структура, в которой следующие значения

КлючИЗначение    17fe81fb-8c1f-4efe-82df-6e8df9aa4807    "УникальныйИдентификатор"
КлючИЗначение    "NTcn"    "Имя"
КлючИЗначение    "NTcn"    "ПолноеИмя"
КлючИЗначение    Ложь    "АутентификацияOpenID"
КлючИЗначение    Ложь    "АутентификацияСтандартная"
КлючИЗначение    Ложь    "ПоказыватьВСпискеВыбора"
КлючИЗначение        "СтарыйПароль"
КлючИЗначение        "Пароль"
КлючИЗначение    ""    "СохраняемоеЗначениеПароля"
КлючИЗначение    Ложь    "ПарольУстановлен"
КлючИЗначение    Ложь    "ЗапрещеноИзменятьПароль"
КлючИЗначение    Ложь    "АутентификацияОС"
КлючИЗначение    ""    "ПользовательОС"
КлючИЗначение    ""    "ОсновнойИнтерфейс"
КлючИЗначение    "Авто"    "РежимЗапуска"
КлючИЗначение    ""    "Язык"
КлючИЗначение    Массив    "Роли"

Хотя я передаю что АутентификацияОС - Истина
4 breezee
 
21.06.16
18:22
При чем - если меняю пароль - он попадает в доп. Свойства
5 breezee
 
21.06.16
18:29
В общем - вот этот код работает. Я не знаю, почему старый не работал. ТАМ ВСЁ ТО ЖЕ САМОЕ, только еще лишнее добавлено

ОписаниеПользователяИБ = Новый Структура;
ОписаниеПользователяИБ.Вставить("Действие", "Записать");
ОписаниеПользователяИБ.Вставить("Имя", Объект.Наименование);
ОписаниеПользователяИБ.Вставить("Пароль", "123");
ОписаниеПользователяИБ.Вставить("Язык", "");
ОписаниеПользователяИБ.Вставить("АутентификацияОС", Истина);

Объект.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ", ОписаниеПользователяИБ);

Объект.ЗАписать();

Заранее спасибо, если объясните - где я мог косякнуть
6 GANR
 
21.06.16
18:51
(5) А нельзя ли средствами отладки обработчиков правил конвертации проследить поведение программы в обоих случаях?
7 breezee
 
21.06.16
20:57
(6) Я пока не совладал с отладчиком. Отлаживал на прямую в конфигурации приёмнике
8 GANR
 
23.06.16
10:09
(7) Советую овладеть поскорее)). Это будет реально проще, чем донести суть проблемы до форума в данной ситуации.
2 + 2 = 3.9999999999999999999999999999999...