В практике сопровождения 1С случаются критические ситуации, когда доступ к физическому или виртуальному серверу (по RDP, SSH или консоли гипервизора) временно утерян, а база данных опубликована на веб-сервере и доступна пользователям только через браузер по протоколу HTTP/HTTPS (порт 80/443). Разберем по шагам, как в таких условиях получить полную копию данных и восстановить информационную базу на локальном компьютере.
При попытке создать архивную копию базы через стандартное меню в веб-клиенте пользователи часто сталкиваются с ошибками об отсутствии необходимых компонент (например, компонент работы с файлами или COM-соединения). Это связано с ограничениями безопасности браузерной «песочницы»: веб-клиент не имеет прямого доступа к файловой системе сервера и не может инициализировать запуск конфигуратора или монопольное резервное копирование.
В типовых конфигурациях на базе «Библиотеки стандартных подсистем» (БСП), таких как 1С:Бухгалтерия предприятия 3.0, реализован штатный механизм выгрузки данных в zip-архив (формат XML/FastInfoset). Этот механизм формирует полный дамп учетных данных на стороне сервера и отдает готовый файл клиенту для скачивания через браузер.
Рассмотрим, как запустить этот механизм, даже если нужного пункта нет в стандартном командном интерфейсе:
e1cib/run/Обработка.ВыгрузкаДанныхДляПереходаВСервис
e1cib/run/Обработка.ЗагрузкаДанныхИзСервиса) и укажем скачанный zip-архив.Браузер накладывает множество технических ограничений на работу платформы. Проанализируем альтернативный вариант: прямое подключение к веб-публикации через установленную на локальном ПК платформу «1С:Предприятие».
http://192.168.1.50/acc_base).Если стандартные функции меню заблокированы или недоступны, но у пользователя есть административные права в базе 1С, можно загрузить внешнюю обработку через подсистему дополнительных отчетов и обработок:
ВыгрузкаЗагрузкаДанныхXML, адаптированную под управляемые формы).Если веб-сервер настроен со стандартными параметрами публикации, в нем по умолчанию включен REST-интерфейс OData. Это позволяет извлечь данные программно без использования интерфейса 1С.
Проверим доступность OData, выполнив GET-запрос в браузере с учетными данными пользователя 1С:
http://<адрес_сервера>/<имя_базы>/odata/standard.odata/$metadata
Если сервер возвращает XML-схему метаданных, мы можем выгрузить любые таблицы базы данных (например, справочники или проводки) построчно через запросы вида:
http://<адрес_сервера>/<имя_базы>/odata/standard.odata/Catalog_Номенклатура?$format=json
Если сервер находится в локальной сети или в офисе компании, самым надежным способом сохранения 100% копии базы (включая конфигурацию, пользователей и журнал регистрации) является получение прямого доступа к накопителям сервера:
root в Linux через chroot.1Cv8.1CD из каталога публикации на внешний носитель..mdf и .ldf для Microsoft SQL Server или каталог базы для PostgreSQL).