Задать вопрос

Список пользозователей из ИБ — 1С?

Являюсь администратором в небольшой организации, использующей 1С, но сам, непосредственно с 1С не работаю (только добавление пользователей, создание новых ИБ и тп). Кол-во баз — 500+.
Задача — нужно каким-то образом пройтись по каждой ИБ и извлечь список пользователей каждой ИБ (дабы поудалять старых сотрудник и прочие учетные записи). В идеале это сделать средствами PowerShell, насколько знаю, с 1С можно взаимодействовать средствами COM, но внятных инструкций не нашел (буду благодарен, если кто-то тыкнет носом в гайд).
  • Вопрос задан
  • 1150 просмотров
Подписаться 3 Средний 2 комментария
Решения вопроса 1
Jump
@Jump
Системный администратор со стажем.
1. Пишем обработку на языке 1с которая будучи запущена сохраняет список пользователей в файл в нужном вам формате(или выполняет иные действия, например удаляет или добавляет польователей, меняет пароли), и после этого завершает работу 1с.
2. Запускаем обработку из командной строки или батника, скрипта на любом удобном языке администрирования системы.
Ну например что нибудь в стиле
FOR /F "TOKENS=1*" %%i IN (bases.txt) DO %EnginePath% ENTERPRISE /F %BasePath%\%%i" /DisableStartupMessages /Execute "D:\usersave.epf"
Где bases.txt - список названий папок с базой.
BasePath - путь к папкам с базами.
EnginePath - путь к платформе.
D:\usersave.epf - ваша обработка.
В итоге поочередно батник поочередно открывает базы указанные в bases.txt в режиме предприятия, вызывается ваша обработка, она отрабатывает нужное действие, и закрывает программу, после чего батник вызывает следующую.

Рекомендую ознакомиться - https://its.1c.ru/db/v838doc/bookmark/adm/TI000000493
или https://infostart.ru/public/104654/

Можно работать через COM но несколько посложнее, хотя во многом удобнее.
Выберите нужный язык и ищите в гугле примеры работы с COM для данного языка. Например для пайтона https://paladinum.ru/?p=245420

В любом случае - для манипулирования данными внутри 1с (например получение, удаление пользователей) возможно только из языка 1с. Поэтому базовые знания этого языка нужны обязательно.
Т.е взаимодействовать можете любым удобным вам способом - а внутри 1с, только язык 1с.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
fosihas
@fosihas
Автоматизации учета на 1С.
тогда уже вот это:
https://infostart.ru/public/1093370/
https://infostart.ru/public/629834/ - на это стоит обратить внимание, там набор разных программа для упрощении в работе.

В идеале это сделать средствами PowerShell,

могут возникнуть сложность, т.к. в 1с нужно добавить не только пользователя, а присвоить ему соответствующие роли, права доступа. А в новых системах это не тривиально, если кодо то создать набор связанных справочников и регистров сведений.
Ответ написан
Комментировать
tsklab
@tsklab
Здесь отвечаю на вопросы.
С помощью ПолучитьСтруктуруХраненияБазыДанных находите нужную вам таблицу в MS SQL и читаете данные напрямую.
Ответ написан
Комментировать
@LollyFox
Кол-во баз — 500+.


Если конфигурации на управляемых формах, то при таком количестве баз советую посмотреть технологию 1CFRESH. Помимо прочего технология позволяет использовать общий список юзеров для всех баз. Для каждого из юзеров можно задать список баз, к которым он будет иметь доступ и права. Во все базы, к которым пользователю будет предоставлен доступ, он сможет заходить с единым логином и паролем, которые опять же одним кликом можно аннулировать или изменить сразу для всех ИБ, изменить список доступных баз и т.д. Вообщем админка у 1CFRESH отличная.
+ у технологии много других приятных фич, например, если конфигурации типовые, то можно одним махом обновлять сразу все ИБ, есть готовый Service Desk, который встраивается непосредственно в типовые конфигурации 1С и мн.др.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы