База пользователей 1С (версия 0.7.1.16 от 21.08.2013)







Конфигурация по администрированию пользователей разных конфигураций информационных баз.
Конфигурация пишется под собственный функционал, то что не нужно, можно не использовать.

О новой версии:
Вообще всё сделал по другому, основные преимущества: "Временные роли"
— Изменение данных привязал к отрезкам времени, теперь можно любому пользователю временно дать роль на 2-3 дня, и забыть об этом, база пользователей сама уберет добавленную роль в нужное время!
— Потихоньку начал переделывать под управляемые формы, основные модули уже переписаны под серверый функционал, осталось только перерисовать формы.
Полный список изменений ниже.

В данный момент полностью переписываю код конфигурации, в скором времени будет множество изменений и добавленных функций.

Разработку веду в 1С версии 8.3.3, после выходов новых релизов, сразу обновляюсь на них.

Стиль будет по умолчанию — Такси, также всё будет работать в Web-интерфейсе.

Следите за новостями.

 

Список изменений:

Версия 0.7.1.16 (21.08.2013):
— Фикс ошибки в пометки на форме создания;

Версия 0.7.1.15 (12.07.2013):
— Форма изменений на УФ;

Версия 0.7.1.14 (02.07.2013):
— Исправил ошибку, пользователи не удалялись;

Версия 0.7.1.13 (25.06.2013):
— Исправил ошибку с длиной 900байт для регистра сведений;

Версия 0.7.1.12 (04.06.2013):
— Исправил ошибку, в журнал записывались пустые строки;
— Мелкие фиксы ошибок;
— Изменил форму журнала, перевел на УФ, добавил широкое поле для вывода большей информации о сообщении;
— Добавил кнопку отправки предложений/замечаний по базе пользователей;
— Добавил РЗ для автоматических действий, для дальнейших планов разработке мобильный конфы для мониторинга доступности информационных баз на платформе 1С 8.3 на Android и iOS
— РЗ выполняет проверку доступности ИБ и отправляет отчет по электронной почте адресатам;

Версия 0.7.1.11 (16.05.2013):
— Справочник Организации переведен на УФ, изменена структура;
— Добавлен регистр сведений ОрганизацииПользователя для редактирования прав на организации в бухгалтерских базах;
— Добавил не точный поиск сотрудника для соответствия, если вдруг по полному совпадению не получилось выбрать пользователя из справочника;

Версия 0.7.1.10 (15.05.2013):
— Справочник ИнформационныеБазы переведен на УФ, из формы списка можно запускать базы;
— В обработке V8Servers добавлена функция блокировки информационной базы через «блокировку сеансов» и еще некоторые приятные мелочи;

Версия 0.7.1.9 (15.05.2013):
* УФ = управляемая форма;
— Обработка УдалитьПользователя переписана на УФ;
— Обработка ЗагрузитьДанные переписана на УФ;
— Обработка ДЗР переписана на УФ;
— Начата разработка обработки для редактирования констант и редактирования Серверов 1С (Консоль);
* Все новые разработки ведутся под УФ;
— Обработка Редактирование ролей переписана на УФ;
— Если не удалось проставить соответствие между пользователем и сотрудником — то будет отправлено письмо администраторам базы и администраторам из константы;

Версия 0.7.1.8 (30.04.2013):
— Исправил ошибку открытия ДЗР в ИБ, записывались не верные данные в регистр изменение данных;
— Была задвоена профедура записи ролей, удалил не нужную, исправил код вызывающий дублированную процедуру;
— Доработал из обработки перенос пользователей редактирование настроек, вызывается путем двойного нажатия на строку пользователя;
— При загрузке данных пользователей, так же загружаются почтовые адреса;


Версия 0.7.1.6 (30.04.2013):
— Исправил ошибку открытия ДЗР в ИБ, записывались не верные данные в регистр изменение данных;
— Была задвоена профедура записи ролей, удалил не нужную, исправил код вызывающий дублированную процедуру;
— Доработал из обработки перенос пользователей редактирование настроек, вызывается путем двойного нажатия на строку пользователя;
— При загрузке данных пользователей, так же загружаются почтовые адреса;

Версия 0.7.1.5 (26.04.2013):
— Переделал копирование настроек и ролей из обработки перенос пользователей, а также работает перенос одной роли;
— Позле загрузки данных из обработки перенос пользователей — убиваем COM-соединение;
— В обработке перенос пользователей, создание идет только исходя из записанных данных через документы Ввод данных по ролям для должностей для разных баз;
— При работе регламентного изменения прав не изменялся интерфейс — исправил;
— Обработку ДЗР переписал, работает;

Версия 0.7.1.4 (25.04.2013):
— Исправил отправку писем, некорректно отражались данные о пароле, интерфейсе и ролях пользователя в приходящих письмах администраторам и пользователю;
— Оптимизировал код по регистрации изменения данных;
Выполнение по проекту:
— Переписываем справочник ролей, а именно, делаю реквизит по виду базы, чтобы для баз с типом БП16 у меня были одни роли, а для СМКомплекс другие и пофиг какое количество таких баз;
— Определение настроек пользователей пересмотреть по всей конфе, не должно быть двойных настроек, сделать только создание или пометку удаления, если пометка будет, то нужно подбирать объект и возвращать его обратно;
— Переписываем полностью проставление ролей, а именно выводим в отдельный периодический регистр сведений, чтобы можно было использовать роли на разные даты;
— В обработке «Редактирование пользователей» реализован механизм установки ролей и механизм «временных ролей» в любом количестве баз, на которых стоит пометка в таблице, причем если типы баз отличаются, то будут заданы вопросы по ролям для разных типов баз!;
— В обработке «Редактирование пользователей» реализован механизм удаления ролей;

Версия 0.7.1.3 (24.04.2013):
— Переписал код создания пользователя из обработки переноса;
— Переписал код обработки удаления пользователя;
— Проверил функционал работы регламентного задания по изменению данных: создание/редактирование/удаление;

Версия 0.7.1.2 (23.04.2013):
— Вообще удалил справочник НастройкиПользователя;
— При изменении ролей в списке пользователей в обработке ПереносПользователей, записи об изменении ролей сразу записываются в регистры и создается запись в регистре изменений о том что нужно изменить роли пользователя в такой то базе, т.е. при срабатывании обработки по изменению данных, все сразу поменяется;
— При изменении ролей, пишется в сообщениях какие роли удалены и какие добавлены;
— Изменил интерфейс, оставил только картинки в панели быстрого доступа, а в меню добавил регистры и справочники;

Версия 0.7.1.1 (22.04.2013):
— Начат процесс полного переписывания кода под периодические данные в базах;
— Добавил периодический регистр сведений РолиПользователя;
— Удалил реквизит — Роли из справочника НастроекПользователей;
— Добавил константу последнего изменения ролей, для регламентного задания, чтобы не дёргать не нужные записи из регистров и выполнять только актуальные изменения в ролях;

Версия 0.7 (22.03.2013):
— Доработана обработка для открытия ДЗР в ИБ!

Версия 0.6.9.3 (20.03.2013)
— При отправке писем используется аутентификация почтового сервера, для того чтобы можно было писать на группы в AD;
— При подключении к базе, при обновлении настроек, обновляются данные и в справочнике пользователей и их настроек, т.к. если пользователя удалить через конфигуратор, то в базе пользователей мы этого не увидим;
— В обработке РедактированиеПользователей добавлена процедура «временные роли»; — но она не работает (:

Версия 0.6.9.2 (11.02.2013)
— Добавил дату при создании пользователя, по умолчанию при открытии стоит текущая дата, пользователь будет создан после наступления этой даты;

Версия 0.6.9.1 (07.02.2013)
— При копировании пользователя из подключенной базы, не верно срабатывало копирование пароля, переписал немного код, теперь все корректно;
— В обработке «Журнал» исправил очистку, после очистки теперь таблица перечитывается.

Версия 0.6.9 (16.01.2013)
— Удалил обработку «Почта», она не нужна, код в модуле;
— Добавил обработку «Редактирование пользователей», через неё можно:
    — изменять пользователям пароли через определенное время в любых базах;
    — добавлять/удалять определенные роли в разных базах, также с датой;
    — но ей еще нельзя пользоваться, т.к. надо менять код во многих местах (:
— Очень давно сидела ошибка, если в переносе пользователей нужно было изменить и настройки и пароль, то вызывалась ошибка о том что нельзя получить объект;


Версия 0.6.8.8 (15.01.2013)
— Доработал загрузку информационных баз из файла *.v8i, открывается или через обработки или через форму списка информационных баз;

Версия 0.6.8.7 (14.01.2013)
— Не сохранялся ХЭШ пароля пользователя в базу при создании нового пользователя, исправил;

Версия 0.6.8.6 (11.01.2013)
— В обработке переноса, выбор базы теперь из формы списка баз, а не через быстрый выбор;

Версия 0.6.8.5 (29.12.2012)
— При копировании документа ввод данных, при смене базы, роли не очищаются, а подбираются новые ссылки;
— Добавил «шаблоны сообщения», теперь можно создавать шаблоны сообщений которые будут отправляться пользователям или администраторам, добавлены константы!;

Версия 0.6.8.4 (27.12.2012)
— При создании пользователя удаляем все его настройки в базе нужной и создаем новые настройки, вдруг для истории понадобится.
— При удалении пользователя, удаляются все элементы настроек (раньше оставались), а плодились они при создании пользователя

Версия 0.6.8.3 (26.12.2012)
— Добавил константу ИнформироватьПользователей, если Истина, то при создании/изменении пользователя в базах, если у него прописан email, ему будет отправляться письмо об этом.

Версия 0.6.8.2 (24.12.2012)
— Исправил критичную ошибку, при которой не устанавливалась стандартная аутентификация пользователя; // ошибка очень старая оказалась

Версия 0.6.8.1 (20.12.2012)
— Если на сервере не удалось соединится с информационной базой то об этом будет записано в журнал событий;
— Фиксы ошибок при отправке писем;

Версия 0.6.8 (20.12.2012)
— Добавил запись паролей пользователей в базу процедурой ЗаписатьПарольПользователяВБазу, и выставил её использование в некоторых процедурах, чтобы записывать пароли и хэши в базу;
— Сделал активной кнопку на форме Перенос пользователей — Посмотреть пароли, а также переделал процедуру чуть-чуть, данные теперь беру из базы пользователей а не обращаюсь повторно к базе;
— Удалил три не использующихся в конфигурации обработки;


Версия 0.6.7.2 (20.12.2012)
— Исправил критичную ошибку, не изменялись пользователи регламентно;

Версия 0.6.7.1 (18.12.2012)
— Исправил критичную ошибку, не переносился пароль при копировании пользователя(старая ошибка как оказалось);

Версия 0.6.7 (18.12.2012)
— При отработке регламентного задания по изменению пользователей, если в прошлый раз у нас была та же база, то значит мы уже с ней соеденены, и пропустим подключение;
— На форме списка журнала добавил кнопку для чистки журнала, по умолчанию встает дата -30 дней от текущей;

Версия 0.6.6 (12.12.2012)
— Добавил процедуру проверки подлючения к базе из элемента справочника Информационные базы, кнопка находится на верхней панели;
— Если не удалось регламентно подключится к базе то пишется запись в лог;
— Почти всё, в процедуре Сервер_РегламентноИзменитьПользователей(), сделал через попытку и добавил по каждой ошибке описание и запись в лог;
— Запретил удаление строк на форме просмотра журнала событий;

Версия 0.6.5 (10.12.2012)
— Добавил ведение журнала всех сообщений прямо в базу, через регистр сведений;
— На общий интерфейс добавил кнопку для просмотра журнала;
— Добавил добавление ролей на сервере через попытку, иногда бывают ошибки, о чем записывается в лог;
— Добавлена константа SMTP-Сервера, для отправки писем;
— Добавлена константа email’a Администратора конфигурации для отправки писем об ошибках;

Версия 0.6.4 (05.12.2012)
— Удалил регистр «Роли сотрудника», за ненадобностью;
— Добавил журнал событий, записи производятся от последней к первой, кнопка для просмотра вынесена на командную панель;

Версия 0.6.3 (05.12.2012)
— Добавлена константа УдалятьНаСервере;
— В обработке «Удаления пользователей», при установленной константе УдалятьНаСервере, можно установить дату, после которой нужно будет удалить пользователя в базах (очень удобно, чтобы не забыть);
— В обработке «Перенос пользователей», при установленной константе УдалятьНаСервере, проводятся записи для удаления пользователей текущей датой и временем;
— Добавлена константа КопироватьПользователейНаСервере;
— В обработке «Перенос пользователей», при установленной константе КопироватьПользователейНаСервере, операции копирования пользователя проходят на сервере, текущей датой и временем;


Версия 0.6.1 (04.12.2012)
— Сделал обновление конфигурации по поставке;


Версия 0.6.0 (04.12.2012)
— Удалил документ доработка;
— Изменил документ «Изменение данных», теперь он записывает данные по регистру сведений функциональных ролей и должностей по базам;
— Переведено создание пользователей на сервер, а также по должностям!
— Исправление ошибок;


Версия 0.5.9а (26.10.2012)
— Доработка под создание пользователей по должностям(в т.ч. и на сервере);
— Добавлен регистр сведений ФункциональныеРоли, в дальнейшем в него будем записывать документами данные;

Версия 0.5.9 (03.10.2012)
— Добавил проставление интерфейса при создании пользователя;

Версия 0.5.8 (21.08.2012)
— Переопределение функций для перевода обработки изменения прав пользователей на регламентное задание;
— В виду того что сомобъект V82.ComConnector имеет встроенный менеджер, то нет необходимости постоянно создавать подключение к одной и той же базе;
— Отбой второго пунка, пока откладываю;

Версия 0.5.7 (16.08.2012)
— Исправление ошибок;

Версия 0.5.6 (06.08.2012)
— Добавлены две дополнительные проверки на правильность пароля при копировании, надеюсь больше проблемм не будет с переносом пароля;

Версия 0.5.5c (03.08.2012)
— При изменении пароля пользователя в подключенной базе не записывались новые данные в настройки о хэше пароля;
— При копировании пользователя в список баз, не копировался Хэш пароля, обход дополнительной проверкой и установкой оного в новой базе;

Версия 0.5.5b (02.08.2012):
— При копировании пользователя, не копировался реквизит «Показывать пользователя в списке»;
— Добавлена генерация паролей, создан справочник — СохранныеПароли;
— Можно сгенерировать цифровые пароли (до 1000000000, без первых нулей) и записать,
при соответствиях хэша и пароля при изменении настроек — будет показан пароль пользователя (время выполнения обработки, примерно 115000 паролей/час);


Версия 0.5.5a (31.07.2012):
— Исправление критической ошибки, при копировании, удалялся пользователь;

Версия 0.5.5 (27.07.2012):
— Автоматическое назначение интерфейса при его отсутствии при подключении к базе;

Версия 0.5.4 (23.07.2012):
— При копированни пользователя по базам добавлены настройки:
    — изменять автоматически во всех базах;
    — очищать ли роли при копировании;
    — назначать только одну роль;

Версия 0.5.3 (11.07.2012):
— Константа для имени файла, при создании пользователя в базе пишет лог;

Версия 0.5.2c (07.06.2012):
— Добавлено копирование текущего пользователя в подключенной базе, в табличной части пользователя по нажатию на F9;

Версия 0.5.2b (05.06.2012):
— Косметические изменения интерфейса;
— Доработано копирование пользователя в любые базы, с настройками из базы источника;

Версия 0.5.2a (22.04.2012):
— Добавлена глобальная процедура отправки почтового сообщения;

Версия 0.5.2 (20.04.2012):
— исправление ошибок;
— в обработке «Перенос пользователей», на вкладке «Таблица пользователей», после подключения к базе, соединение с ней не разрывается. Соответственно если мы меняем роли или настройки пользователей в данной базе, то повторно к ней подключаться нет необходимости
— в обработке «Перенос пользователей», если нет подлючения к базе, то пишется текущее время, иначе — строка соединения информационной базы(чтобы не забыть, на всякий случай, и знать с какой базой мы соеденены);

Версия 0.5.1 (18.04.2012):
— добавлена обработка, для удаления пользователя по списку баз;
— исправление ошибок;

Версия 0.5 (09.04.2012):

— добавлено удаление пользователей из базы;

— исправление ошибок;

— подготовка настроек для типовой конфигурации Бухгалтерия предприятия 1.6;

— добавлена загрузка Организаций из баз БП 1.6, для дальнейшего проставления соответствия пользователям.

Версия 0.5.1 (18.04.2012):
— добавлена обработка, для удаления пользователя по списку баз;
— исправление ошибок;


 

Настройка:

— Первым делом необходимо создать базу в справочнике информационных баз и прописать все настройки подключения к базе(тестировал на клиент-серверном варианте, аутентификация должна быть по паролю)

— Необходимо настроить константы.

— Обработкой «Загрузить роли» необходимо о загрузить роли и интерфейсы в нужных информационных базах или сразу пройтись по всему справочнику.

 

Что может конфигурация?

— создавать пользователя по списку баз, с различными ролями относящимся к этой базе.

— изменять роли и настройки пользователей через COM-соединение с базами.

 

К чему стремимся:

Создание конфигурации, из которой можно редактировать все настройки пользователей, роли, интерфейсы, языки и прочее с различными конфигурациями 1С, в проекте будет 100% выполнена поддержка конфигураций 1С: Бухгалтерия предприятия; УТ и УПП. В какой срок — не могу сказать.

 

Уверен что у вас много чего не будет работать, т.к. версия полностью сырая.

Просьба все предложения и замечания писать на адрес автора: mailto:schernov1@gmail.com

 

Об авторе:

Писал почти все сам, много копи-паста, почти первый мой опыт програмирования, в комментариях про сокращение кода, упрощение просьба не писать, буду делать в процессе дописания всей конфы.

13 Comments

  1. DitriX

    Идея хорошая, вот только писать желательно под веб, тогда ей цены не будет.

    Так как у меня много баз и находятся они в разных местах.

    Кроме этого — не хватает одной важной штуки — изменения паролей всех пользователей в определенный день и отправка пароля им в смс или эмейл. 🙂

    Ну и вообще много есть идей по этой теме, так что если будет интересно — пиши 648491706.

    Reply
  2. uinx

    (1) DitriX, Присылай идеи на email, он указан в описании.

    Рассмотрю все предложения, поставлю приоритеты для разработки.

    Reply
  3. kanalex

    При разворачивании базы получаю:

    В процессе обновления информационной базы произошла критическая ошибка.

    по причине:

    Ошибка СУБД:

    Длина ключа индекса превышает максимально допустимую ‘_InfoRg101_ByDims_TS (_Fld102, _Fld103)’

    по причине:

    Длина ключа индекса превышает максимально допустимую ‘_InfoRg101_ByDims_TS (_Fld102, _Fld103)’

    Однако…

    Регистр сведений Журнал — Измерение Сообщение было типа Строка 999

    Пришлось уменьшить до 600, тогда конфигурация накатилась и запустилась.

    Reply
  4. kanalex

    Предложения по функционалу:

    В обрботке Перенос пользователей выбор базы сделайте всетаки на форме, а то из списка выбирать их не удобно.

    У меня, например, больше сотни баз в списке будет

    Заполнение справочника ИБ хорошо бы сделать на основе данных из реестра на машине или из файла v8i, а то опять же из-за количества баз, утомляет набивать их руками:)

    Хорошо бы иметь отчет, в виде шахматки,

    Например:

    По вертикали список баз, по горизонтали список пользователей, на пересечении в простой форме просто галочку, что есть доступ к этой базе, в расширенной форме, можно указать список прав, интерфейс… ну это уже по выбору.

    Reply
  5. uinx

    (3) kanalex, вот уж не знаю чем помочь, прости друг (:

    (4) kanalex,

    В обрботке Перенос пользователей выбор базы сделайте всетаки на форме, а то из списка выбирать их не удобно. — сделал.

    Заполнение справочника ИБ хорошо бы сделать на основе данных из реестра на машине или из файла v8i, а то опять же из-за количества баз, утомляет набивать их руками:) — в процессе.

    Хорошо бы иметь отчет, в виде шахматки — отчеты нужны, согласен, позже будут.

    Reply
  6. uinx

    (3) kanalex, ошибка исправлена в новых версиях её не будет

    Reply
  7. Archivator

    Данная обработка поддерживает Бухгалтерия для Казахстана?

    Reply
  8. ufo58

    идея хорошая

    и реализация не плохая

    только … на разных платформах COM объект глючит

    вот тут хорошее описание проблемы

    http://www.forum.mista.ru/topic.php?id=583726

    неплохо было бы отработать еще и альтернативный вариант

    через XML, например

    Reply
  9. dock

    проект жив, переродился или уверенно загнулся ? 🙂

    Reply
  10. uinx

    (9) dock, пока нет времени на разработку.

    вообще я начал писать данную конфу с нуля и сразу на УФ.

    Reply
  11. EvilDoc

    Есть ли функционал по редактированию списка баз пользователей? Добавить сотни пользователей новую базу например, или добавить новому пользователю 12 баз?

    Вообще взаимодействие с ibases какое-то есть?

    Reply
  12. uinx

    (11) EvilDoc, я сейчас не вспомню функционал именно этой конфигурации.

    Но да, по моему я делал возможность загрузки информационных баз из ibases,

    новому пользователю добавить 12 баз — не проблема, функционал существует изначально

    добавить ста пользователям новую базу — да, возможно будет такой функционал.

    Я начал разработку в принципе с нуля данной конфигурации, всё под УФ, с функционалом под любую версию 8.х, с соответствующими возможностями для каждой,

    в т.ч. встроенный редактор кластеров/серверов 1С Предприятия.

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

    Разработку веду «по остаточному времени».

    Reply
  13. adapter

    зачем изобретать велосипед. Пакетное создание пользователей уже давно реализовано здесь

    Adaptersoft : HelpDesk Corp

    http://infostart.ru/public/73535/

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *