helpf.pro
Регистрация
 +4 
Распечатать

1С 8.x : Как получить список зарегистрированных пользователей базы 1С

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


Код 1C v 7.x
 //  Функция возвращает список зарегистрированных для выбранной
//  базы пользователей. Если пользователи не определены, список
//  будет пуст.
//
функция сзПолучитьПользователей(стрПутьКБазе)
    // Создаем список значений для возврата
    Ответ = создатьобъект("СписокЗначений");
    // Формируем полное имя файла, в котором 1С
    // хранит информацию о пользователях базы.
    стрИмяФайла = стрПутьКБазе + "\UsrDEF\Users.USR";
    // Проверим его наличие.
    если фс.СуществуетФайл(стрИмяФайла) > 0 тогда
        // Создаем объект FSO для работы с файлами.
        обФСО = создатьобъект("Scripting.FileSystemObject");
        // Открываем файл пользователей как текстовый.
        тхтФайл = обФСО.OpenTextFile(стрИмяФайла);
        // Инициализация первоначальных переменных
        // Загружаем в буфер(тестовую строку) информацию из файла.
        стрБуфер = "";
        чисПозиция = 0;
        // Перебеирать файл придеться посимвольно, так как 1С не совсеми
        // символами может работать коректно если они находяться в строке.
        пока тхтФайл.AtEndOfStream = 0 цикл
            // Получаем очередную позицию в файле.
            чисПозиция = чисПозиция + 1;
            // Получаем символ из данной позиции.
            стрСимв = тхтФайл.Read(1);
            // Если код символа больше 31
            если кодсимв(стрСимв) > 31 тогда
                // Тогда добавляем его к буферу.
                стрБуфер = стрБуфер + стрСимв;
            конецесли;
        конеццикла;
        // После формирования буфера начнем искать пользователей в нем.
        // Признаком для пользователя будет строка '{"UserItemType","Page.'
        стрПоиска = "{""UserItemType"",""Page.";
        // Получаем позицию первого пользователя.
        чисПозиция = найти(стрБуфер, стрПоиска);
        // Проверяем если в буфере нужная нам строка
        если чисПозиция > 0 тогда
            // Если есть, вырезаем из строки ненужную информацию.
            стрБуфер = сред(стрБуфер, чисПозиция);
            // Позиция после отрезания становиться в единицу
            чисПозиция = 1;
        конецесли;
        // В цикле получаем информацию о пользователях БД
        пока чисПозиция > 0 цикл
            // Удаляем из буфера 'мусор'
            стрБуфер = сред(стрБуфер, чисПозиция + 22);
            // Находим признак начала информации об имени пользователя.
            чисСмещение = найти(стрБуфер, """,""") + 3;
            // Перемещаем начало буфера на начало информации об имени пользователя
            стрБуфер = сред(стрБуфер, чисСмещение);
            // Получаем имя пользователя
            стрИмяПользователя = лев(стрБуфер, найти(стрБуфер, """,""") - 1);
            // Добовляем имя к нашему списку.
            Ответ.ДобавитьЗначение(стрИмяПользователя);
            // Получаем очередную позицию информации о пользователе
            чисПозиция = найти(стрБуфер, стрПоиска);
        конеццикла;
    конецесли;
    // Возращаем полученный список значений содержащий в себе список пользователей базы
    возврат Ответ;
конецфункции


еще Пример получения списка пользователей из файла users.usr
Разместил:   Версии: | 7.x | 8.x |  Дата:   Прочитано: 51633
 +4 
Распечатать
Возможно, вас также заинтересует
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1Cv8.1CD - Файл данных достиг максимального размера! 9
1С выдает предупреждение " Файл данных достиг максимального размера" . Подскажите из - за чего это и как можно решить ? Превышен размер файла, обычно это сообщение возникает, когда размер файла 1Cv8.1CD приближается к 10 гигабайтам или размер ка
1С Предприятие что это? 13
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое
Excel файл как Внешний источник данных 17
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . https://helpf.pro/uploads/img
QR код в 1С 21
Столкнулся с интересной задачей реализации генерации QR-кода в 1С 8.2 ( QR-код — матричный код (двухмерный штрихкод) ) Для генерации было использовано api от google (http://chart.apis.google.com/chart). Вот сайт , который работает с ним. После тог
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!