Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Внедрение БСП в самописанную конфигурацию

Внедрение БСП в самописанную конфигурацию
Я
   VladSt
 
22.11.21 - 14:50
Добрый день
Есть самописанная база. Решил внедрить в нее БСП последнюю 3.1.4...
и все нормально внедрилось, когда я работаю в конфе, но вот все пользователи из справочника Польльзователи получились не авторизованными и не связанными с пользователями конфигурации.
В справочнике Пользователи есть реквизит ИдентификаторПользователяИБ (тип - УникальныйИдентификатор) - теперь он пустой. При установке значения в этот реквизит после записи он опять стирается.
Подскажите, может я не тем путем пошел? Вот код в обработке:

Процедура КнопкаВыполнитьНажатие(Кнопка)
    Выборка = ПользователиИнформационнойБазы.ПолучитьПользователей();
    Для Каждого ЭлементМассива Из Выборка Цикл
        ИмяПользователя = ЭлементМассива.Имя;
        ПолноеИмяПользователя = ЭлементМассива.ПолноеИмя;
        НайтиИУстановитьПользователя(ПолноеИмяПользователя, ЭлементМассива.УникальныйИдентификатор);
    КонецЦикла;
КонецПроцедуры

Процедура НайтиИУстановитьПользователя(ПолноеИмяПользователя, УникальныйИдентификатор)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Пользователи.ИдентификаторПользователяИБ КАК ИдентификаторПользователяИБ,
    |    Пользователи.Ссылка КАК Ссылка,
    |    Пользователи.Наименование КАК Наименование,
    |    Пользователи.ПометкаУдаления КАК ПометкаУдаления
    |ИЗ
    |    Справочник.Пользователи КАК Пользователи
    |ГДЕ
    |    Пользователи.Наименование = &ПолноеИмя
    |
    |";
    Запрос.Параметры.Вставить("ПолноеИмя", ПолноеИмяПользователя);
    
    флПользовательУстановлен = Ложь;
    Рез = Запрос.Выполнить();
    Выборка = Рез.Выбрать(ОбходРезультатаЗапроса.Прямой);
    Если Выборка.Следующий() Тогда
        Если ЗначениеЗаполнено(Выборка.Ссылка.ИдентификаторПользователяИБ) Тогда
            Возврат;
        КонецЕсли;    
        Объект = Выборка.Ссылка.ПолучитьОбъект();
        Объект.ИдентификаторПользователяИБ = УникальныйИдентификатор;
        Сообщить(Объект.ИдентификаторПользователяИБ);
        Объект.Записать();
        Сообщить("" + Выборка.Ссылка + " " + Объект.ИдентификаторПользователяИБ);
    КонецЕсли;    

КонецПроцедуры
   VladSt
 
1 - 22.11.21 - 14:57
Объект.ИдентификаторПользователяИБ = УникальныйИдентификатор;
Объект.Записать();

после записи очищается((
   МимохожийОднако
 
2 - 22.11.21 - 15:00
Банальный вопрос: Отладчиком смотрел?
   mTema32
 
3 - 22.11.21 - 15:04
А мне вот интересно как "обычные" формы сочетаются с последней версией БСП?
   VladSt
 
4 - 22.11.21 - 15:07
(2) Помогло)))
   Dmitrii
 
5 - 22.11.21 - 15:10
(3) >> как "обычные" формы сочетаются с последней версией БСП?

А почему бы им и не сочетаться?
У БСП нет ограничения на использование с ОФ или УФ.
Наверное будут некоторые отличия при внедрении и использовании.
   mTema32
 
6 - 22.11.21 - 15:12
(5) Отличие будет в том, что интерфейс функциональности БСП работать не будет. Тогда вопрос - зачем всю БСП было прикручивать?
   Dmitrii
 
7 - 22.11.21 - 15:18
(6) >> интерфейс функциональности БСП работать не будет.

С чего бы ему не работать, если в конфигурации включено "Использовать управляемые формы в обычном приложении"?
   pechkin
 
8 - 22.11.21 - 15:21
(6) там много функциональности помимо настройки форм
   VladSt
 
9 - 22.11.21 - 15:21
(6) для того, чтобы плавно перейти из ОФ в УФ
   Dmitrii
 
10 - 22.11.21 - 15:23
(0) А нафига вообще заморачиваться?
На форме справочника Пользователи выбрать Ещё...\Дополнительно\Пользователи информационной базы.
В открывшемся списке будут красным выделены элементы справочника Пользователи не сопоставленные пользователям ИБ.
Используя кнопку командной панели "Сопоставить" можно вручную сопоставить пользователей ИБ элементам справочника.

Конечно если у вас не сотни пользователей. Тогда сопоставлять ручками можно быстро устать.
   VladSt
 
11 - 22.11.21 - 15:31
(10) Спасибо большое. Нигде не нашел этого решения, 2 дня потерял. !!!

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.