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

2. "Переделали пользователя в конфигураторе"
-- При первом входе этого пользователя нашли элемент справочника по УИД ТекущегоПользователя(). Исправили.
21 Вафель
 
13.07.20
09:33
посмотри любую конфу на оф
22 FormatC
 
13.07.20
09:33
(0) надо просто подсмотреть в типовой
23 Fedor-1971
 
13.07.20
09:40
(20) Не угадал, УИД у пресозданного пользователя будет другой, нужно руками указывать (Принцип: Админ наразбойничал, админ поправил), если просто поменяли фамилию, то обновляем данные либо в Пользователи ИБ, либо в справочнике

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