При подключении модуля маркетплейса Яндекса для 1С часто возникает ситуация, когда после внесения учетных данных пользователя Service в файл default.vrd, веб-сервер начинает принудительно авторизовать всех входящих пользователей под этой учетной записью. Это блокирует доступ обычным сотрудникам, которые ожидают увидеть стандартное окно авторизации 1С. Давайте разберем, как решить эту проблему правильно и профессионально.
Файл default.vrd — это файл конфигурации публикации базы данных на веб-сервере. Когда вы вносите в него параметры пользователя и пароль, веб-сервер при получении любого HTTP-запроса к данной публикации автоматически передает эти данные платформе 1С. В результате система «считает», что любой пришедший запрос принадлежит пользователю Service, и даже не пытается вызвать диалог аутентификации.
Наиболее надежный и рекомендуемый способ — не пытаться «обмануть» веб-сервер, а использовать два независимых механизма публикации для одной и той же физической базы данных. Рассмотрим пошагово, как это реализовать.
default.vrd отсутствуют параметры id и password для пользователя. Это обеспечит классическую работу: при входе в браузере или через тонкий клиент будет отображаться стандартное окно выбора пользователя и ввода пароля.BaseName_Service. При создании этой публикации укажите путь к отдельной папке на веб-сервере.default.vrd. Именно сюда нужно внести учетные данные, необходимые для работы модуля Яндекс.Маркета. Пример структуры такого файла:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/BaseName_Service"
ib="File="C:\Path\To\Base";">
<standardOData enable="false"/>
<analytics enable="false"/>
<service>
<authentication>
<user name="Service" password="YourPasswordHere"/>
</authentication>
</service>
</point>
Разделение публикаций несет в себе несколько ключевых преимуществ для системного администратора и специалиста по внедрению:
Apache или IIS вы можете настроить параметры пулов приложений или процессов веб-сервера таким образом, что интенсивные запросы API не будут «замораживать» сеансы обычных пользователей.При работе с файлом default.vrd обязательно обращайте внимание на следующие моменты:
Во-первых, не храните пароли в открытом виде, если это возможно. В идеальных сценариях настройки 1С, если модуль маркетплейса поддерживает передачу токенов авторизации через заголовки или иные механизмы, лучше использовать их. Однако, при использовании стандартных инструкций модуля 1С, метод с отдельным vrd-файлом является де-факто стандартом индустрии.
Во-вторых, после внесения изменений в файл default.vrd, для корректной работы веб-сервера (особенно в случае с IIS) может потребоваться перезапуск пула приложений или самого веб-службы. Не забудьте выполнить проверку доступности обеих публикаций после перезагрузки: одна должна открывать 1С с приглашением к вводу логина, а вторая — сразу пробрасывать в интерфейс под пользователем Service.
Таким образом, мы исключаем конфликт интересов между API-запросами интеграции и обычными рабочими сеансами пользователей, обеспечивая стабильную работу всей торговой системы.