Распространенная ошибка, которую совершают начинающие разработчики – они тестируют все под пользователем с полными правами. Но то что работает “под админом” вовсе не обязательно будет работать у конкретного пользователя. Могут быть ограничения в правах, различные настройки и т.п. Именно поэтому следует тестировать под целевым пользователем.
Вторая причина, когда нам понадобится отладка 1С под другим пользователем – когда у него появляется какая-то ошибка, которая у других не воспроизводится. В этом случае нам надо зайти именно под этим пользователем и воспроизвести ошибку. Случается так, что дело в локальном кэше, или настройках конкретной машины, но зачастую мы действительно ловим ошибку, и дальше можем заняться ее устранением.
Мы рассмотрим три способа – классический, когда известен пароль пользователя, использование аутентификации ОС, и продвинутый, когда пароль мы не знаем, а аутентификацию ОС мы по каким-то причинам использовать не можем.
1. Запуск отладки при известном пароле
Чтобы запустить отладку 1С под другим пользователем, заходим в Конфигуратор, меню Сервис / Параметры.
Далее закладка Запуск 1С:Предприятия, в ней закладка Основные. В поле Имя выбираем нужного пользователя.
После этого – запустить отладку по горячей клавише F5, или через меню Отладка / Начать отладку
2. Запуск с использованием аутентификации ОС
Для этого в свойствах пользователя ИБ должен быть отмечен флажок “Аутентификация операционной системы” и выбрана учетная запись, под которой вы авторизовались (это может быть как локальная учетка текущего компьютера, так и доменная учетная запись AcriveDirectory). На закладке Запуск 1С:Предприятия / Основные указываем переключатель “Использовать аутентификацию операционной системы”
3. Запуск без смены пароля
Это более продвинутый способ, и я рекомендую прибегать к нему, если вы уже на достаточном уровне владеете языком программирования 1С. Этот способ есть смысл использовать, если мы не знаем пароль пользователя, нам нельзя его менять или сбрасывать, а также нам нельзя менять аутентификацию ОС.
У объекта встроенного языка ПользовательИБ есть свойство СохраняемоеЗначениеПароля. Можно закэшировать его, сменить пароль пользователя, запустить сеанс, и затем вновь восстановить данные из кэша. После этого из конфигуратора можно будет подключиться к предмету отладки – нашему сеансу. В простейшем варианте код будет такой:
Полноценную обработку для запуска под пользователем без смены пароля можно скачать по ссылке: