Вход | Регистрация
 

Как в самописке создать справочник, чтобы он ссылался на пользователей?

Как в самописке создать справочник, чтобы он ссылался на пользователей?
Я
   Глупый дятел
 
13.07.20 - 09:02
Я ранее уже спрашивал. Сейчас вопрос немного другой, надо чтобы справочник пользователей в самописке синхронизировался со справочником пользователей в конфигураторе. Как это реализовать.
   Dmitry1c
 
1 - 13.07.20 - 09:03
(0) при создании элемента в польз. режиме у тебя должен программно создаваться также и пользовательИБ
   Cyberhawk
 
2 - 13.07.20 - 09:03
У пользователя ИБ есть идентификатор - надежно по нему.
Также можно и по имени пользователя ИБ - они тоже уникальные.
   Dmitry1c
 
3 - 13.07.20 - 09:03
А вообще самописки модно на основе БСП делать, там это из коробки есть.
   Василий Алибабаевич
 
4 - 13.07.20 - 09:06
(2) "они тоже уникальные." Но могут изменяться в процессе. УИД остается неизменным на все времена.
   Cyberhawk
 
5 - 13.07.20 - 09:10
(4) Все относительно.
Удалили пользователя ИБ, завели нового с тем же именем входа.
   Глупый дятел
 
6 - 13.07.20 - 09:11
Как вообще добавить пользователя в чистую самописку? Пишет что не остается пользователей с админскими правами. Прав и ролей не задано вообще нигде
   Cyberhawk
 
7 - 13.07.20 - 09:14
(6) Ну так надо завести роль
   Cyberhawk
 
8 - 13.07.20 - 09:14
Без ролей конфа будет работать только если в инфобазе пользователей ИБ нет
   Fish
 
9 - 13.07.20 - 09:14
БСП уже предлагали?
   Глупый дятел
 
10 - 13.07.20 - 09:16
С ролью понял. А как синхронизацию справочников сделать? Создавать новые и изменять существующие при выводе списка?
   fisher
 
11 - 13.07.20 - 09:19
(0) Ты начинаешь пилить самописку без БСП, Глупый дятел?
   Глупый дятел
 
12 - 13.07.20 - 09:21
(11)
да там мелкая самописка
   fisher
 
13 - 13.07.20 - 09:22
(12) (улыбаясь) Не-не-не! Это она сейчас мелкая. Сделай выборочное внедрение подсистем БСП, не превращайся в ССЗБ.
   Василий Алибабаевич
 
14 - 13.07.20 - 09:23
(10)
1. Не создавать пользователей в конфигураторе.
2. При старте системы проверять существование в справочнике "пользователи" записи, которая соответствует текущему пользователю. Если нет - добавить.
3. При добавлении элемента в справочник "пользователи" записывать его в ПользователиИнформационнойБазы.
4. При записи элемента справочника "пользователи" записывать теже изменения в ПользователиИнформационнойБазы.
   hhhh
 
15 - 13.07.20 - 09:24
(10) зачем при выводе списка? Сделай внешнюю обработку
   Fedor-1971
 
16 - 13.07.20 - 09:24
(10) Изначально, делаешь примерно так:
1. Создаём справочник Пользователи (с ИД пользователя)
2. В конфигураторе заводишь Админа
3. при старте системы проверяешь по ИД или имени в справочнике Пользователи есть ли такой товарищ, при отсутствии создаёшь
4. реализуешь функционал: При заведении пользователя, создаём такого же в пользователях ИБ
И решаешь как будешь раздавать роли
   Василий Алибабаевич
 
17 - 13.07.20 - 09:26
(15) Так не нужно делать. Не нужно никаких внешних обработок. Все должно делаться при записи элемента справочника "пользователи". + проверяться при старте. И то только для текущего пользователя. Вдруг какой юный пионЭр добавил пользователя в режиме "конфигуратор".
   Fedor-1971
 
18 - 13.07.20 - 09:27
16+  придётся заморчиться решением коллизий "Пользователь есть в справочнике Пользователи и создали аналогичного в Конфигураторе", "Переделали пользователя в конфигураторе - нужно связать с конкретнм пользователем из справочника"
   Fedor-1971
 
19 - 13.07.20 - 09:30
(14)(17) Это функционал БСП, если он устраивает можно просто взять готовый
Возможно, ТС хочет руками потрогать как работают с пользователями ИБ
   Василий Алибабаевич
 
20 - 13.07.20 - 09:31
(18) Все это с легкостью решается при помощи УИД-а из ПользователиИнформационнойБазы.
1. "Пользователь есть в справочнике Пользователи и создали аналогичного в Конфигураторе"
-- У первого нет УИД-а. Для второго нет соответствующей записи в справочнике.
2. "Переделали пользователя в конфигураторе"
-- При первом входе этого пользователя нашли элемент справочника по УИД ТекущегоПользователя(). Исправили.
   Вафель
 
21 - 13.07.20 - 09:33
посмотри любую конфу на оф
   FormatC
 
22 - 13.07.20 - 09:33
(0) надо просто подсмотреть в типовой
   Fedor-1971
 
23 - 13.07.20 - 09:40
(20) Не угадал, УИД у пресозданного пользователя будет другой, нужно руками указывать (Принцип: Админ наразбойничал, админ поправил), если просто поменяли фамилию, то обновляем данные либо в Пользователи ИБ, либо в справочнике

(22) так себе вариант, слишком закручено, гибко, но наверчено много.
Есть вариант использования 2-х или 3-х Ролей, например, Полные права, Пользователь и ТолькоПосмотреть, дальше рулим доступом через справочник Пользователи, выдаём доступ к неким блокам информации, но это прокатывает на действительно небольших конфигурациях и требует чёткого понимания прав пользователей.
То, что реализовано по пользователям в типовых просто излишне в такой конфигурации.
   Вафель
 
24 - 13.07.20 - 09:43
в старых конфах совсем не много реализовано
   Василий Алибабаевич
 
25 - 13.07.20 - 09:46
(23) Невнимательно читаешь. По п.1 я не предлагал никаких решений. Я просто описал как выловить тот факт, что пользователь, добавлен в конфигураторе. И не имеет соответствующей записи в справочнике.
Способов как разрулить - есть миллион. ТС сам решит.
   Fedor-1971
 
26 - 13.07.20 - 09:48
(25) Согласен, пусть ТС сам думает, идей накидали для решения вопроса с разной степенью забористости
   Cyberhawk
 
27 - 13.07.20 - 17:52
(25) Универсального способа, учитывающего все сценарии манипуляций с пользователем ИБ и прикладным пользователем (из справочника), увы, нет.
В любом случае придется определиться с приоритетом поиска, по чему сначала ищем и устанавливаем связь - по хранимому в справочнике УИДу или по имени пользователя.
А дальше - независимо от выбранного подхода - есть возможность сломать так, что связь будет нарушена и без ручного вмешательства не восстановится.
Хотя запрет на создание дублей прикладного пользователя (как по имени, так и по УИДу) кажется неплохим и универсальным.


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