Адрес информационной базы 1С 8.3: строки подключения, URL веб-клиента и навигационные ссылки

· 9 мин

Содержание

Ссылка на базу 1С 8.3 бывает трёх видов. Для браузера это обычный URL вида http://srv-web/buh/. Для тонкого и толстого клиента — строка подключения: File="D:\Bases\Buh"; для файловой базы, Srvr="srv1c";Ref="buh"; для серверной, ws="http://srv-web/buh"; для базы, опубликованной на веб-сервере. А на конкретный документ или справочник внутри базы указывает навигационная ссылка e1cib/data/....

Все эти форматы связаны между собой. Опубликованная база отдаёт веб-клиент по своему алиасу, тонкий клиент ходит по тому же адресу через ws=, а навигационную ссылку можно приклеить к адресу базы и отправить коллеге в мессенджер.

Адрес базы для веб-клиента: что пишут в браузере

Веб-клиент работает только с базой, опубликованной на веб-сервере (Apache или IIS). Адрес складывается из трёх частей:

http://srv-web/buh/ru_RU/
   │       │     │
   │       │     └─ язык интерфейса (необязательно)
   │       └─ алиас публикации, имя виртуального каталога
   └─ имя или IP веб-сервера, при нестандартном порте — srv-web:8080

Примеры рабочих адресов:

СитуацияАдрес
Публикация во внутренней сетиhttp://srv-web/buh/
Порт веб-сервера не 80http://192.168.1.20:8080/zup/
Доступ из интернета с сертификатомhttps://1c.firma.ru/ut11/
Явный язык интерфейсаhttp://srv-web/buh/ru_RU/

Сегмент ru_RU платформа подставляет сама после входа. Набирать его вручную не обязательно.

Параметры запуска в адресе

После знака ? можно передать параметры запуска, как в командной строке. Чаще всего используют:

  • 👤 N — имя пользователя;
  • 🔑 P — пароль;
  • 🧩 C — строка параметра запуска (её читает конфигурация через ПараметрЗапуска);
  • 🌐 L — код языка интерфейса.

Пример: http://srv-web/buh/ru_RU/?N=Кассир&P=12345. Кириллица в адресе допустима, браузер сам её закодирует.

Пароль в адресной строке оседает в истории браузера и в журналах веб-сервера. Для общего ярлыка на рабочем столе так делать можно разве что в учебной базе. В рабочей лучше настроить аутентификацию ОС или вводить пароль в окне входа.

Строка подключения в списке баз тонкого и толстого клиента

Окно запуска 1С хранит список баз в файле ibases.v8i (обычно в %APPDATA%\1C\1CEStart\). Каждая база там — секция с параметром Connect, это и есть «ссылка» для клиента. Её же видно внизу окна запуска, если выделить базу в списке.

Три варианта строки

Тип базыСтрока подключенияЧто указывают
ФайловаяFile="D:\Bases\Buh";путь к каталогу, где лежит 1Cv8.1CD
Файловая в сетевой папкеFile="\\fs01\Bases\Buh";UNC-путь, а не буква подключённого диска
Клиент-сервернаяSrvr="srv1c";Ref="buh";имя сервера 1С и имя базы в кластере
Сервер с нестандартным портомSrvr="srv1c:2541";Ref="buh";порт менеджера кластера
Через веб-серверws="http://srv-web/buh";URL публикации

Фрагмент ibases.v8i выглядит так:

[Бухгалтерия (рабочая)]
Connect=Srvr="srv1c";Ref="buh_2024";
ID=6f1c2a0e-3b5d-4c11-9e2a-1b7d9c0a4e33
Folder=/
App=Auto

💡 В Ref пишется имя базы в кластере, а не имя базы на SQL-сервере. Они часто совпадают, но не обязаны. Точное имя видно в консоли администрирования серверов 1С.

Та же база из командной строки

Ярлык с прямым запуском базы, минуя окно выбора, собирают из исполняемого файла и ключей:

rem Файловая база, тонкий клиент
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh"

rem Серверная база, пользователь задан
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8c.exe" ENTERPRISE /S"srv1c\buh" /N"Иванов" /P"пароль"

rem База через веб-сервер
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /WS"http://srv-web/buh"

Ключ /F соответствует File=, /S — паре Srvr= и Ref= (через обратную косую черту), /WS — параметру ws=. Номер версии в пути bin подставьте свой.

Вместо отдельных ключей можно передать всю строку целиком ключом /IBConnectionString. Кавычки внутри значения тогда удваиваются: /IBConnectionString"Srvr=""srv1c"";Ref=""buh"";".

Где ошибаются в строке подключения

Что написалиЧто не такКак правильно
File="Z:\Buh";буква диска подключена только у одного пользователя, у остальных база «пропадает»File="\\fs01\Bases\Buh";
File="D:\Bases\Buh\1Cv8.1CD";указан файл, а не каталогFile="D:\Bases\Buh";
Srvr="srv1c";Ref="Бухгалтерия";в Ref взято имя из списка баз, а не имя в кластереимя из консоли кластера, например buh
Srvr="192.168.1.10";Ref="buh";клиент не может разрешить имя сервера, которое кластер сообщает о себедобавить имя сервера в DNS или в файл hosts
ws="http://srv-web/buh/ru_RU/";в адрес попал сегмент языкаws="http://srv-web/buh";

Последний пункт про IP встречается чаще, чем кажется. Кластер возвращает клиенту имя рабочего сервера, под которым он зарегистрирован. Если это имя не разрешается с компьютера пользователя, подключение по IP проходит первый шаг и обрывается на втором.

Строка для COM-соединения и внешних программ

Внешняя программа (Excel, скрипт, другая база 1С) подключается к базе через COM-объект V83.COMConnector. Строка подключения та же, что у клиента, но в неё добавляют пользователя и пароль:

Srvr="srv1c";Ref="buh";Usr="Обмен";Pwd="secret";
File="D:\Bases\Buh";Usr="Обмен";Pwd="secret";

Пример из другой базы 1С (код выполняется на стороне, где зарегистрирован COM-коннектор):

Коннектор = Новый COMОбъект("V83.COMConnector");
СтрокаПодключения = "Srvr=""srv1c"";Ref=""buh"";Usr=""Обмен"";Pwd=""secret"";";
База = Коннектор.Connect(СтрокаПодключения);

Что проверить, если Connect не проходит:

  • 🧱 разрядность: 64-битный процесс видит только 64-битный comcntr.dll, 32-битный — только 32-битный;
  • 🔢 версия: коннектор должен быть той же версии платформы, что и сервер 1С;
  • 📝 регистрация: regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\comcntr.dll" от имени администратора;
  • 👤 пользователь Usr существует в базе, и у него есть право на внешнее соединение.

COM-соединение занимает лицензию, как обычный сеанс. Скрипт, который открывает соединение в цикле и не закрывает его, быстро съедает все клиентские лицензии.

Навигационные ссылки на объекты внутри базы

Навигационная ссылка указывает не на базу, а на конкретное место в ней: элемент справочника, документ, список, отчёт. Её формат:

e1cib/<вид>/<объект метаданных>[?ref=<идентификатор>]

Основные виды:

ВидПримерЧто откроет
datae1cib/data/Справочник.Контрагенты?ref=8a2b0050568b3c0811e9a1f2c3d4e5f6карточку конкретного контрагента
liste1cib/list/Документ.РеализацияТоваровУслугсписок документов реализации
appe1cib/app/Отчет.ОборотноСальдоваяВедомостьформу отчёта или обработки
navigationpointe1cib/navigationpoint/...раздел или пункт панели навигации

Длинная последовательность после ref= — внутренний идентификатор объекта. Он не совпадает с кодом или номером документа и вручную не набирается.

Как получить и открыть ссылку

  1. Откройте нужный документ или элемент справочника.
  2. В заголовке формы нажмите значок цепочки «Получить ссылку». Ссылка скопируется, её можно вставить в письмо или чат.
  3. Получатель открывает свою программу 1С и в главном меню выбирает «Перейти по ссылке», затем вставляет текст.

Если базы у отправителя и получателя разные, ссылка не сработает: в другой базе объекта с таким идентификатором нет.

Полная ссылка вместе с адресом базы

Навигационную ссылку можно склеить с адресом базы через #. Тогда она откроет и базу, и объект одним кликом:

http://srv-web/buh/#e1cib/data/Документ.СчетНаОплатуПокупателю?ref=...
e1c://server/srv1c/buh#e1cib/list/Справочник.Номенклатура

Первый вариант открывает объект в веб-клиенте. Второй вызывает установленный тонкий клиент через протокол e1c://, который регистрирует программа установки платформы.

Ссылка в коде

В конфигурации работают три функции глобального контекста:

// Строка вида e1cib/data/Документ...?ref=...
НавСсылка = ПолучитьНавигационнуюСсылку(ДокументСсылка);

// Адрес самой базы: e1c://server/... или http://.../buh
АдресБазы = ПолучитьНавигационнуюСсылкуИнформационнойБазы();

// На клиенте: открыть место по ссылке
ПерейтиПоНавигационнойСсылке(НавСсылка);

Склейка АдресБазы + "#" + НавСсылка даёт полную ссылку для письма-уведомления: менеджер получает задачу и открывает документ сразу из почты.

Ссылки в отчётах на СКД

В отчётах на системе компоновки данных ссылки работают через расшифровку. Если поле отчёта ссылочного типа (контрагент, документ, номенклатура), двойной щелчок по ячейке откроет объект. Ничего настраивать для этого не нужно.

Сложнее, когда в отчёт нужно вывести ссылку текстом, например для выгрузки в Excel и отправки за пределы 1С. Запрос СКД сам навигационную ссылку не строит. Решения два:

  • 🧮 вычисляемое поле, в выражении которого вызывается экспортная функция серверного общего модуля, возвращающая ПолучитьНавигационнуюСсылку(Ссылка);
  • 🛠 обработка результата в модуле отчёта: пройти по готовой таблице и дописать ссылки в колонку.

Свою реакцию на щелчок (открыть не объект, а другой отчёт с отбором) делают в обработчике ОбработкаРасшифровки формы отчёта. Стандартное действие отключают параметром СтандартнаяОбработка = Ложь.

💡 Пользователю без прав на объект расшифровка покажет сообщение о нарушении прав. Это не сбой отчёта, а работа ролей.

Гиперссылки в формах и тексте документов

Внутри интерфейса ссылки выводятся несколькими способами.

Декорация-надпись. У надписи на форме есть свойство «Гиперссылка». Текст становится кликабельным, а щелчок обрабатывается в событии Нажатие.

Форматированная строка. Пятый параметр конструктора — ссылка. Её можно поставить в надпись или в поле формы:

Текст = Новый ФорматированнаяСтрока("Открыть счёт", , , , НавСсылка);
Элементы.НадписьСчет.Заголовок = Текст;

Щелчок по такой строке вызывает событие ОбработкаНавигационнойСсылки. Если в нём не выставить СтандартнаяОбработка = Ложь, платформа сама перейдёт по адресу: откроет объект для e1cib/... или браузер для http://....

Поле форматированного документа и HTML. В них ссылки ведут себя как в веб-странице. Обычный URL открывается в браузере, а ссылка e1cib/... — внутри программы.

Комментарии и обсуждения. В типовых конфигурациях пользователи вставляют ссылку, полученную через значок цепочки, в текст обсуждения или задачи. Получатель открывает объект, не ища его в списке.

Публикация на веб-сервере и алиас базы

Алиас — то самое имя после адреса сервера в URL (buh в http://srv-web/buh/). Его задают при публикации, и от него зависят и адрес веб-клиента, и строка ws= для тонкого клиента.

Публикация из Конфигуратора

  1. Запустите Конфигуратор от имени администратора Windows на машине с веб-сервером.
  2. Откройте Администрирование → Публикация на веб-сервере.
  3. В поле «Имя» введите алиас латиницей, без пробелов: buh, zup_filial.
  4. Выберите веб-сервер (Apache нужной версии или IIS) и каталог публикации.
  5. Отметьте, что публиковать: тонкий и веб-клиент, веб-сервисы, HTTP-сервисы, OData.
  6. Нажмите «Опубликовать» и перезапустите службу веб-сервера, если программа предложит.

Перезапуск Apache или IIS обрывает все сеансы, открытые через веб-клиент и ws=. Делайте это вне рабочего времени или после предупреждения пользователей.

Что лежит в каталоге публикации

В каталоге появляется файл default.vrd. В нём записано, к какой базе ведёт алиас:

<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="/buh"
       ib="Srvr=&quot;srv1c&quot;;Ref=&quot;buh&quot;;">
</point>

Атрибут base — алиас, ib — обычная строка подключения, только кавычки заменены на &quot;. Чтобы перенаправить публикацию на другую базу, достаточно поправить ib и перезапустить веб-сервер .

Публикация без Конфигуратора

На сервере без графической оболочки публикуют утилитой webinst из каталога bin платформы:

webinst -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "Srvr=srv1c;Ref=buh;" -confpath "C:\Apache24\conf\httpd.conf"

Для IIS вместо -apache24 указывают -iis, а -confpath не нужен.

Адреса сервисов той же публикации

На одном алиасе живёт не только веб-клиент:

СервисАдрес
Веб-клиентhttp://srv-web/buh/
OData-интерфейсhttp://srv-web/buh/odata/standard.odata/
HTTP-сервисhttp://srv-web/buh/hs/<корневой URL сервиса>/...
Веб-сервис (SOAP)http://srv-web/buh/ws/<имя>.1cws?wsdl

Ошибка 404 на /odata/ или /hs/ при работающем веб-клиенте почти всегда значит одно: при публикации не отметили соответствующий флажок.

Частые вопросы

Можно ли открыть файловую базу 1С по ссылке в браузере?
Только после публикации на веб-сервере. Браузер не умеет работать с путём D:\Bases\Buh напрямую: нужен Apache или IIS, который отдаст веб-клиент по адресу вида http://srv-web/buh/.
Почему навигационная ссылка от коллеги открывает «объект не найден»?
Чаще всего вы открыли другую базу, например копию или тестовую. Идентификатор в ref= уникален для конкретной базы. Второй вариант — объект удалили или у вас нет прав на его просмотр.
Чем отличается Ref от имени базы на SQL-сервере?
Ref — имя информационной базы в кластере 1С, его видно в консоли администрирования. Имя базы данных на СУБД задаётся отдельно в свойствах информационной базы и может быть любым.
Можно ли сделать алиас на кириллице?
Технически платформа позволит, но браузеры и прокси кодируют такие адреса по-разному. Латиница без пробелов и спецсимволов избавляет от проблем с закладками и строками ws=.
Где посмотреть строку подключения, если база уже в списке?
Выделите базу в окне запуска: строка показана внизу окна. Полный вариант с параметрами откроется по кнопке «Изменить». Он же хранится в файле ibases.v8i.