Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 03:10

Блокировка пользователя 1С при помощи SQL запроса

Автор HiLander436, 05 сен 2022, 10:16

0 Пользователей и 1 гость просматривают эту тему.

HiLander436

Доброго времени суток, уважаемые!

Требуется выполнить блокировку пользователей 1С использую SQL запрос.
1С держит табличку с пользователями v8users, однако, там ничего похожего нет (удалять оттуда будет некамильфо).
Все что нужно програмно снять вот такую галку:

Кто знает в какой табличке какое поле понулить?

Заранее благодарен.

LexaK

а зачем так? в консоли приложения, есть галочка блокировки сеансов пользователей,
с задание кода исключения, с которым самому можно войти в программу
т.е. все пользователи по этой галочки отключаются, а кто знает код и он прописан в ключе в строке запуска, база запускается и работает
если помогло нажмите: Спасибо!

HiLander436

LexaK, спасибо, конечно, за ответ, впрочем, хочу заметить, что ответ никакого отношения к сути вопроса не имеет ))))

Поясняю для всех кому интересно:
имеется около 20 баз (разных) часть из них никакого отношения к 1С не имеет. Увольняем пользователя (в день может происходить до 30 увольнений).
При увольнении нужно как минимум проверить прописан ли пользователь в базе и как максимум автоматизировать его  блокировку.
20х30 = 600 проверок в день... Ну, вы поняли.
Рисую простенький скрипт на PHP который ходит по базам и показывает где пользователь зарегистрирован. Осталось его блокирнуть в один клик. В этом - суть вопроса.


LexaK

HiLander436, такую блокировку/отключение пользователя, платформа умеет делать, тип ПользовательИнформационнойБазы,
 и там полный набор регулированием доступа.
настраиваете регламентное задание (под правами Админа) оно и отключает уволенных (даже одно во всех базах, причем на разных платформах).

1С не приветствует влезания в таблицы минуя платформу.
(но..., в общем на любителя)
если помогло нажмите: Спасибо!

HiLander436

LexaK, мне с высокой колоколенки что про мои деяния думает 1С, они отвечают взаимностью )))

Там полный набор регулирования доступа НА ОДНУ БАЗУ, никак не на 30, т.е.в моем случае полезности 0. (учитывая потраченное время на бесполезное обсуждение,
эффективность минусовая)...

"ПользовательИнформационнойБазы" это, наверное хорошо, как называется таблица в MS SQL?



П.с. Я что недостаточно понятно задал вопрос?  Мне нужно просто пара таблица/поле, пространные рассуждения чистый офтоп.

LexaK

HiLander436, может я не совсем точно выразил свою мысль, попробую еще раз
с помощью объекта ПользовательИнформационнойБазы можно выполнить отключение пользователя, средствами Платформы 1С
не заморачиваясь в каких таблицах лежат данные, какой СКЛ или Постгрес, какая операционка Винды или Линукс,
это один из вариантов как выполнить нужное вам действие (наиболее простым методом)

возможны и другие варианты, может кто и предложит, может уже есть в инете готовые рецепты.


если помогло нажмите: Спасибо!

HiLander436

LexaK, у меня половина MS SQL баз не имеет никакого отношения к платформе 1С, от слова совсем.

Соответственно, ваш со всех сторон замечательный объект 1С (ПользовательИнформационнойБазы), для платформы, несомненно универсальное решение, но в моем случае, его никак нельзя назвать универсальным.

Именно поэтому я лезу в базу сторонним приложением, мне надо поблокировать их всех и везде.

Я в своем софте держу табличку (База/поле/значение) которые будет менять мой универсальный блокировщик. Для остальных систем все готово, для 1С я никак не могу найти что и где поменять в таблицах соответствующей базы 1С.

Мне нужно 2 вещи: 1. имя таблицы, 2. имя поля (со значениями разберусь сам реверсом))))

Я искренне благодарен вам за попытку помочь и очень раздосадован тем фактом что попытка неудачна.

П.с. несомненно, можно попробовать пойти с другой стороны, например, поблокировать пользователей других систем прямо из 1С, внешним запросом, НО и тут встает вопрос универсальности, ведь своим скриптиком я планирую наавтоматизировать блокировки и в АД и в других СУБД (например, в fireBird). И дополнительно изучать как все это делается в 1С нет ни желания ни времени.




antoneus


HiLander436

antoneus, мысль здравая, но на моих базках на текущий момент около 80 пользователей одновременно что-то делают...
Могу быренько развернуть тестовую базу и поиграться в ней, но неужто вопрос настолько сложный???

П.С. пошел разворачивать тестовую...

П.С.С. Всем спасибо, что найду - отпишусь здесь будущим поколениям.

antoneus

Да надобности такой не возникало. Ну, на ИТС такое пишут:

Таблица  _v8users содержит следующие поля:

    ID - Уникальный идентификатор пользователя информационной базы;
    Name - Имя пользователя;
    Descr - Полное имя пользователя;
    OSName - Имя пользователя ОС или NULL, если аутентификация ОС не задана;
    Changed - Момент времени, когда пользователь был изменен в последний раз;
    RolesID - Идентификатор совокупности ролей пользователя;
    Show - Показывать пользователя в списке для диалога аутентификации;
    Data - Все данные о пользователе;
    AdmRole - Пользователь имеет право Администратор;
    UsSprH - Числовое хеш-значение совокупности значений разделителей;
    EAuth - Пользователю разрешена аутентификация паролем.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск