UPD. Расширяем возможности БД 1С

В конфигурацию 1С по документарному сопровождению процессов аудита, наряду с «ручным» внесением контактной информации по ответственным, мной добавлены импорт контактов из MS Outlook (планируется еще импорт данных из ActiveDirectory — сделано):

Контакты принято решение хранить как регистр сведений (а не справочника), что бы можно было в ТЧ документов вносить как введенные данные через список значений, так «новые» имена и почтовые адреса (которые не внесены в БД 1С).

Также реализована возможность сохранения почтовых параметров (учетных записей) через хранилище настроек, в результате чего запросы на актуализацию можно отправлять с разных настроек (почтовых адресов).

Ну и самое главное реализована возможность получения информации через запросы из других баз 1С (данные учета) через внешнее подключение — что весьма удобно для аудиторов.

Алгоритм очень прост — в справочнике хранятся параметры подключения к базам 1С (как к файловым, так и серверным), выбираем необходимое подключение, подключаемся и формируем необходимый запрос… Все отражается в ТЧ документа, в результате чего можно полученную информацию экспортировать в Excel.

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

Дополнительно. «Прикрутил» функционал по получению данных о пользователях домена (active directory). Очень помогла статья Константина Благина (респект ему). Сейчас имеется возможность скопом выгрузить всех пользователей, а также получить данные по началу фамилии (ФИО*), части отдела (*отдел*), части должности (*должность*).

Запросы к службам каталогов в ADSI могут выполняться на двух диалектах — диалекте LDAP (фильтры запроса определяются в соответствии с правилами синтаксиса запросов LDAP по RFC 2254) — пример: <LDAP://DC=domainName,DC=ru>;(objectClass=*);AdsPath, cn;subTree

и диалекте SQL (фильтры запроса определяются в соответствии со стандартом ANSI SQL с учетом особенностей работы со службами каталогов) — пример:

SELECT ADsPath, cn
FROM 'LDAP://OU=имяПодразделения,DC=имяДомена,DC=ru'
WHERE objectCategory='person' AND objectClass='user'

Мне просто показалось удобнее работать с диалектом SQL, так как проще реализовать условия выборки и подстановки.

КомандаАДО.CommandText = "SELECT userAccountControl, displayName, department, mail, title FROM 'LDAP://" + ТекущийДомен1 + "' WHERE objectClass = 'User' AND objectCategory = 'Person' AND displayName = '" + этаформа.Пользователь + "*'";

Подробнее про работу со службами каталогов — http://www.script-coding.com/Python/LDAP.html#samples

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.