Как настроить веб-публикацию 1С для Яндекс.Маркета, чтобы сохранить возможность входа для обычных пользователей?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При подключении модуля маркетплейса Яндекса для 1С часто возникает ситуация, когда после внесения учетных данных пользователя Service в файл default.vrd, веб-сервер начинает принудительно авторизовать всех входящих пользователей под этой учетной записью. Это блокирует доступ обычным сотрудникам, которые ожидают увидеть стандартное окно авторизации 1С. Давайте разберем, как решить эту проблему правильно и профессионально.

Понимание причины проблемы

Файл default.vrd — это файл конфигурации публикации базы данных на веб-сервере. Когда вы вносите в него параметры пользователя и пароль, веб-сервер при получении любого HTTP-запроса к данной публикации автоматически передает эти данные платформе 1С. В результате система «считает», что любой пришедший запрос принадлежит пользователю Service, и даже не пытается вызвать диалог аутентификации.

Решение: разделение публикаций

Наиболее надежный и рекомендуемый способ — не пытаться «обмануть» веб-сервер, а использовать два независимых механизма публикации для одной и той же физической базы данных. Рассмотрим пошагово, как это реализовать.

  1. Создание основной публикации. Оставьте текущую публикацию для работы обычных пользователей. Убедитесь, что в её файле default.vrd отсутствуют параметры id и password для пользователя. Это обеспечит классическую работу: при входе в браузере или через тонкий клиент будет отображаться стандартное окно выбора пользователя и ввода пароля.
  2. Создание технической публикации. Опубликуйте базу повторно под другим именем, например, BaseName_Service. При создании этой публикации укажите путь к отдельной папке на веб-сервере.
  3. Настройка файла .vrd для сервиса. В новой папке публикации найдите файл 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>

Почему это лучший подход?

Разделение публикаций несет в себе несколько ключевых преимуществ для системного администратора и специалиста по внедрению:

Важные рекомендации по настройке

При работе с файлом default.vrd обязательно обращайте внимание на следующие моменты:

Во-первых, не храните пароли в открытом виде, если это возможно. В идеальных сценариях настройки 1С, если модуль маркетплейса поддерживает передачу токенов авторизации через заголовки или иные механизмы, лучше использовать их. Однако, при использовании стандартных инструкций модуля 1С, метод с отдельным vrd-файлом является де-факто стандартом индустрии.

Во-вторых, после внесения изменений в файл default.vrd, для корректной работы веб-сервера (особенно в случае с IIS) может потребоваться перезапуск пула приложений или самого веб-службы. Не забудьте выполнить проверку доступности обеих публикаций после перезагрузки: одна должна открывать 1С с приглашением к вводу логина, а вторая — сразу пробрасывать в интерфейс под пользователем Service.

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

← На главную