Как авторизоваться в Диадоке
Для работы с Диадоком:
Создайте соединение с сервером Диадока.
Создайте контекст работы с организацией.
Как создать соединение и авторизоваться
Для вызовов методов сервера Диадока авторизуйтесь и получите объект соединения. Соединение создавайте на каждый сеанс работы. Явно освобождать ресурсы после окончания работы с этим объектом не нужно.
Авторизоваться в Диадоке можно по логину и паролю или по сертификату КЭП. Некоторые операции недоступны при авторизации по логину. Например, подписание. Для авторизации по сертификату КЭП он должен быть установлен и доступен пользователю системы, от имени которого выполняется код.
Авторизация по логину
Функция АвторизоватьсяПоЛогину(Логин, Пароль)
dd_DiadocApi = ЗагрузитьКомпонентуДиадок(); // см. https://developer.kontur.ru/Docs/Diadoc/COM/HowTo/dll/dll_loading.html
Возврат dd_DiadocApi.CreateConnectionByLogin(Логин, Пароль);
КонецФункции
Авторизация по сертификату
Функция АвторизоватьсяПоСертификату(ОтпечатокСертификата, ПинПароль = Неопределено)
dd_DiadocApi = ЗагрузитьКомпонентуДиадок(); // см. https://developer.kontur.ru/Docs/Diadoc/COM/HowTo/dll/dll_loading.html
dd_CertificateInfo = dd_DiadocApi.GetPersonalCertificate(ОтпечатокСертификата);
Если Неопределено <> ПинПароль Тогда
dd_CertificateInfo.SetPin(ПинПароль);
КонецЕсли;
Возврат dd_DiadocApi.CreateConnectionByCertificate2(dd_CertificateInfo);
КонецФункции
Вывод информации об установленных сертификатах
Процедура ПолучитьСписокУстановленныхСертификатов()
dd_DiadocApi = ЗагрузитьКомпонентуДиадок(); // см. https://developer.kontur.ru/Docs/Diadoc/COM/HowTo/dll/dll_loading.html
Для Каждого dd_CertificateInfo Из dd_DiadocApi.GetPersonalCertificates() Цикл
Сообщить(dd_CertificateInfo.Name + " до " + Строка(dd_CertificateInfo.EndDate) + " (" + dd_CertificateInfo.Thumbprint + ")");
КонецЦикла;
КонецПроцедуры