Файл не обнаружен default vrd

Обновлено: 11.07.2024

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

<?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="/ИмяБД"
ib="Srvr=&quot;ИмяСервера:ПортСервера&quot;;Ref=&quot;ИмяБД&quot;;"
enableStandardOData="true">
<ws>
<point name="ИмяВебСервиса"
alias="ИмяВебСервиса.1cws"
enable="true"/>
</ws>
</point>

Необходимо отредактировать данный файл. Важно: если для редактирования данного файла воспользоваться обычным редактором Notepad, то эти изменения скорее всего правильно сохранить не получиться, по причине неправильной кодировки. Но можно воспользоваться Notepad++. Открываем файл и добавляем в строке

свои данные для авторизации, то есть указываем пользователя БД и его пароль. В итоге структура данного файла примет следующий вид:

<?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="/ИмяБД"
ib color: rgb(0, 0, 255);"> ПарольПользователяБД&quot;;"
enableStandardOData="true">
<ws>
<point name="ИмяВебСервиса"
alias="ИмяВебСервиса.1cws"
enable="true"/>
</ws>
</point>

Если использование веб-сервисов предполагается только определенному кругу пользователей, тогда необходимо настроить доступ к веб-серверу только по определнным IP-адресам.

Описание ошибки:
Обнаружена при разработке обработки для изменения содержимого файла формата XML в серверной базе 1С 8 в режиме управляемого приложения. При тестировании на сервере ошибка не возникала. Проявила себя при работе на рабочем месте пользователя.

1С 8 ошибка файл не обнаружен при чтении файла

По факту ошибка возникала при выполнении метода "Прочитать()" для объекта "ТекстовыйДокумент". Как было отмечено, при тестировании работы обработки непосредственно на сервере данной ошибки не возникало. Она проявила себя уже при попытке работы на другом рабочем месте. Обработка разрабатывалась для конфигурации 1С: Комплексная автоматизация 8, ред. 2, которая работает в режиме управляемого приложения - это необходимо отметить. Т.к. это проясняет причины возникновения проблемы.

По привычке разместил операции по чтению содержимого текстового файла и извлечению его содержимого на стороне сервера - см. "&НаСервере" перед процедурой "ОбрабткаНаСервере()". Клиент-серверная архитектура платформы 1С: Предприятие 8.3, казалось бы, к этому обязывала.

1с 8.3 при чтении файла пишет, выводит ошибку: Файл не обнаружен

В итоге получалось, что платформа на клиентском рабочем месте искала файл по указанному пути на сервере, где развернут сервер 1С: Предприятия 8 исходя из директивы "&НаСервере", а не на рабочем компьютере, где была запущена обработка.

Но, как оказалось позже - конструктор "Новый ТекстовыйДокумент", методы "Прочитать()", "ПолучитьТекст()" - все они доступны не только на стороне сервера, но и на стороне тонкого и толстого клиента. Поэтому замена директивы "&НаСервере" на "&НаКлиенте" решила проблему.

Для «опытов» была выбрана самописная конфигурация, находящаяся в папке D:\DataBase\1C\tennis.v82

Итак, прежде всего создадим в этом каталоге пустой текстовый файл в кодировке UTF-8 или 1252 (кодировка 1251 не проходит, а другие - не проверялись) с именем «default.vrd» и следующим содержимым:
На этом этапе самый, пожалуй, неприятный «подводный камень» заключается именно в кодировке файла «default.vrd». Поэтому, лучше набирать текст руками, а не копировать через буфер обмена.
Теперь приступаем к созданию виртуального каталога на веб-сервере IIS. Запускаем консоль управления сервером и выбираем меню «Создать/Виртуальный каталог»
Указываем псевдоним «tennis» - тот же, что и в параметре «base» файла «default.vrd»:
Теперь в консоли управления IIS у нас появилась виртуальная папка «tennis» с характерным значком:
Отредактируем свойства этого каталога (не всего узла!). Уровень защиты в принципе можно установить «Низкая (процесс IIS)», но я бы рекомендовал «Средняя (объединенная)». Также, нам необходимо указать IIS, что все файлы в этом каталоге будут обрабатываться 1С:Предприятием. Жмем кнопку «Настройка…»:
На закладке «Сопоставления» жмем «Добавить» и указываем путь к 1С-овской библиотеке «wsisapi.dll» (она находится в подкаталоге «\bin» каталога установки 1С:Предприятия):
В качестве обрабатываемых расширений указываем все файлы «.*» (точка-звездочка). Сохраняемся и на всякий случай проверим разрешения по доступу сервиса IIS к каталогу базы данных. Если его там нет, то - добавляем и разрешаем ему изменение файлов и подкаталогов:
Вот, пожалуйи все. На этом процедуру интеграции можно считать законченной и приступить к проверке.
Теперь по поводу браузеров и их настройки. Возможно, эта тема заслуживает отдельного разговора, а здесь ограничимся лишь некоторыми впечатлениями. Общим для всех является отмена блокировки всплывающих окон и включение JavaScript (если не включено). Итак,
Opera. Не очень дружит с яваскриптом, который генерирует 1С. Иногда по непонятным причинам вместо русских букв показывает знаки вопроса. Плохо форматирует формы. С другой конфигурацией вообще отказалась работать – после прохождения авторизации пользователя 1С разругалась восьмиэтажным яваскриптом и выбросила на пустую страницу. Safari. Просто интеллигентно молчит… Показывает заголовок «1С:Предприятие», сплэш-скрин восьмерки и … молчит. Культура прежде всего. Arora. Малоизвестный и немного сыроватый браузер. Не смог показать даже сплэш-скрин, вместо него выдал абракадабру на всю страницу и сообщил «Готово». Firefox. Работает быстро, но есть недостаток – невозможно копировать через буфер обмена:
Если кто-то знает в чем может быть причина и как с этим бороться - просьба отписаться в комментариях. Chrome. То же что и Firefox, может чуть быстрее, и невозможно использовать буфер обмена. При тестировании использовались последние на момент написания статьи версии браузеров.
После первого запуска Вы обнаружите в каталоге базы данных несколько новых файлов. Удалять их нет смысла, т.к. они вновь будут созданы при следующем входе через браузер, а во время сеанса работы они заблокированы процессом «dllhost.exe». Помимо браузера для работы с БД через IIS можно использовать и «тонкого клиента» 1С. Запускаем «1С:Предприятие (тонкий клиент)», добавляем в список новую информационную базу, указав в качестве источника веб-сервер:
Остальные настройки (прокси, аутентификация и т.д.) можно оставить без изменения. Жмем «Готово» и запускаем 1С:Предприятие (тонкий клиент) :D Как разрешить вышеописанную проблему с браузером FireFox. В адресной строке браузера вводим "about:config" (без кавычек), жмём Enter и попадаем в тонкие настройки ОгнеЛиса :)

network.standard-url.encode-query-utf8 - для использования нелатинских символов в адресной строке (значение true);
signed.applets.codebase_principal_support - для работы с буфером обмена, внешними компонентами и расширенной работы с файлами (значение true);
dom.popup_allowed_events - для разрешения навигации по окнам приложения с клавиатуры (добавляем к значению параметра событие keydown).
Быстро найти эти параметры можно используя фильтр: жмём Ctrl+F и вводим в строке фильтра любое слово из названия параметра, например principal. Редактируются двойным кликом, либо правый клик и пункт "Изменить" на соответствующей строке.

Вариант №2:

Настройка веб-клиента 1С:Предприятие 8.2 под Windows 7 x64 и IIS.

Возникла необходимость отладить небольшую конфигурацию 1С:Предприятие 8.2 под веб-клиентом. Веб сервером был выбран IIS, являющийся самым родным для ОС Windows. Опыт использования этого сервера в Windows XP подсказывал, что с ним будет меньше проблем чем с Apache, но на недавно установленной Windows 7 x64 все оказалось не так просто. Мелкие проблемы начались с момента попытки публикации веб приложения, а после их устранения коснулись уже веб сервера, настройкой которого платформа 1С:Предприятие 8.2 не занимается.

Героически победив все свалившиеся напасти, решил скомпоновать и выложить на всеобщее обозрение свои шаги в достижении цели.

Шаг 1. Доустановка компонентов IIS.

Для работы веб-клиента 1С:Предприятия необходимы службы IIS, которые небыли установлены по умолчанию при установке Windows 7 x64.

Для их установки следует перейти "Пуск - Панель управления - Программы и компоненты - Включение или отключение компонентов Windows". В появившемся дереве, в ветке "Службы IIS – Компоненты разработки приложений" отметить все компоненты, как показано на рисунке. Затем нажать кнопку "Ок".

Шаг 2. Разрешение 32-разрядных приложений в пуле приложений.

Веб-клиент 1С:Предприятия 8.2 является 32-разрядным приложением. Поэтому для 64-разрядной ОС необходимо разрешить работу оных в пуле приложений сервера IIS. Для этого необходимо перейти "Пуск - Панель управления – Администрирование – Диспетчер служб IIS". В диспетчере служб выбрать "Пулы приложений – DefaultAppPool – Дополнительные параметры". В списке дополнительных параметров переменной "Разрешены 32-разрядные приложения" установить значение "True".

Шаг 3. Установка удостоверения пула приложений в качестве удостоверения анонимного пользователя.

По умолчанию в качестве анонимного пользователя установлен пользователь IUSR, которого нет в системе. Дабы не создавать оного можно просто включить удостоверение пула приложений в качестве удостоверения анонимного пользователя. Для этого необходимо перейти "Пуск - Панель управления – Администрирование – Диспетчер служб IIS". В диспетчере служб перейти в "Проверка подлинности – Анонимная проверка подлинности". В открывшемся диалоге отметить "Удостоверение пула приложений". Закрыть диалог, нажав кнопку "ОК".

Вроде бы ничего не забыл. Ну а дальше публикуем веб-клиента (в конфигураторе "Администрирование – Публикация на веб-сервере") и наслаждаемся результатом, запустив отладку (в конфигураторе "Отладка – Начало отладки – Веб клиент: начать отладку").

Вариант №3:

  1. Платформа 1С:Предприятие 8.2.8.256
  2. Конфигурация 1С:Архив 1.0.2.4 (в файловом режиме)
  3. Vista Business
  4. IIS 7


Установка 1С

Настройка службы IIS


Добавляем виртуальный каталог (если не создан узел, то его нужно создать, разумеется)


Переходим в созданный каталог и кликаем на "Сопоставление обработчиков"


На панели "Действия" нажимаем на ссылку "Добавить сопоставление сценария. "

В окне добавляем путь к нашему wsisapi.dll

Теперь добавляем файл defualt.vrd с таким текстом:
+++++++++++++++++++++++++++++++++


Естественно в base и в ib у вас будет по другому.
Файл этот должен лежать в физическом пути к виртуальной папке.


Я достаточно долго мучался. Что-то ереименовывал и так далее.
А нужно было то всего сделать:

То есть преобразовать виртуальный каталог в приложение.

Теперь что касается доступа. На папку bin я вообще доступ какой-то дополнительный не давал (видимо потому что у меня база на файлах и потому что все это тестировал на одном компьютере).

А вот на базу надо дать, иначе при записи/удалении/изменении не происходит обновления экрана и пишет об ошибке.


У меня несколько разных всяких пользователей. Но с помощью проб и ошибок я нашел того пользователя, установив которому право на полный доступ все стало работать без ошибок.


Как я понял, какой конкретно пользователь должен иметь доступ, настраивается в проверке подлинности пула приложения или самого приложения.

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

<?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="/ИмяБД"
ib="Srvr=&quot;ИмяСервера:ПортСервера&quot;;Ref=&quot;ИмяБД&quot;;"
enableStandardOData="true">
<ws>
<point name="ИмяВебСервиса"
alias="ИмяВебСервиса.1cws"
enable="true"/>
</ws>
</point>

Необходимо отредактировать данный файл. Важно: если для редактирования данного файла воспользоваться обычным редактором Notepad, то эти изменения скорее всего правильно сохранить не получиться, по причине неправильной кодировки. Но можно воспользоваться Notepad++. Открываем файл и добавляем в строке

свои данные для авторизации, то есть указываем пользователя БД и его пароль. В итоге структура данного файла примет следующий вид:

<?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="/ИмяБД"
ib color: rgb(0, 0, 255);"> ПарольПользователяБД&quot;;"
enableStandardOData="true">
<ws>
<point name="ИмяВебСервиса"
alias="ИмяВебСервиса.1cws"
enable="true"/>
</ws>
</point>

Если использование веб-сервисов предполагается только определенному кругу пользователей, тогда необходимо настроить доступ к веб-серверу только по определнным IP-адресам.

Читайте также: