Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.
Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия).
В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux без графической оболочки, то публикация через привычное окно конфигуратора становится невозможной.
Аналогичная ситуация возникает, когда на этой машине отсутствует клиент 1С:Предприятия и, следовательно, становится невозможным запуск конфигуратора.
О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.
Отметим, что при ручной настройке публикации можно допустить различные ошибки. Описания которых и приведены в этой статье.
Итак, что делать, если не получается опубликовать веб-сервис 1С?
Список возможных ошибок:
1. Job for httpd.service failed because the control process exited with error code.
2. Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
3. Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
4. Не запускается 1С: Предприятие при подключении через веб сервер Linux. «Selinux policy enabled.»
5. Ошибка HTTP 404 Not found
6. Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Job for httpd.service failed because the control process exited with error code.
Полный текст ошибки:
Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details. |
Описание ошибки:
После выполнения всех настроек файлов публикации базы или сервиса 1С:Предприятия. При попытке запустить веб-сервер — выдается ошибка и веб-сервер не запускается.
Данное сообщение говорит о том, что процесс был завершен с ошибкой, более подробную информацию о которой можно получить в журнале. Как это сделать — описано далее.
Решение:
Необходимо проанализировать более подробное описание ошибки. Его можно получить следующим образом.
В результате выполнения команды будет выдано более подробное сообщение об ошибке.
Разбор, которых приведен в статье далее.
Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
Полный текст ошибки:
сен 16 11:41:54 1s-on-web-1 httpd[6596]: AH00526: Syntax error on line 6 of /etc/httpd/e1c/base.conf: сен 16 11:41:54 1s-on-web-1 httpd[6596]: Invalid command ‘forceHandler’, perhaps misspelled or defined by a module not included in the server configuration |
Описание ошибки:
Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.
Решение:
Исправить ошибку в строке сообщения. В данном случае допущена опечатка в имени команды.
vim /etc/httpd/e1c/base.conf |
Пример ошибочной строки. Команды forceHandler — на самом деле не существует :
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted forceHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Исправим файл. Укажем корректное наименвоание команды — SetHandler:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
Полный текст ошибки:
Начат процесс запуска юнита httpd.service. сен 16 12:18:11 1s-on-web-1 httpd[9857]: AH00526: Syntax error on line 7 of /etc/httpd/e1c/base.conf: сен 16 12:18:11 1s-on-web-1 httpd[9857]: Invalid command ‘ManagedApplicationDescriptor’, perhaps misspelled or defined by a module not included in the server configuration сен 16 12:18:11 1s-on-web-1 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE сен 16 12:18:11 1s-on-web-1 systemd[1]: Failed to start The Apache HTTP Server. — Subject: Ошибка юнита httpd.service |
Описание ошибки:
Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».
В этом можно убедиться выполнив команду.
cat /etc/httpd/conf/httpd.conf | grep wsap |
Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует — модуль не прописан.
Решение:
Отредактировать конфигурационный файл httpd.conf
vim /etc/httpd/conf/httpd.conf |
Добавить строку:
LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap24.so» |
Не запускается 1С: Предприятие при подключении через веб сервер, Linux. «Selinux policy enabled.»
Полный текст ошибки:
cat /var/log/httpd/error_log |
Описание проблемы:
При попытке запустить клиента 1С:Предприятие через веб-сервер (строка подключения вида: «ws=»http://1s-on-server/bast»;») — сеанс не запускается.
Но при этом, таже самая база — запускается успешно при прямом подключении к серверу 1С:Предприятия (строка подключения вида Srvr=»1s-on-server»;Ref=»base»;).
Решение:
1. Убедиться, что selinux, действительно, работает.
Если видим Enforcing, значит переходим к следующему пункту.
2. Отключить selinux:
3. Проверить, что настройка выполнена.
Permissive – включен, но ничего не запрещает.
Enforcing – включен, работает, и запрещает.
Ошибка HTTP 404 Not found
<strong>Пример полного текста ошибки:</strong> 404 Error in Request. HTTP Status: 404 — Not found |
<img class=«wp-image-809» src=«https://1s-on.ru/wp-content/uploads/2020/12/post-802-image-3.jpeg» /> HTTP 404 Not found The webpage cannot be found |
Описание:
После публикации базы на сервере, при попытке перейти по веб-ссылке базы из браузера– выдается ошибка.
Проще говоря, браузер сообщает, что не нашел такой папки публикации на сервере.
Решение:
Ошибка часто связана с неправильным вводом имени базы/папки публикации.
Необходимо проверить имена папок с конфигурационными файлами базы, а также имена базы и папок в самих конфигурационных файлах.
Проверить имена публикации базы(выделено):
1. Конфигурационный файл *.conf:
vim /etc/httpd/e1c/base.conf |
следующего содержания:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
2. Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?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=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису.
Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса: 1s-on-1c-1/base/ws/ws_1s_on_1.1cws
Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Пример полного текста ошибки:
Описание:
При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.
Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.
Решение:
Проверить имена веб-сервисов и ссылок на них.
-
- Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?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=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.
В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.
Содержание
- web-сервис и ws-ссылка ошибка
- Сервис не найден.
- Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.
- web-сервис и ws-ссылка ошибка
- Сервис не найден.
- Решение проблем интеграции с Порталом 1С:ИТС
- Содержание
- 1. Общие действия
- 2. Если у пользователя не работают услуги портала.
- Симптомы проблемы
- Решение
- 3. Расхождение данных портала и менеджера сервиса
- 4. Подписки перестали отправляться в портал
- 5. Устранение причин непринятия подписок порталом
- 5.1. Бизнес-ошибки
- Пример ошибки
- Решение
- Пример ошибки
- Решение
- Пример ошибки
- Решение
- 5.2. Технические ошибки
- Пример ошибки
- Решение
- Симптомы проблемы
- Решение
web-сервис и ws-ссылка ошибка
Здравствуйте, нужна помощь.
Имею свой написанный web-сервис, прогнал на локальных базах, все хорошо, все работает. Начал закидывать на сервис и появилась вот такая проблема:
начинал запрашивать по пути в браузере . /ws/Partner.1cws?wsdl (Partner это Имя файла публикации) он выдавал логин и пароль, после этого писал «Сервис не найден.» если после этих логинов и паролей
ввести сразу . /ws/ws2.1cws?wsdl, то все хорошо находил мой сервис и показывал, НО если закрыть браузер и открыть заного под инкогнито(чтобы не было кэша логина/пароля), то выдавал ошибку 404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу
далее все таки нашел ошибку, что в публикации имя не Partner, а ws2 переименовали, переопубликовали. Теперь выходит так: при . /ws/Partner.1cws?wsdl выходит ошибка 404, при . /ws/ws2.1cws?wsdl выходит логин/пароль, при вводе логина и пароля выводит «Сервис не найден.»
при кэшировании логина и пароля пишем опять . /ws/Partner.1cws?wsdl все проходит нормально.
Почему я поднимаю вопрос. потому что когда я в базе заношу WS-ссылка, то сейчас при . /ws/Partner.1cws?wsdl выходит:
а если я ввожу . /ws/ws2.1cws?wsdl выходит:
Ошибка при выполнении файловой операции ‘http://1c.enginf.ru/office/ws/ws2.1cws?wsdl’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500).
A server error occurred.
Сервис не найден.
нашел вот что, при любом имени сервиса, даже при котором его не существует 1с запрашивает логин и пароль, а вот если обратиться так как называется мой web-сервис, то выходит:
Источник
Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.
Бьюсь уже полдня((
Галка «Публиковать HTTP сервисы расширений по умолчанию стоит», в default.vrd вроде все норм, пробовал прописывать сервис вручную в default.vrd — не помогает.
Перезапускал сервер 1С, IIS раз 20. Создавал новые http-сервисы с другими именами, все так же 404.
Причем http сервисы из конфигурации как работали до манипуляций, так и работают.
Где вообще можно посмотреть при флаге publishExtensionsByDefault=»true» куда он обращается, как IIS понимает к какому http-сервису расширения конфигурации идет обращение, если сам http-сервис в default.vrd не прописан?
Платформа 8.3.18.1363 х64
Млииин. Ларчик просто открывался. фейспалм.. посыпаю голову пеплом(
С утра уже все кеши почистил, как советовали, ничего не заработало. Я в отчаянии стал такое же расширение создавать на рабочей сервере с другим IIS — вдруг взлетит.
Создал, применил, хотел опубликовать, тут наш консультант заходит в ту же базу и говорит — тут ошибка выскочила, ошибка применения расширения, я смотрю — там конфликт по названию основной роли расширения с ролью в другом расширении.
В итоге как оказалось — мое расширение тупо не работало, я нажимал применить на базу, но оно не применялось, а 1С предупреждает о том, что оно не применилось только когда зайдешь в режиме предприятия (а я туда не заходил за ненадобностью), а в режиме конфигуратора оно только молча дает ошибку в ЖР и типа все норм.
Источник
web-сервис и ws-ссылка ошибка
Здравствуйте, нужна помощь.
Имею свой написанный web-сервис, прогнал на локальных базах, все хорошо, все работает. Начал закидывать на сервис и появилась вот такая проблема:
начинал запрашивать по пути в браузере . /ws/Partner.1cws?wsdl (Partner это Имя файла публикации) он выдавал логин и пароль, после этого писал «Сервис не найден.» если после этих логинов и паролей
ввести сразу . /ws/ws2.1cws?wsdl, то все хорошо находил мой сервис и показывал, НО если закрыть браузер и открыть заного под инкогнито(чтобы не было кэша логина/пароля), то выдавал ошибку 404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу
далее все таки нашел ошибку, что в публикации имя не Partner, а ws2 переименовали, переопубликовали. Теперь выходит так: при . /ws/Partner.1cws?wsdl выходит ошибка 404, при . /ws/ws2.1cws?wsdl выходит логин/пароль, при вводе логина и пароля выводит «Сервис не найден.»
при кэшировании логина и пароля пишем опять . /ws/Partner.1cws?wsdl все проходит нормально.
Почему я поднимаю вопрос. потому что когда я в базе заношу WS-ссылка, то сейчас при . /ws/Partner.1cws?wsdl выходит:
а если я ввожу . /ws/ws2.1cws?wsdl выходит:
Ошибка при выполнении файловой операции ‘http://1c.enginf.ru/office/ws/ws2.1cws?wsdl’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500).
A server error occurred.
Сервис не найден.
нашел вот что, при любом имени сервиса, даже при котором его не существует 1с запрашивает логин и пароль, а вот если обратиться так как называется мой web-сервис, то выходит:
Источник
При интеграции с порталом и использовании услуг портала возможно возникновение проблем или ошибок, например:
У пользователя не работает услуга портала.
Подписки перестали отправляться в портал.
При возникновении ошибки с кодом ответа портала 500 в любой из перечисленных выше ситуаций следует обращаться на webits-info@1c.ru, прикрепив к письму описание ошибки.
Ниже описаны действия при возникновении других ошибок.
Содержание
1. Общие действия
Проверить актуальность расширения по интеграции с порталом ИТС для менеджера сервиса: команды меню Все функции — Управление расширениями конфигурации , расширение ИнтеграцияСПорталомИТС .
Если версия расширения не последняя — обновить расширение. Актуальная версия расширения доступна в составе продукта 1С:Предприятие. Облачная подсистема Фреш на сайте releases.1c.ru
Проверить основные настройки интеграции с порталом в менеджере сервиса: команды меню Интеграция — Учетные системы , учетная система Портал 1С:ИТС .
2. Если у пользователя не работают услуги портала.
При возникновении ошибок при работе с услугами портала, например не выполняется заполнение реквизитов контрагентов, необходимо выполнить следующие действия.
Нужно проверить, отправлены ли портал следующие данные:
Статус интеграции показывается в справочнике Абоненты (команда меню Обслуживание — Абоненты):
И в форме свойств абонента (пункт меню формы Интеграция ):
Статус интеграции показывается в справочнике Пользователи абонентов (команда меню Обслуживание — Пользователи абонентов):
И в форме свойств абонента (пункт меню формы Пользователи абонента ):
Статус интеграции показывается в форме списка Подписки (команда меню Управление тарифами — Подписки):
И в форме свойств подписки (пункт меню формы Интеграция ):
Если какой либо из объектов не интегрирован и вместо значка указан значок , нужно проверить наличие ошибок в логе отправки. Лог отправки расположен в нижней части формы элемента после выбора пункта меню формы Интеграция :
Нужно проверить, заполнен ли реквизит Идентификатор у обслуживающей организации, указанной в портале.
Для этого нужно открыть карточку обслужи вающей организации в справочнике Абоненты :
В поле Идентификатор нужно указать код партнера. Например, если Код партнера 000987-77, то указываем 000987, или 987
Открыть форму свойств активной подписки клиента и проверить наличие нужной услуги на вкладке Услуги :
Если услуги нет, возможно в тарифе указан некорректный тариф поставщика Портала 1С:ИТС.
Симптомы проблемы
В списке Подписки у новых подписок не появляются значки интеграции, либо долго висят значки «часиков» .
В списке подписок не отправленные в портал подписки отображаются знаком .
Решение
Интеграция с порталом использует общую очередь сообщений. Если в менеджере сервиса «забита» очередь сообщений, то возможны 2 варианта решения:
- Дождаться освобождения очереди сообщений.
Отправить сообщения интеграции принудительно. Для этого нужно:
- Открыть элемент учетной системы 1С:Портал в списке Учетные системы (команды меню Интеграция — Учетные системы, учетная система Портал 1С:ИТС) или переход по ссылке e1cib/list/Справочник.УчетныеСистемы.
- Выбрать команду меню формы Объекты к отправке.
- Нажать на кнопку «самолетик» .
- Все сообщения будут отправлены.
- Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
- Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок» .
Открыть карточку абонента, выбрать в ней команду меню Пользователи абонента , проверить состояние интеграции, показанное в левой колонке:
Причины неотправки абонентов в основном технические, возможны разные ситуации:
Вид данных | Проверка | |
---|---|---|
Данные абонента | ||
Данные пользователей абонентов | Письмо или звонок в отдел разработки Портала 1С:ИТС | |
2 | Письмо или звонок в отдел разработки Портала 1С:ИТС | |
3 | Письмо или звонок в отдел разработки Портала 1С:ИТС | |
4 |
Не удалось получить тикет аутентификации в Менеджере сервиса http://fresh:8888/int/sm/hs/tickets/ Код состояния: 500. Сообщение: Область данных: 38 253 Идентификатор пользователя: cd012524-30f1-11e8-80ce-8e51d7d8547d |
Повторить отправку, если не удалось — письмо или звонок в отдел разработки Портала 1С:ИТС |
3. Расхождение данных портала и менеджера сервиса
Расхождение данных Портала 1С:ИТС и менеджера сервиса. Например: на портале на 10 подписок больше чем в менеджере сервиса.
Причина состоит в непосредственном удалении объектов. Если объект Подписка, Абонент, Пользователь абонента был создан ошибочно и сразу удалён из менеджера сервиса как объект без пометки удаления, то сообщение на портал не отправляется.
Чтобы объект также был удалён на портале, достаточно поставить пометку на удаление на соответствующий объект Подписки, Абонента или Пользователя абонента.
4. Подписки перестали отправляться в портал
Интеграция с порталом использует общую очередь сообщений. Если в менеджере сервиса «забита» очередь сообщений, то возможны 2 варианта решения:
- Дождаться освобождения очереди сообщений.
Отправить сообщения интеграции принудительно. Для этого нужно:
- Открыть элемент учетной системы 1С:Портал в списке Учетные системы (команды меню Интеграция — Учетные системы, учетная система Портал 1С:ИТС)
или переход по ссылке – e1cib/list/Справочник.УчетныеСистемы. - Выбрать команду меню формы Объекты к отправке.
- Нажать на кнопку «самолетик» .
- Все сообщения будут отправлены.
- Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
- Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок» .
5. Устранение причин непринятия подписок порталом
Для выяснения причин, почему подписка не была отправлена, нужно:
- Вывести карточку свойств подписки и выбрать команду меню Интеграция.
- Посмотреть описание состояния интеграции и лог отправки.
Открыть описание объекта к отправке, показанное в списке Данные к отправке:
По этим сведениям можно понять причину, после чего нужно эту причину устранить. Возможные причины делятся на 2 типа:
- Бизнес-ошибка в подписке
- Техническая ошибка на Портале 1С:ИТС
5.1. Бизнес-ошибки
Бизнес-ошибки нужно устранять силами партнера, указав ее причины.
На каждый запрос идет проверка по логину и паролю от конкретного экземпляра сервиса Фреш.
Также выполняются проверки заполнения полей. Описание проверок приведены в п.6 документа Rest API Портала 1С:ИТС Fresh-Integration
Ниже приведены примеры бизнес-ошибок.
Пример ошибки
Решение
У обслуживающей организации указан код партнера отличный от числа. Нужно чтобы у обслуживающей организации код партнера был числом.
Код партнера указывается в поле Идентификатор без последних цифр после «-«. Например, если Код партнера 000987-123, то указываем 000987, или 987 :
Пример ошибки
Решение
Тариф, на который оформляется подписка, не может быть оформлен на указанный срок. Возможные сроки оформления подписок на тариф обычно указываются на вкладке Описание формы свойств тарифа поставщика услуг.
Тарифы поставщиков услуг доступны с помощью команды меню Управление тарифами — Тарифы поставщиков услуг или по ссылке e1cib/list/Справочник.ТарифыПоставщиковУслуг.
Пример ошибки
Решение
Подписка была ранее получена порталом и изменена пользователем в срок, когда ее уже нельзя менять.
Партнер или оператор сервиса должен создать новую подписку. Эту подписку нужно вернуть в исходное состояние или пометить на удаление, если она не актуальна.
5.2. Технические ошибки
Технические ошибки нужно устранять самостоятельно, либо, если ошибка не устраняется, нужно связаться с отделом разработки портала 1С:ИТС.
Пример ошибки
Решение
В момент отправки сообщения в портал на портале 1С:ИТС производились технические работы и сообщение не смогло доставиться после 3-х попыток отправки.
Нужно в карточке свойств объекта (например, подписки) выбрать команду меню Интеграция и открыть сообщение, показанное в списке Данные к отправке:
В выведенной форме Объект к отправке нужно разблокировать сообщение, нажав на кнопку замка и затем на кнопку отправки сообщения :
Если в сообщении отображается пиктограмка «часы» , это значит, что сообщение принято порталом и обрабатывается. Нужно подождать 2-5 минут, обычно после этого услуга уже будет доступна пользователю.
Такая проблема может быть массовой. В этом случае нужно проделать те же действия, но с большим числом сообщений. Для этого нужно открыть форму учетной системы Портал 1С:ИТС ( Интеграция — Учетные системы , учетная система Портал 1С:ИТС ) и выбрать в ней команду меню Объекты к отправке :
Здесь будут доступны те же кнопки и . Их можно использовать следующим образом:
- Если в списке выделен один элемент, то операция будет выполнена для всех элементов списка.
- Если в списке выделено несколько элементов, то операция будет выполнена только для выделенных элементов.
Также в этом списке можно открывать отдельные объекты к отправке и выполнять их отправку из формы свойств объекта.
Симптомы проблемы
Сообщения отправляются в течение часа или более:
Решение
Ошибка проявляется на тестовых и боевых серверах.
- В инфраструктуре сервиса Портала 1С:ИТС идут какие-то нагрузочные тесты.
Возможно, отправляемое сообщение содержит некорректный код партнера.
Код партнера должен быть из существующих кодов партнера.
Нужно установить обслуживающей организации существующий код партнера, например 987 или 456.
Источник
Как настроить HTTP-сервис в 1С: Предприятие 8 и опубликовать базу на веб-сервере Apache
Эта публикация для быстрого доступа к информации по теме содания HTTP-сервиса на стороне 1С. С кратким замечанием по тому, какие трудности возникли на практике при настройке и работе.
Сервис 1С:ИТС Информационная система
Как выполнить первоначальную настройку сервиса в 1С:
HTTP Сервисы: Путь к своему сервису. Часть 1 на сайте Infostart.ru — вариант «на практике»
Информация от разработчика платформы, больше теории, но есть описание того, чего нет в вышеуказанной ссылке относительно настройки http-сервиса в 1С:
Пример создания HTTP-сервисов на платформе «1С:Предприятие» — на сайте Сервис 1С:ИТС Информационная система.
Используя две вышеуказанные статьи на сайтах можно выполнить настройку за 1 час.
При «Публикации веб-сервере…» на сервере Apache 2.4 была проблема в том, что после того, как 1С внесла изменения в файл httpd.conf, то служба сервера Apache не запускалась. При подробном изучении проблемы было выяснено, что Apache не мог получить и загрузить исполняемый dll-файл 1С — wsap24.dll, который отвечает за совместную работу Apache и 1C:
The Apache service named reported the following error:
>>> httpd.exe: Syntax error on line 169 of C:/Program Files/Apache24/conf/httpd.conf: Cannot load modules/wsap24.dll into server: The Apache service named xedxe5 xffxe2xebxffxe5xf2xf1xff xefxf0xe8xebxeexe6xe5xedxe8xe5xec Win32.
169 строка файла имела содержимое: LoadModule _1cws_module «C:/Program Files (x86)/1cv8/8.3.9.2033/bin/wsap24.dll»
Позже, благодаря поиску решения проблемы, было выявлено, что установленная версия Apache и 1С были различной разрадяности — x64 и x32 соответственно. Удаление и установка Apache 2.4 x32 разрядности устранило проблему. Теперь компонента wsap24.dll без проблем была подгружена веб-сервером и служба Apache без проблем была запущена.
В решении вышеописанной проблемы помогло обсуждение на форуме сайта infostart.ru: Апач не стартует после публикации базы
Далее, казалось бы, все проблемы решены. Но ожидала еще одна сложность, которую предстояло решить. Она имела следующий внешний вид и описание:
«reason»:404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу /hs/ObmenSite/v1/parametr:»,»#inner»:»{http://v8.1c.ru/8.1/data/core}Exception»,»inner»:{«clsid»:»a01f465c-ed70-442e-ada5-847668d7a41c»,»descr»:»Текущему соединению с информационной базой не назначен сеанс»,»data»
Помог решить проблему комментарий, размещенный на странице сайта курсы-по-1с.рф — [ Интеграция ] Как настроить обмен 1С с интернет-сервисами
Т.е. если в базе не установлен ни один пользователь, то файл default.vrd не будет требовать правки. Но, как правило, в базах 1С 8 имеется список пользователей, поэтому необходимо указать пользователя с его паролем для доступа через http-сервис в файле настроек. В соответствии с приведенным указанием данные пользователя и пароль были добавлены в соответствующий файл default.vrd, размещенный в каталоге, указанном как «Каталог» для публикации:
После проделанного изменения http-сервис, настроенный в 1С для теста, дал ответ:
Дополнительно по теме, в продолжении упоминания HTTP Сервисы: Путь к своему сервису. Часть 1 на сайте Infostart.ru:
HTTP Сервисы: Путь к своему сервису. Часть 2 — рассматривается пример реализации из OData+HTTP-Сервис(Get)+СКД, рассматривается пример работы как в браузере, так и реализованной обработке с использованием разных версий платформ
HTTP Сервисы: Путь к своему сервису. Часть 3 — описание других методов HTTP-Сервиса, таки[ как GET, HEAD, PUT, POST и других
HTTP Сервисы: Путь к своему сервису. Часть 4 — в рамках HTTP-сервисов в 1С:Предприятии 8 рассматриваются вопросы про размер сообщений, файлы, порции и регламенты.
Оцените, оказалась ли эта публикация полезна для Вас?
© www.azhur-c.ru 2013-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
11-06-2019
Журавлев А.С.
(Сайт azhur-c.ru)
Назад
|
|||
Slashman6667
24.07.21 — 19:31 |
Друзья, нужна помощь. Весь день мучаюсь, но так и не нашел решение. Задача — вызвать http-сервис. База опубликована, веб-сервисы(!!!) видны, сама база в браузере открывается… default.vrd и т.п. все настроено… Но именно http-сервис не работает. http://localhost/MO/hs/HTTPCallback/A/B/C/D/E/F/J — путь в строке браузера. В чем может быть такая загвоздка? |
||
Смотрящий
1 — 24.07.21 — 19:42 |
Права на сервис какие и какой юзер? |
||
Slashman6667
2 — 24.07.21 — 19:48 |
(1) База файловая. Права на каталог базы полные у пользователя IUSR, также права даны полные на все места куда можно. IUSR также добавлен в группу IIS_IUSRS. Публикация из-под админа естественно делалась. |
||
Slashman6667
3 — 24.07.21 — 19:57 |
В 1С права само собой тоже полные |
||
Slashman6667
4 — 24.07.21 — 20:02 |
Просто еще раз для понимания. Вот например, http://localhost/MO/ws/exchange.1cws?wsdl — работает А то что через /hs/(http-сервисы именно) не пашет. |
||
Slashman6667
5 — 24.07.21 — 20:03 |
Ошибка HTTP 404.0 — Not found Разыскиваемый вами ресурс был удален, было изменено его имя или он временно недоступен. |
||
acht
6 — 24.07.21 — 20:04 |
(0) > В чем может быть такая загвоздка? В несовпадении корневого урла и шаблона сервиса со строкой запроса |
||
Slashman6667
7 — 24.07.21 — 20:36 |
(6) /{id_Reserve}/{id_ComplexReserve}/{EventType}/{ReserveState}/{ComplexState}/{EventDescription}/{CallbackId} — это шаблон HTTPCallback — корневой URL http://localhost/MO/hs/HTTPCallback/A/B/C/D/E/F/J — строка запроса Что не так? |
||
Slashman6667 8 — 24.07.21 — 20:46 |
Все, вопрос решен… Но как я не понял… Просто перписал руками строку запроса заново))) Может какие-то символы были внутри другой раскладки… Фиг знает… |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Содержание
- web-сервис и ws-ссылка ошибка
- Сервис не найден.
- Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.
- web-сервис и ws-ссылка ошибка
- Сервис не найден.
- Решение проблем интеграции с Порталом 1С:ИТС
- Содержание
- 1. Общие действия
- 2. Если у пользователя не работают услуги портала.
- Симптомы проблемы
- Решение
- 3. Расхождение данных портала и менеджера сервиса
- 4. Подписки перестали отправляться в портал
- 5. Устранение причин непринятия подписок порталом
- 5.1. Бизнес-ошибки
- Пример ошибки
- Решение
- Пример ошибки
- Решение
- Пример ошибки
- Решение
- 5.2. Технические ошибки
- Пример ошибки
- Решение
- Симптомы проблемы
- Решение
web-сервис и ws-ссылка ошибка
Здравствуйте, нужна помощь.
Имею свой написанный web-сервис, прогнал на локальных базах, все хорошо, все работает. Начал закидывать на сервис и появилась вот такая проблема:
начинал запрашивать по пути в браузере . /ws/Partner.1cws?wsdl (Partner это Имя файла публикации) он выдавал логин и пароль, после этого писал «Сервис не найден.» если после этих логинов и паролей
ввести сразу . /ws/ws2.1cws?wsdl, то все хорошо находил мой сервис и показывал, НО если закрыть браузер и открыть заного под инкогнито(чтобы не было кэша логина/пароля), то выдавал ошибку 404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу
далее все таки нашел ошибку, что в публикации имя не Partner, а ws2 переименовали, переопубликовали. Теперь выходит так: при . /ws/Partner.1cws?wsdl выходит ошибка 404, при . /ws/ws2.1cws?wsdl выходит логин/пароль, при вводе логина и пароля выводит «Сервис не найден.»
при кэшировании логина и пароля пишем опять . /ws/Partner.1cws?wsdl все проходит нормально.
Почему я поднимаю вопрос. потому что когда я в базе заношу WS-ссылка, то сейчас при . /ws/Partner.1cws?wsdl выходит:
а если я ввожу . /ws/ws2.1cws?wsdl выходит:
Ошибка при выполнении файловой операции ‘http://1c.enginf.ru/office/ws/ws2.1cws?wsdl’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500).
A server error occurred.
Сервис не найден.
нашел вот что, при любом имени сервиса, даже при котором его не существует 1с запрашивает логин и пароль, а вот если обратиться так как называется мой web-сервис, то выходит:
Источник
Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.
Бьюсь уже полдня((
Галка «Публиковать HTTP сервисы расширений по умолчанию стоит», в default.vrd вроде все норм, пробовал прописывать сервис вручную в default.vrd — не помогает.
Перезапускал сервер 1С, IIS раз 20. Создавал новые http-сервисы с другими именами, все так же 404.
Причем http сервисы из конфигурации как работали до манипуляций, так и работают.
Где вообще можно посмотреть при флаге publishExtensionsByDefault=»true» куда он обращается, как IIS понимает к какому http-сервису расширения конфигурации идет обращение, если сам http-сервис в default.vrd не прописан?
Платформа 8.3.18.1363 х64
Млииин. Ларчик просто открывался. фейспалм.. посыпаю голову пеплом(
С утра уже все кеши почистил, как советовали, ничего не заработало. Я в отчаянии стал такое же расширение создавать на рабочей сервере с другим IIS — вдруг взлетит.
Создал, применил, хотел опубликовать, тут наш консультант заходит в ту же базу и говорит — тут ошибка выскочила, ошибка применения расширения, я смотрю — там конфликт по названию основной роли расширения с ролью в другом расширении.
В итоге как оказалось — мое расширение тупо не работало, я нажимал применить на базу, но оно не применялось, а 1С предупреждает о том, что оно не применилось только когда зайдешь в режиме предприятия (а я туда не заходил за ненадобностью), а в режиме конфигуратора оно только молча дает ошибку в ЖР и типа все норм.
Источник
web-сервис и ws-ссылка ошибка
Здравствуйте, нужна помощь.
Имею свой написанный web-сервис, прогнал на локальных базах, все хорошо, все работает. Начал закидывать на сервис и появилась вот такая проблема:
начинал запрашивать по пути в браузере . /ws/Partner.1cws?wsdl (Partner это Имя файла публикации) он выдавал логин и пароль, после этого писал «Сервис не найден.» если после этих логинов и паролей
ввести сразу . /ws/ws2.1cws?wsdl, то все хорошо находил мой сервис и показывал, НО если закрыть браузер и открыть заного под инкогнито(чтобы не было кэша логина/пароля), то выдавал ошибку 404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу
далее все таки нашел ошибку, что в публикации имя не Partner, а ws2 переименовали, переопубликовали. Теперь выходит так: при . /ws/Partner.1cws?wsdl выходит ошибка 404, при . /ws/ws2.1cws?wsdl выходит логин/пароль, при вводе логина и пароля выводит «Сервис не найден.»
при кэшировании логина и пароля пишем опять . /ws/Partner.1cws?wsdl все проходит нормально.
Почему я поднимаю вопрос. потому что когда я в базе заношу WS-ссылка, то сейчас при . /ws/Partner.1cws?wsdl выходит:
а если я ввожу . /ws/ws2.1cws?wsdl выходит:
Ошибка при выполнении файловой операции ‘http://1c.enginf.ru/office/ws/ws2.1cws?wsdl’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500).
A server error occurred.
Сервис не найден.
нашел вот что, при любом имени сервиса, даже при котором его не существует 1с запрашивает логин и пароль, а вот если обратиться так как называется мой web-сервис, то выходит:
Источник
При интеграции с порталом и использовании услуг портала возможно возникновение проблем или ошибок, например:
У пользователя не работает услуга портала.
Подписки перестали отправляться в портал.
При возникновении ошибки с кодом ответа портала 500 в любой из перечисленных выше ситуаций следует обращаться на webits-info@1c.ru, прикрепив к письму описание ошибки.
Ниже описаны действия при возникновении других ошибок.
Содержание
1. Общие действия
Проверить актуальность расширения по интеграции с порталом ИТС для менеджера сервиса: команды меню Все функции — Управление расширениями конфигурации , расширение ИнтеграцияСПорталомИТС .
Если версия расширения не последняя — обновить расширение. Актуальная версия расширения доступна в составе продукта 1С:Предприятие. Облачная подсистема Фреш на сайте releases.1c.ru
Проверить основные настройки интеграции с порталом в менеджере сервиса: команды меню Интеграция — Учетные системы , учетная система Портал 1С:ИТС .
2. Если у пользователя не работают услуги портала.
При возникновении ошибок при работе с услугами портала, например не выполняется заполнение реквизитов контрагентов, необходимо выполнить следующие действия.
Нужно проверить, отправлены ли портал следующие данные:
Статус интеграции показывается в справочнике Абоненты (команда меню Обслуживание — Абоненты):
И в форме свойств абонента (пункт меню формы Интеграция ):
Статус интеграции показывается в справочнике Пользователи абонентов (команда меню Обслуживание — Пользователи абонентов):
И в форме свойств абонента (пункт меню формы Пользователи абонента ):
Статус интеграции показывается в форме списка Подписки (команда меню Управление тарифами — Подписки):
И в форме свойств подписки (пункт меню формы Интеграция ):
Если какой либо из объектов не интегрирован и вместо значка указан значок , нужно проверить наличие ошибок в логе отправки. Лог отправки расположен в нижней части формы элемента после выбора пункта меню формы Интеграция :
Нужно проверить, заполнен ли реквизит Идентификатор у обслуживающей организации, указанной в портале.
Для этого нужно открыть карточку обслужи вающей организации в справочнике Абоненты :
В поле Идентификатор нужно указать код партнера. Например, если Код партнера 000987-77, то указываем 000987, или 987
Открыть форму свойств активной подписки клиента и проверить наличие нужной услуги на вкладке Услуги :
Если услуги нет, возможно в тарифе указан некорректный тариф поставщика Портала 1С:ИТС.
Симптомы проблемы
В списке Подписки у новых подписок не появляются значки интеграции, либо долго висят значки «часиков» .
В списке подписок не отправленные в портал подписки отображаются знаком .
Решение
Интеграция с порталом использует общую очередь сообщений. Если в менеджере сервиса «забита» очередь сообщений, то возможны 2 варианта решения:
- Дождаться освобождения очереди сообщений.
Отправить сообщения интеграции принудительно. Для этого нужно:
- Открыть элемент учетной системы 1С:Портал в списке Учетные системы (команды меню Интеграция — Учетные системы, учетная система Портал 1С:ИТС) или переход по ссылке e1cib/list/Справочник.УчетныеСистемы.
- Выбрать команду меню формы Объекты к отправке.
- Нажать на кнопку «самолетик» .
- Все сообщения будут отправлены.
- Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
- Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок» .
Открыть карточку абонента, выбрать в ней команду меню Пользователи абонента , проверить состояние интеграции, показанное в левой колонке:
Причины неотправки абонентов в основном технические, возможны разные ситуации:
Вид данных | Проверка | |
---|---|---|
Данные абонента | ||
Данные пользователей абонентов | Письмо или звонок в отдел разработки Портала 1С:ИТС | |
2 | Письмо или звонок в отдел разработки Портала 1С:ИТС | |
3 | Письмо или звонок в отдел разработки Портала 1С:ИТС | |
4 |
Не удалось получить тикет аутентификации в Менеджере сервиса http://fresh:8888/int/sm/hs/tickets/ Код состояния: 500. Сообщение: Область данных: 38 253 Идентификатор пользователя: cd012524-30f1-11e8-80ce-8e51d7d8547d |
Повторить отправку, если не удалось — письмо или звонок в отдел разработки Портала 1С:ИТС |
3. Расхождение данных портала и менеджера сервиса
Расхождение данных Портала 1С:ИТС и менеджера сервиса. Например: на портале на 10 подписок больше чем в менеджере сервиса.
Причина состоит в непосредственном удалении объектов. Если объект Подписка, Абонент, Пользователь абонента был создан ошибочно и сразу удалён из менеджера сервиса как объект без пометки удаления, то сообщение на портал не отправляется.
Чтобы объект также был удалён на портале, достаточно поставить пометку на удаление на соответствующий объект Подписки, Абонента или Пользователя абонента.
4. Подписки перестали отправляться в портал
Интеграция с порталом использует общую очередь сообщений. Если в менеджере сервиса «забита» очередь сообщений, то возможны 2 варианта решения:
- Дождаться освобождения очереди сообщений.
Отправить сообщения интеграции принудительно. Для этого нужно:
- Открыть элемент учетной системы 1С:Портал в списке Учетные системы (команды меню Интеграция — Учетные системы, учетная система Портал 1С:ИТС)
или переход по ссылке – e1cib/list/Справочник.УчетныеСистемы. - Выбрать команду меню формы Объекты к отправке.
- Нажать на кнопку «самолетик» .
- Все сообщения будут отправлены.
- Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
- Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок» .
5. Устранение причин непринятия подписок порталом
Для выяснения причин, почему подписка не была отправлена, нужно:
- Вывести карточку свойств подписки и выбрать команду меню Интеграция.
- Посмотреть описание состояния интеграции и лог отправки.
Открыть описание объекта к отправке, показанное в списке Данные к отправке:
По этим сведениям можно понять причину, после чего нужно эту причину устранить. Возможные причины делятся на 2 типа:
- Бизнес-ошибка в подписке
- Техническая ошибка на Портале 1С:ИТС
5.1. Бизнес-ошибки
Бизнес-ошибки нужно устранять силами партнера, указав ее причины.
На каждый запрос идет проверка по логину и паролю от конкретного экземпляра сервиса Фреш.
Также выполняются проверки заполнения полей. Описание проверок приведены в п.6 документа Rest API Портала 1С:ИТС Fresh-Integration
Ниже приведены примеры бизнес-ошибок.
Пример ошибки
Решение
У обслуживающей организации указан код партнера отличный от числа. Нужно чтобы у обслуживающей организации код партнера был числом.
Код партнера указывается в поле Идентификатор без последних цифр после «-«. Например, если Код партнера 000987-123, то указываем 000987, или 987 :
Пример ошибки
Решение
Тариф, на который оформляется подписка, не может быть оформлен на указанный срок. Возможные сроки оформления подписок на тариф обычно указываются на вкладке Описание формы свойств тарифа поставщика услуг.
Тарифы поставщиков услуг доступны с помощью команды меню Управление тарифами — Тарифы поставщиков услуг или по ссылке e1cib/list/Справочник.ТарифыПоставщиковУслуг.
Пример ошибки
Решение
Подписка была ранее получена порталом и изменена пользователем в срок, когда ее уже нельзя менять.
Партнер или оператор сервиса должен создать новую подписку. Эту подписку нужно вернуть в исходное состояние или пометить на удаление, если она не актуальна.
5.2. Технические ошибки
Технические ошибки нужно устранять самостоятельно, либо, если ошибка не устраняется, нужно связаться с отделом разработки портала 1С:ИТС.
Пример ошибки
Решение
В момент отправки сообщения в портал на портале 1С:ИТС производились технические работы и сообщение не смогло доставиться после 3-х попыток отправки.
Нужно в карточке свойств объекта (например, подписки) выбрать команду меню Интеграция и открыть сообщение, показанное в списке Данные к отправке:
В выведенной форме Объект к отправке нужно разблокировать сообщение, нажав на кнопку замка и затем на кнопку отправки сообщения :
Если в сообщении отображается пиктограмка «часы» , это значит, что сообщение принято порталом и обрабатывается. Нужно подождать 2-5 минут, обычно после этого услуга уже будет доступна пользователю.
Такая проблема может быть массовой. В этом случае нужно проделать те же действия, но с большим числом сообщений. Для этого нужно открыть форму учетной системы Портал 1С:ИТС ( Интеграция — Учетные системы , учетная система Портал 1С:ИТС ) и выбрать в ней команду меню Объекты к отправке :
Здесь будут доступны те же кнопки и . Их можно использовать следующим образом:
- Если в списке выделен один элемент, то операция будет выполнена для всех элементов списка.
- Если в списке выделено несколько элементов, то операция будет выполнена только для выделенных элементов.
Также в этом списке можно открывать отдельные объекты к отправке и выполнять их отправку из формы свойств объекта.
Симптомы проблемы
Сообщения отправляются в течение часа или более:
Решение
Ошибка проявляется на тестовых и боевых серверах.
- В инфраструктуре сервиса Портала 1С:ИТС идут какие-то нагрузочные тесты.
Возможно, отправляемое сообщение содержит некорректный код партнера.
Код партнера должен быть из существующих кодов партнера.
Нужно установить обслуживающей организации существующий код партнера, например 987 или 456.
Источник
Автор Lilian, 14 сен 2015, 16:36
0 Пользователей и 1 гость просматривают эту тему.
Добрый день! При открытии в 1с 8.3 таких документов, как поступление товаров и услуг, реализация товаров и услуг, отчет комитентам, выскакивает дополнительное окно «ошибка НТТР 400». Если открывать, например, списание с расч. счета или ведомость на выплату з/п, таких проблем не возникает.
При создании копии базы в процессе ее формирования выдает такое же сообщение и после продолжает копирование, как обычно.
При формировании нового документа, например, поступления товаров и услуг, при выборе контрагента выдается аналогичное сообщение.
Делалось тестирование и исправление, ситуация не изменилась.
При загрузке более старых копий базы при открытии упомянутых ранее документов выдается такое же сообщение, например, выбираю базу полугодичной давности.
Что можно сделать и как исправить данную ошибку?
Заранее спасибо!
Это ошибка проверки Контрагента по ИНН и КПП.
Посмотри,не включена ли у тебя данная проверка:
Меню «Администрирование» — Настройки проверки контрагентов. Поставить (снять) галочку «Проверять контрагентов с помощью веб-сервиса ФНС»
Цитата: Raven от 14 сен 2015, 17:15
Это ошибка проверки Контрагента по ИНН и КПП.
Посмотри,не включена ли у тебя данная проверка:
Меню «Администрирование» — Настройки проверки контрагентов. Поставить (снять) галочку «Проверять контрагентов с помощью веб-сервиса ФНС»
Спасибо Вам за ответ. Только возникает вопрос: у меня эта функция включена с того момента, как она появилась в 1С, и на данный момент она мне необходима, т.к. работаем с большим количеством контрагентов. Возможны какие-то варианты решения проблемы при включенной проверке контрагента?
Самое интересное, что еще 11.09.2015г. все работало отлично.
Такая проблема может возникнуть в один прекрасный момент при отсутствии обновления платформы и релизов или одно от другого не зависит?
Добрый день, номер платформы и релиза тут не при чем, ошибка возникает при обращении к веб-серверу ФНС. Может сервер у них упал, кто его знает.
Скорее всего они в ближайшее время устранят, так что можно чуть чуть потерпеть.
Всем доброго времени суток!
Абсолютно аналогичная проблема на нашей фирме началась с понедельника (14.09.2015). Немного стало легче на душе когда почитал, что возможно случилась беда с веб-сервером ФНС. Да и скорее всего так и есть, мы тут у себя ничего не меняли. Подождем некоторое время, надеюсь все уладится.
Доброго времени суток. У нас проблемы с аналогичной ошибкой, но в меню Администрирование у нас нет пункта «Настройки проверки контрагентов».
Такая проблема возникла у всех моих клиентов после обновления платформы на 8.3.6.2299. При этом конфигурации разные, обновленные:
1С:Подрядчик строительства 4.0. Управление финансами, редакция 3.0 (3.0.41.4), Бухгалтерия предприятия…
Цитата: vsl89 от 16 сен 2015, 09:27
Доброго времени суток. У нас проблемы с аналогичной ошибкой, но в меню Администрирование у нас нет пункта «Настройки проверки контрагентов».
Он может быть в другом месте Администрирование — Поддержка и обслуживание — Работа с контрагентами.
Теги:
- Форум 1С
-
►
Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4 -
►
Конфигурирование, программирование в 1С Предприятие 8 -
►
1C 8.3 — ошибка HTTP 404
Похожие темы (5)
Поиск
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Яна Блынская
Дата регистрации: 17.09.2015
Сообщений: 7
Добрый день! У нас программа 1С:Предприятие 8.3 (8.3.6.2041) Конфигурация Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.40.30). Последние две недели при формировании любого нового документа в программе (счет, реализация, счет-фактура и т.д.) и заполнении каждого реквизита в документе, появляется окно с надписью «Ошибка HTTP: HTTP Status (404)» (скрин прилагаю).
С недавнего времени при запуске программы, она запрашивает установку обновленной версии, но мы пока ее не устанавливали. Не знаю, влияет ли это как-то или нет. Подскажите, что это значит и как избавиться от этой ошибки? Заранее спасибо!
nemo888
Дата регистрации: 24.08.2010
Сообщений: 115
К сожалению аналогичная ошибка возникает и в других конфигурациях например в БГУ ред.20 (релиз 2.0.33.35 ) файловый вариант
Причем ошибка появилась действительно недавно.
Связана она с проверкой контрагентов на сайте ФНС. Если в программе у вас включена такая функция(Администрирование-Настройка проверки контрагентов), то очевидно 1с не может достучаться до нужной страницы.Скорее всего изменился адрес сайта.
Как вариант -отключить эту функцию в своей программе и ждать пока в 1с устранят эту ошибку.Возможно в самых последних релизах это уже сделали
Яна Блынская
Дата регистрации: 17.09.2015
Сообщений: 7
nemo888,большое спасибо за оперативный ответ!)
Показывать по
10
20
40
сообщений
Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.
Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия).
В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux без графической оболочки, то публикация через привычное окно конфигуратора становится невозможной.
Аналогичная ситуация возникает, когда на этой машине отсутствует клиент 1С:Предприятия и, следовательно, становится невозможным запуск конфигуратора.
О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.
Отметим, что при ручной настройке публикации можно допустить различные ошибки. Описания которых и приведены в этой статье.
Итак, что делать, если не получается опубликовать веб-сервис 1С?
Список возможных ошибок:
1. Job for httpd.service failed because the control process exited with error code.
2. Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
3. Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
4. Не запускается 1С: Предприятие при подключении через веб сервер Linux. «Selinux policy enabled.»
5. Ошибка HTTP 404 Not found
6. Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Job for httpd.service failed because the control process exited with error code.
Полный текст ошибки:
Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details. |
Описание ошибки:
После выполнения всех настроек файлов публикации базы или сервиса 1С:Предприятия. При попытке запустить веб-сервер — выдается ошибка и веб-сервер не запускается.
Данное сообщение говорит о том, что процесс был завершен с ошибкой, более подробную информацию о которой можно получить в журнале. Как это сделать — описано далее.
Решение:
Необходимо проанализировать более подробное описание ошибки. Его можно получить следующим образом.
В результате выполнения команды будет выдано более подробное сообщение об ошибке.
Разбор, которых приведен в статье далее.
Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
Полный текст ошибки:
сен 16 11:41:54 1s-on-web-1 httpd[6596]: AH00526: Syntax error on line 6 of /etc/httpd/e1c/base.conf: сен 16 11:41:54 1s-on-web-1 httpd[6596]: Invalid command ‘forceHandler’, perhaps misspelled or defined by a module not included in the server configuration |
Описание ошибки:
Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.
Решение:
Исправить ошибку в строке сообщения. В данном случае допущена опечатка в имени команды.
vim /etc/httpd/e1c/base.conf |
Пример ошибочной строки. Команды forceHandler — на самом деле не существует :
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted forceHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Исправим файл. Укажем корректное наименвоание команды — SetHandler:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
Полный текст ошибки:
Начат процесс запуска юнита httpd.service. сен 16 12:18:11 1s-on-web-1 httpd[9857]: AH00526: Syntax error on line 7 of /etc/httpd/e1c/base.conf: сен 16 12:18:11 1s-on-web-1 httpd[9857]: Invalid command ‘ManagedApplicationDescriptor’, perhaps misspelled or defined by a module not included in the server configuration сен 16 12:18:11 1s-on-web-1 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE сен 16 12:18:11 1s-on-web-1 systemd[1]: Failed to start The Apache HTTP Server. — Subject: Ошибка юнита httpd.service |
Описание ошибки:
Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».
В этом можно убедиться выполнив команду.
cat /etc/httpd/conf/httpd.conf | grep wsap |
Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует — модуль не прописан.
Решение:
Отредактировать конфигурационный файл httpd.conf
vim /etc/httpd/conf/httpd.conf |
Добавить строку:
LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap24.so» |
Не запускается 1С: Предприятие при подключении через веб сервер, Linux. «Selinux policy enabled.»
Полный текст ошибки:
cat /var/log/httpd/error_log |
Описание проблемы:
При попытке запустить клиента 1С:Предприятие через веб-сервер (строка подключения вида: «ws=»http://1s-on-server/bast»;») — сеанс не запускается.
Но при этом, таже самая база — запускается успешно при прямом подключении к серверу 1С:Предприятия (строка подключения вида Srvr=»1s-on-server»;Ref=»base»;).
Решение:
1. Убедиться, что selinux, действительно, работает.
Если видим Enforcing, значит переходим к следующему пункту.
2. Отключить selinux:
3. Проверить, что настройка выполнена.
Permissive – включен, но ничего не запрещает.
Enforcing – включен, работает, и запрещает.
Ошибка HTTP 404 Not found
<strong>Пример полного текста ошибки:</strong> 404 Error in Request. HTTP Status: 404 — Not found |
<img class=«wp-image-809» src=«https://1s-on.ru/wp-content/uploads/2020/12/post-802-image-3.jpeg» /> HTTP 404 Not found The webpage cannot be found |
Описание:
После публикации базы на сервере, при попытке перейти по веб-ссылке базы из браузера– выдается ошибка.
Проще говоря, браузер сообщает, что не нашел такой папки публикации на сервере.
Решение:
Ошибка часто связана с неправильным вводом имени базы/папки публикации.
Необходимо проверить имена папок с конфигурационными файлами базы, а также имена базы и папок в самих конфигурационных файлах.
Проверить имена публикации базы(выделено):
1. Конфигурационный файл *.conf:
vim /etc/httpd/e1c/base.conf |
следующего содержания:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
2. Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?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=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису.
Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса: 1s-on-1c-1/base/ws/ws_1s_on_1.1cws
Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Пример полного текста ошибки:
Описание:
При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.
Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.
Решение:
Проверить имена веб-сервисов и ссылок на них.
-
- Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?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=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.
В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.
В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3 на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного, так и для 64-разрядного модуля расширения веб-сервера.
0. Оглавление
- Что понадобится
- Установка веб-сервера IIS
- Установка компонент «1С:Предприятие»
- Настройка операционной системы
- Публикация базы данных на веб-сервере
- Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
- Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
- Подключение к опубликованной информационной базе через веб-браузер
- Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
- Конфигурационные файлы виртуального каталога
- Файл default.vrd
- Файл web.config
1. Что понадобится
- Компьютер отвечающий минимальным системным требованиям для работы веб-сервера под управлением одной из операционных систем:
- Microsoft Windows Server 2012 (R2)
- Microsoft Windows Server 2008 (R2)
- Права локального администратора на данном компьютере.
- Дистрибутив для установки компонент «1С:Предприятие». Для настройки 64-разрядного модуля расширения веб-сервера, дистрибутив для установки 64-разрядного сервера «1С:Предприятие». В данном примере используется версия 8.3.4.389. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен.
2. Установка веб-сервера IIS
Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:
- Общие функции HTTP (Common HTTP Features)
- Статическое содержимое (Static Content)
- Документ по умолчанию (Default Document)
- Обзор каталогов (Directory Browsing)
- Ошибки HTTP (HTTP Errors)
- Разработка приложений (Application Development)
- ASP
- ASP.NET 3.5
- Расширяемость .NET 3.5 (.NET Extensibility 3.5)
- Расширения ISAPI (ISAPI Extensions)
- Фильтры ISAPI (ISAPI Filters)
- Исправление и диагностика (Health and Diagnostics)
- Ведение журнала HTTP (HTTP Logging)
- Монитор запросов (Request Monitor)
- Средства управления (Management Tools)
- Консоль управления IIS (IIS Management Console)
Подробно про процесс развертывания веб-сервера IIS я писал:
- В Microsoft Windows Server 2012 (R2) — здесь. IIS версии 8, после установки должны увидеть страницу Default Web Site вида:
- В Microsoft Windows Server 2008 (R2) — здесь. IIS версии 7, после установки должны увидеть страницу Default Web Site вида:
3. Установка компонент «1С:Предприятие»
На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты) обязательно выбрав при установке компоненты:
- 1С:Предприятие
- Модули расширения веб-сервера
Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:
- Модуль расширения веб-сервера
4. Настройка операционной системы
Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по умолчанию C:inetpubwwwroot ) необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).
В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Польный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».
Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:Program Files (x86)1cv8 для 32-разрядного модуля расширения и C:Program Files1cv8 для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names) необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).
Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».
Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем «Применить» (Apply) для сохранения изменений.
Ну и наконец, если публикация выполняется для файловой базы, необходимо также дать группе IIS_IUSRS полные права на каталог с расположенными файлами данной информационной базы.
5. Публикация базы данных на веб-сервере
Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»
Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:
- Имя виртуального каталога — имя по которому будет происходить обращение к база данных на веб-сервере. Может состоять только из символов латинского алфавита.
- Веб сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
- Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
- Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
- Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.
Выбрав необходимые настройки публикации нажимаем «Опубликовать».
Если публикация прошла без ошибок, увидим соответствующее сообщение.
Публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию и для пула приложения по умолчанию. Стоит иметь ввиду, что при выполнении публикации из конфигуратора будет зарегистрирован 32-разрядный модуль расширения веб-сервера, а используемый по умолчанию пул приложений — DefaultAppPool — без настройки работает только с 64-разрядными приложениями. Соответственно, дальнейшие действия зависят от разрядности модуля расширения веб-сервера, который планируется использовать. Для 32-разрядного модуля расширения веб-сервера, необходимо разрешить пулу приложений использовать 32-разрядные приложения, либо же зарегистрировать 64-разрядный модуль расширения веб-сервера. Об этом пойдет речь ниже
6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).
Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений» (Application Pools).
В списке пулов приложений найдем пул с именем DefaultAppPool. Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры» (Advanced Settings).
В открывшемся окне параметров пула приложения, в группе «Общие» (General) найдем пункт «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) и установим значение параметра равным True. Затем сохраним изменения нажав «ОК».
7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin, каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.
Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).
Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков» (Handler Mappings) на начальной странице приложения.
В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.
Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:Program Files (x86)1cv88.3.4.389binwsisapi.dll» на «C:Program Files1cv88.3.4.389binwsisapi.dll» воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК» для сохранения изменений.
8. Подключение к опубликованной информационной базе через веб-браузер
Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/<Имя публикации информационной базы>. В данном примере это http://localhost/DemoAccounting/.
К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80, по внешнему) IP-адресу.
В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте здесь.
9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
К опубликованной на веб-сервере информационной базе можно подключиться и с помощью тонкого клиента «1С:Предприятия». Для подключения откроем окно запуска «1С:Предприятие» и нажмем кнопку «Добавить» для добавления информационной базы.
В окне добавления информационной базы/группы установим переключатель в «Добавление в список существующей информационной базы» и нажмем «Далее».
Введем имя базы данных, как она будет отображаться в списке информационных баз (должно быть уникальным для данного списка), тип расположения выберем «На веб-сервере» и нажмем «Далее».
Вводим строку адреса для подключения к информационной базе (без префикса /ru_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем «Далее».
Указываем параметры запуска для информационной базы и нажимаем «Готово» для завершения работы мастера.
После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие». Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем «1С:Предприятие» для подключения к информационной базе.
10. Конфигурационные файлы виртуального каталога
Рассмотрим подробнее структуру файлов, которые были созданы в процессе публикации. Если веб-доступ к опубликованной информационной базе по каким-то причинам не заработал, конфигурационные файлы можно отредактировать вручную, для достижения желаемого результата (конфигурационные файлы из данной статьи для 64-разрядного модуля расширения веб-сервера можно скачать здесь).
Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:
- default.vrd
- web.config
Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.
10.1. Файл default.vrd
В файле default.vrd описываются опубликованные Web-сервисы (элемент <ws>), а также указывается имя виртуального приложения (атрибут base) и строка подключения к информационной базе «1С:Предприятие» (атрибут ib). В данном примере для файловой информационной базы, строка подключения будет следующей:
ib="File="C:1C_BASEDemoAccounting";"
Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (http://www.w3.org/TR/xml11/), они должны быть заменены соответствующим образом.
В строке подключения можно указать логин и пароль пользователя. В этом случае, подключение к информационной базе будет выполняться от имени указанного пользователя. Например, для подключения от имени пользователя Продавец, строка подключения будет следующей:
ib="File="C:1C_BASEDemoAccounting";Usr=Продавец;Pwd=123;"
Для серверной информационной базы строка подключения будет иметь вид:
ib="Srvr="WIN2012"e;;Ref="e;Accounting"e;;"
Где WIN2012 — имя кластера серверов «1С:Предприятие», а Accounting — имя базы данных в кластере.
Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 2-е издание , Приложение 2, глава 3.12.
10.2. Файл web.config
Файл web.config — это файл, определяющий параметры для ASP.NET web-приложения. В каждом web-приложении должен быть файл web.config, находящийся в его корневом каталоге. Наш виртуальный каталог не является исключением. В текущем файле содержатся данные об обработчике «1С Web-service Extension», обрабатывающем запросы к данному приложению. Обработчик настроен таким образом, что все запросы передаются библиотеке wsisapi.dll, расположенной в каталоге bin, каталога с файлами «1С:Предприятие». В случае использования серверных информационных баз, версия библиотеки должна соответствовать версии кластера серверов «1С:Предприятия».
Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт «Сопоставления обработчиков» (Handler Mappings).
В таблице сопоставлений обработчиков увидим наш обработчик «1С Web-service Extension». Если такого обработчика в списке нет, его следует добавить выбрав в окне «Действия» (Actions) пункт «Добавление сопоставления сценария с подстановочными знаками» (Add Wildcard Script Map…).
При добавлении вводим имя обработчика и указываем путь к файлу wsisapi.dll. Данные параметры можно изменить и для действующего обработчика выбрав пункт «Изменить…» (Edit…) в окне списка действий.
Необходимо также убедиться, что для обработчика стоит флаг «Выполнение» (Execute) в окне изменений разрешений функции. Вызвать данное окно можно выбрав пункт «Изменение разрешений функции…» (Edit Feature Permissions…) в окне «Действия» (Actions).
Уже много было написано про http-сервисы, но то и дело всплывают «Новые» статьи по обмену между базами V8 по COM, что «Немножко» удивляет. Решил внести свои 5 копеек, поработаем с http-сервисом.
Я уже писал статью с использованием HTTP-сервисов (Мобильный клиент + HTTP Сервис + Расширение конфигурации), но там было все сумбурно без объяснений, почему именно так. В данном цикле статей расскажу и покажу в примерах накопленный опыт в данном вопросе, и мы сделаем простой легко разворачиваемый каркас HTTP-сервиса.
Примеры будут сделаны в расширении конфигурации, на платформе 8.3.10.2650. Для опытов установил ERP 2.4.3.145(Но вообще непринципиально, ставим любую свежую конфигурацию под 8.3.10). Так как параллельно в свободное время веду разработку универсального решения под названием Pretty API или «PAPI», расширение будет содержать данную аббревиатуру.
Начнем.
Почему http-сервис?
А) HTTP сервисы на платформе 1С 8.3.5.1068 появились летом 2014 года, то есть 4 года назад, а Web-сервисы и того больше. Это кощунство не использовать их до сих пор.
Б) На Хабре в официальном блоге Фирмы 1С есть статья Способы интеграции с 1С от 25 августа 2023, почитайте ее, особенно в части устаревших технологий.
В) Геморрои с разными версиями и «comcntr.dll» забываем как страшный сон! Опубликовали и пользуемся, плюсом мы получаем Вэб клиент, мобильный клиент, легкое использование нашего сервиса другими программистами (собственно API) и другие пряники.
Г) Скорость! Использую Com последние 3 года только для того чтобы показать сравнение со стандартным интерфейсом oData или http-сервисом. Когда люди видят вживую, они даже иной раз не верят, что обмен прошел!
Это все равно, что ездить каждый год на поезде по 3 суток в сторону Сочи и вдруг слетать на самолете за 2,5 часа.
!!! Использование технологии COM (доступно только на платформе Windows) !!!
Д) С версии 8.3.7.1759 могут быть встроены через расширение, а с версии 8.3.9 плюсом к ним можно встроить модули для более простой работы с ними.
E) Простота и гибкость разработки.
Ж) Стагнация — это плохо! В работе можешь не использовать, но быть всегда готов. Нельзя стоять на месте, если пошел в IT сферу.
Еще много чего можно перечислить. Минусы, тоже есть, но плюсов в разы больше.
Самый главный минус. Нужно установить и настроить веб сервер (IIS, Apache, 1С: Публикатор или 1С: Линк – Apache с интерфейсом для простого пользователя). Тут вот в чем проблема: Чаще всего администраторы почему-то не в состоянии это сделать, и приходится настраивать самому, либо они тупо устанавливают по дефолту и там начинаются пляски с бубном. Благо сейчас статей по настройки пруд пруди, ниже приведу парочку загугленных:
Пошаговая инструкция настройки web-сервисов для 1Сv8.3 и IIS 8.5, в данной инструкции особенно выделю пункт 8.
Настройка веб сервера Apache + 1С (Пошаговое руководство)
Лично я использую IIS, но на вкус и цвет как говорится.
Ближе к делу.
Создадим демо конфигурацию для опытов и добавим в него расширение. Можно создавать все объекты и не в расширении, я просто показываю вариант без изменения конфигурации. (В расширении добавление HTTP-сервисов появилось с версии 8.3.7.1759.)
Давайте перед созданием нашего HTTP-сервиса разберемся из чего складывается URL (подробнее описано на ИТС в главе 17.2.2. HTTP-сервисы):
http://host/base/hs/корневойURL/относительныйURL?ПараметрыЗапроса
host – IP адрес или доменное имя веб сервера.
base – Имя базы. Указывается при публикации.
hs — признак того, что выполняется обращение к HTTP-сервису.
корневойURL — имя ресурса, которое определяет группу ресурсов, связанных общим смыслом.
относительныйURL — определяет ресурс, к которому будет выполняться обращение. Относительный URL, указанный в запросе, будет использован для определения конкретного ресурса, к которому выполнялось обращение. Правило сопоставления задается в объекте Шаблон URL.
ПраметрыЗапроса – Не всегда обязательные параметры передаются после знака «?», чаще всего дополнительные параметры или параметры выборки, например формат ответа(format=json или format=atom).
Теперь по порядку:
Создаем сервис и задаем ему корневойURL:
Создаем Шаблон URL:
При создании шаблона можно использовать следующие символы:
Любые символы, допустимые в идентификаторах языка «1С:Предприятие».
Символ «/»;
Символы «{}» с непустым текстом между ними;
Символ *.
Наш шаблон выглядит следующим образом: /V1/{ИмяМетода}
Где {ИмяМетода} является параметром. Параметр может состоять из букв, цифр и символа подчеркивания «_».
Почему такой шаблон?
Когда смотришь различные примеры, коих очень много в шаблоны запихивают параметры. Создают по несколько методов с разными параметрами. А зачем так делать?
Вот пример с ИТС (17.2.2.3.2. Работа с документами):
Видно, что создано два Шаблона с методом Get, но по большому счету отличаются они только тем, что один ищет по номеру документ, а второй выводит все.
Все это можно реализовать одним методом, список или документ подавать в параметр ИмяМетода, а дополнительными параметрами передавать номер. А давайте сделаем!
Добавляем метод GET.
Берем код из примера ИТС.
17.2.2.3.2. Работа с документами (Тестовый пример)
Функция СписокGET(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
Результат = "Расходная накладная, 1, 01.01.2014
|Расходная накладная, 2, 01.01.2014";
Ответ.УстановитьТелоИзСтроки(Результат);
Возврат Ответ;
КонецФункции
Функция ДокументGET(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
Номер = Число(Запрос.ПараметрыURL.Получить("number"));
Если Номер > 2 Тогда
Ответ.КодСостояния = 404;
Ответ.УстановитьТелоИзСтроки("Отсутствует документ с номером: " + Номер);
Иначе
Если Номер=1 Тогда
Ответ.УстановитьТелоИзСтроки("Расходная накладная, 1, 01.01.2014");
Иначе
Ответ.УстановитьТелоИзСтроки("Расходная накладная, 2, 01.01.2014");
КонецЕсли;
КонецЕсли;
Возврат Ответ;
КонецФункции
Видоизменяем его и добавляем код обработки метода:
Функция PrettyAPIGET(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
ИмяМетода = Запрос.ПараметрыURL.Получить("ИмяМетода");
Если ИмяМетода = "Список" Тогда
Результат = "Расходная накладная, 1, 01.01.2014
|Расходная накладная, 2, 01.01.2014";
ИначеЕсли ИмяМетода = "Документ" Тогда
//ПраметрыЗапроса - number
ПарНомер = Запрос.ПараметрыЗапроса.Получить("number");
Номер = Число(?(ПарНомер=Неопределено,0,ПарНомер));
Если Номер > 2 Тогда
Ответ.КодСостояния = 404;
Результат = "Отсутствует документ с номером: " + Номер;
Иначе
Если Номер = 1 Тогда
Результат = "Расходная накладная, 1, 01.01.2014";
Иначе
Результат = "Расходная накладная, 2, 01.01.2014";
КонецЕсли;
КонецЕсли;
Иначе
Ответ.КодСостояния = 405;
Результат = "Отсутствует Метод " + ИмяМетода;
КонецЕсли;
Ответ.УстановитьТелоИзСтроки(Результат,КодировкаТекста.UTF8);
//Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
Возврат Ответ;
КонецФункции
Выполняем публикацию нашего сервиса:
Проверяем результат:
1 Получим список. Запрос: http://127.0.0.1/DemoEnterprise2_4_3_145/hs/PrettyAPI/V1/Список
Результат:
Получаем какие-то «кракозябры»! Первый раз я нарвался на этот момент с кодировкой около 4-х лет назад, ну и так как на ИТС пример как раз приводит к этому, решил показать и рассказать, как исправить.
Вы обратили внимание, что в коде функции PrettyAPIGET я оставил в самом конце закомментированную строку
//Ответ.Заголовки.Вставить(«Content—Type«,»text/html; charset=utf-8″);
Разкомментируем ее и проверим, как теперь отработает наш сервис.
2 Получим документ с номером 1. Запрос: http://127.0.0.1/DemoEnterprise2_4_3_145/hs/PrettyAPI/V1/Документ?number=1
Результат:
Важно: Хотелось бы обратить внимание на коды состояния из примера выше. Мне раза три в моей практике попадались API, которые всегда возвращали ответ с кодом 200 (200 OK («хорошо»)) и только в теле ответа, можно было понять, была ли ошибка. Это грубейшая ошибка разработчиков! Ну или это неуважение к конечному потребителю…
Передавая ответ, не забывайте про коды состояния (Список кодов состояния)!
Вот тут хороший пример по работе с ответом в зависимости от кода состояния, обратите внимание на ошибку с кодами 3XX.
Как Вы видите, мы обошлись одним Шаблоном для той же задачи. По сути можно сделать некий универсальный каркас для HTTP-метода и решать любую задачу Интеграции.
Давайте разобьем все возможные сервисы на блоки, чтобы понять, как сделать некое универсальное решение.
Сервис выполняет следующие действия:
- Получение входящих параметров и проверка их корректности
- Выполнение основных действий
- Формирование ответа
Если посмотреть пример выше, то понимаем, что все идет в вперемешку, не структурированно. Отлаживать такой сервис не очень приятно!
Я предпочитаю для HTTP-методов создавать отдельные модули и «Выполнение основных действий» осуществлять в созданном модуле. Создание отдельного модуля позволяет отлаживать HTTP-сервис через внешнюю обработку, это бывает необходимо при получении ошибки, которая говорит, что в коде есть ошибка, но отладка по HTTP не останавливается на точке остановы. Давайте «причешем» пример выше.
Создадим модуль и переделаем «получение параметров» и «формирование ответа».
Функция PrettyAPIGET(Запрос)
СтруктураВхПараметров = Новый Структура;
//Получаем имя метода
перИмяМетода = Запрос.ПараметрыURL["ИмяМетода"];
//Помещаем имя метода в структуру
СтруктураВхПараметров.Вставить("ИмяМетода",перИмяМетода);
//Забираем параметры из запроса
ВхПараметрыЗапроса = Новый Соответствие;
Для каждого Параметр Из Запрос.ПараметрыЗапроса Цикл
ВхПараметрыЗапроса.Вставить(Параметр.Ключ,Параметр.Значение);
КонецЦикла;
СтруктураВхПараметров.Вставить("ПараметрыЗапроса",ВхПараметрыЗапроса);
//Передаем входящие параметры (Модуль для метода GET)
СтруктураОтвет = PAPI_ОбработкаМетодовGET.PAPI_ОбработкаМетодовGET(СтруктураВхПараметров);
//Создаем ответ с кодом состояния
Ответ = Новый HTTPСервисОтвет(СтруктураОтвет.КодОтвета);
Если СтруктураОтвет.Отработало Тогда
Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ДанныеОтвета,КодировкаТекста.UTF8);
Иначе
Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ТекстОшибки,КодировкаТекста.UTF8);
КонецЕсли;
Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
Возврат Ответ;
КонецФункции
Модуль PAPI_ОбработкаМетодовGET
//Функция экспортная, специально чтобы можно было отлаживать как по HTTP(https://its.1c.ru/db/metod8dev#content:5756:hdoc)
//Так и через внешнюю обработку
Функция PAPI_ОбработкаМетодовGET(СтруктураВхПараметров) Экспорт
//структура ответа. Собственна нужна для формирования ответа
СтруктураОтвет = Новый Структура("ДанныеОтвета,Отработало,ТекстОшибки,КодОтвета","",Истина,"",200);
//Переправляем на нужный метод
Если ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("Список") Тогда
ПолучитьСписок(СтруктураОтвет,СтруктураВхПараметров);
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("Документ") Тогда
ПолучитьДокумент(СтруктураОтвет,СтруктураВхПараметров);
Иначе
ЗаполнитьСтруктуруОтвета(СтруктураОтвет,405,"Отсутствует Метод " + ?(СтруктураВхПараметров.ИмяМетода=Неопределено,"",СтруктураВхПараметров.ИмяМетода),ложь,"");
КонецЕсли;
Возврат СтруктураОтвет;
КонецФункции
//Заполняем структуру ответа
Процедура ЗаполнитьСтруктуруОтвета(СтруктураОтвет,КодОтвета,ТекстОшибки,Отработало,ДанныеОтвета)
СтруктураОтвет.КодОтвета = КодОтвета;
СтруктураОтвет.ТекстОшибки = ТекстОшибки;
СтруктураОтвет.Отработало = Отработало;
СтруктураОтвет.ДанныеОтвета = ДанныеОтвета;
КонецПроцедуры
//МЕТОДЫ
Процедура ПолучитьСписок(СтруктураОтвет,СтруктураВхПараметров)
Результат = "Расходная накладная, 1, 01.01.2014
|Расходная накладная, 2, 01.01.2014";
СтруктураОтвет.ДанныеОтвета = Результат;
КонецПроцедуры
Процедура ПолучитьДокумент(СтруктураОтвет,СтруктураВхПараметров)
//ПраметрыЗапроса - number
ПарНомер = СтруктураВхПараметров.ПараметрыЗапроса.Получить("number");
Номер = Число(?(ПарНомер=Неопределено,0,ПарНомер));
Если Номер > 2 Тогда
ЗаполнитьСтруктуруОтвета(СтруктураОтвет,404,"Отсутствует документ с номером: " + Номер,ложь,"");
Иначе
Если Номер = 1 Тогда
Результат = "Расходная накладная, 1, 01.01.2014";
Иначе
Результат = "Расходная накладная, 2, 01.01.2014";
КонецЕсли;
СтруктураОтвет.ДанныеОтвета = Результат;
КонецЕсли;
КонецПроцедуры
Как вы видите, размер кода увеличился, но стало гораздо проще добавлять новые методы.
Нужно просто добавить в проверку (PAPI_ОбработкаМетодовGET.PAPI_ОбработкаМетодовGET) новое имя метода и процедуру для этого метода.
По отладке HTTP-сервисов рекомендую статью с ИТС (https://its.1c.ru/db/metod8dev#content:5756:hdoc)
Первую часть заканчиваю. Мы рассмотрели с Вами как создать каркас для Get метода. В следующих частях поговорим про другие методы, про oData и JSON. Как и в этой статье будут примеры, но более интересные.
Статьи из данного цикла:
HTTP Сервисы: Путь к своему сервису. Часть 2
HTTP Сервисы: Путь к своему сервису. Часть 3
HTTP Сервисы: Путь к своему сервису. Часть 4
На платформе 1C начиная от версии 8.3.5 и выше появилась новая возможность создания сервисов с уникальными HTTP services URL. Подобные системы позволяют не только осуществлять штатные задачи, как отправку, прием и корректировку данных, но и обладают куда более глубокими возможностями. Например, формирование простых, но действенных клиентских приложений. Плюс, что примечательно, общая нагрузка на сам сервер снижается, благодаря уменьшению объема сведений, а также их оптимизации.
В результате мы получаем отличный инструмент, позволяющих реализовывать самые непростые задания даже на смартфонах, ведь вычислительная мощность потребуется относительно небольшая.
Шаблон создания HTTP сервиса 1С
В первую очередь нам понадобится сам веб-сервер. Отличным вариантом считается Apache, подходящий версией от 2.2 и выше. Конкретнее про установку мы поговорим дальше в представленным обзоре, пока же по вводным факторам.
Для начала создаем сам serves. Вводим произвольное название, фактически роли это не играет.
А вот сам URL – это куда более важная часть. Именно по этому адресу будет доступен корневой каталог, поэтому заранее определите корректное наименование.
Свойств у только что нами созданного URL немного, а именно одно – шаблон. Это запись, по которой будет доступен путь до serves.
Вы можете задавать параметры для сегментирования. То есть, градировать на неопределенное количество внутренних разделов. Выполняется это с помощью следующих настроек.
А вот у методов уже есть возможность присвоения множества свойств. Таких, как движение, удаление, блокирование, соединение, получение, путь и так далее.
При обращении к системе автоматически будет сопоставлен введенный адрес с имеющимся шаблоном. И если они соответствуют, то в ответ выдается выбранный вами метод. Если же соответствия не произошло, то ответная реакция от HTTP сервиса 1С будет 404, что является кодом ошибки.
Публикация и проверка
Завершающим шагом будет отправка нашего созданного шаблона в работу. Но на многих версиях этого не получится сделать, если сама программа не была запущена от имени администратора. Если не получилось опубликовать ваш вариант, просто закройте конфигуратор и откройте снова через щелчок правой кнопки мыши и выбор соответствующей опции.
Итак, если мы все сделали верно, то в случае этого примера, он будет доступен по адресу – localhost/HTTPTest/hs/Obmen/test-parametr/Test/GetInfo?param=value.
Разберем каждый сегмент этого пути:
- Localhost – соответственно, сам адрес изначального сервера.
- HTTPTest – как вы можете наблюдать из скрина, именно такой набор символов мы ввели в названии нашей тестовой публикации.
- Hs – а вот это важнейшая часть. Это указатель, который дает понятие о том, что происходит именно обращение к 1С HTTP сервису.
- Obmen – это название корневого каталога, который мы задавали ранее.
- test-parametr – соответственно, указанный нами изначально метод определения, а точнее, его путь.
- GetInfo – это уже наименование.
- param=value – нестрогий вариант параметров.
При выполнении процедуры произойдет следующее.
Здесь мы обратились к методу, получили соответствующий ответ. При этом для работы нам в любом случае понадобится авторизация. И решить возникшее затруднение в принципе несложно. Потребуется просто задать новый логин и пароль. А после авторизоваться по введенным опциям. Но есть и другая методика реализации этой функции, если обратиться к 1С HTTP сервис vrd. Мы напрямую можем изменить файл default, добавив в блокнот следующую запись – Usr=Логин; Pwd=Пароль. В результате надобности в авторизации как таковой не будет. И наша публикация будет доступна свободно.
Готовые решения для всех направлений
Ускорь работу сотрудников склада при помощи мобильной автоматизации. Навсегда устраните ошибки при приёмке, отгрузке, инвентаризации и перемещении товара.
Узнать больше
Мобильность, точность и скорость пересчёта товара в торговом зале и на складе, позволят вам не потерять дни продаж во время проведения инвентаризации и при приёмке товара.
Узнать больше
Обязательная маркировка товаров — это возможность для каждой организации на 100% исключить приёмку на свой склад контрафактного товара и отследить цепочку поставок от производителя.
Узнать больше
Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.
Узнать больше
Повысь точность учета имущества организации, уровень контроля сохранности и перемещения каждой единицы. Мобильный учет снизит вероятность краж и естественных потерь.
Узнать больше
Повысь эффективность деятельности производственного предприятия за счет внедрения мобильной автоматизации для учёта товарно-материальных ценностей.
Узнать больше
Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.
Узнать больше
Исключи ошибки сопоставления и считывания акцизных марок алкогольной продукции при помощи мобильных инструментов учёта.
Узнать больше
Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..
Узнать больше
Используй современные мобильные инструменты для проведения инвентаризации товара. Повысь скорость и точность бизнес-процесса.
Узнать больше
Показать все решения по автоматизации
Отладка
Итак, чтобы в принципе была возможность корректировки, нам в изначальном файле нужно прописать некоторые параметры. А точнее – в режиме отладчика поставить опцию «Разрешена по IP/TCP». А также указать адрес сервера в соответствующем пункте.
Далее зайдем в режим чуть глубже, выберем в настройках – автоматическое подключение. Перед нами раскроется новая вкладка, где мы определим исходные факторы. Галочку необходимо поставить лишь одну, напротив соответствующего типа авто-коннекта. Поскольку мы говорим про методы обмена данными через веб HTTP сервис 1С между базами, нам и понадобится эта настройка.
А теперь перезапускаем сам сервер. Внесенные изменения должны ведь еще и сохраниться перед началом работы. После этого публикация станет доступной. Помните, что в принципе тестирование и оптимизацию можно провести не только внутренними силами программы, но и сторонними утилитами отладчиками. Fiddler2 может стать неплохим способом.
Не будем путать эти дополнительные инструменты с теми, которые помогают внедрить саму платформу в текущую программную экосистему на предприятии. Они носят совершенно иное название. А именно – 1С сервисы интеграции, что это легко понять, представив помощника, который просто связывает всю текущую систему 1C, ее задачи и нужды и ПО. Получается, переносит все требования в настройки конфигуратора.
Помните, что, если у вас не выходит самостоятельно произвести все обозначенные действия, вы всегда можете обратиться к поставщику программного обеспечения. Да, не все из них готовы взять на себя подобного рода деятельность. Но, заказывая ПО у «Клеверенс», вы получаете:
- полноценное внедрение систем;
- адаптацию для различных предприятий;
- по желанию полное техническое сопровождение;
- отладку;
- сервисы интеграции 1С.
Требование к инструментам
Теперь пойдем более подробно по всем возможностям. Чтобы у наших читателей не осталось вопросов. Раздел для тех, кто решил действовать самостоятельно. Первое, что понадобится, платформа/компьютер и доступ в интернет. Далее, как уже упоминалось, установленный сервер. И само программное обеспечение. И если первый пункт пояснений не требует, то с остальным давайте разбираться подробнее.
Веб-сервер Apache
Для начала зайдем на официальный сайт разработчика. И найдем здесь только голые исходники. Да, конкретно дистрибутива на платформе в наличии нет, это не компетенция проекта. А лежит она в плоскости деятельности различных партнеров. Благо, на самом виртуальном ресурсе есть соответствующие ссылки. Воспользуемся одной из них.
Действия такие – открываем скаченный exe-шник, но обязательно производим запуск от имени администратора. Иначе часть функций останется недоступными, а значит, установка пройдет некорректным образом.
Начальные параметры скорее стоит оставить по умолчанию, в основном они выбраны правильно для новичков. Единственное «но» заключается в выборе дополнительных компонентов. Вот здесь настолько огромный массив нам точно не понадобится. Поэтому снимаем галочки с лишних окон.
Если все прошло удачно, суммы файлов совпали, то после завершения процедуры у нас автоматически активируется приложение XAMPP.
Это правильно, но именно так оно будет отображаться, только если это ваша первая установка подобного программного обеспечения. Дело в том, что для подключения утилита занимает 80-ый порт. А значит, его не должны использовать другие программы. Если подобное случится, то вы получите совершенно иное сообщение. А выглядеть оно будет так.
Ничего страшного не случится даже в этом случае. Все, что нам нужно – это открыть конфигурации, чтобы внести некоторые корректировки. Для этого находим строчку Listen, и в ее числовом значении на конце после точки стираем написанное, вручную добавляем цифры 8080. Такие же манипуляции проводим и с именем сервера в том же раскрывшемся файле. Проблема решена.
Но осталась другая – нужно присвоить серверу свойство службы нашего Windows. Зачем это делать? Дело в том, что в противном случае параметры запроса к HTTP сервису 1С (httpсервисзапрос) будут не учитывать сам Apache. Соответственно, мы не сможем выбрать его в качестве источника публикации, после того как создадим наш проект.
Нам нужно найти установочный файл сервера с разрешением .bat. А после изменить в нем путь, дописав вот это – HTTPd.exe. Сохраните внесенные изменения. А теперь просто попробуйте его запустить, но опять же, обязательно от имени администратора. Вас должно ожидать подобное.
Устанавливаем платформу
Чтобы использовать возможности ПО, нужно его установить, логично. И процедура еще легче, чем предыдущая. Также запускаем exe-шник, оставляем все настройки на своих местах. Только добавляем модули расширения.
Рекомендуется после установки здесь же запустить новую базу. Для отладки некоторых моментов. А именно, заходим в конфигурации и активируем режим модульного использования.
Пара слов о протоколе
Давайте уделим немного внимания самому HyperText Transfer Protocol. Копнем слегка в его структуру, чтобы понимать, с чем имеем дело. А ее схематично можно представить вот таким образом.
Название структурного элемента |
Пояснение |
Строка запроса |
Поясняется сам метод, с помощью которого будет происходить обмен информацией. Соответственно, это и версия, и сам URL |
Заголовок |
Короткое описание, которое обычно содержит ключевые по значению параметры |
Разделитель |
Пустая строка |
Тело |
Содержание информационного пакета. Примечательно, что фактически он вполне может быть незаполненным, но обозначенные выше сегменты все равно должны присутствовать |
Как работает обмен данными
Немного поняв принципы самого протокола, переходим к тому, как обратиться к HTTP сервису 1C (1С:8), пример запроса выглядит так.
Рассмотрим более подробно.
Запрос
Эта функция позволяет нам с помощью объектного программирования составить текстовую составляющую адреса и заголовки. Первый момент отвечает за путь, которой направляет нас на объект, второй – содержит параметр соответствия. Примечательно, что вручную заполнять ничего не придется.
Соединение
Функция для передачи информации по протоколу. Может использовать различные типы защиты, например, TLS 1.2. При этом снабжается мерами аутентификации, то есть, необходимо введение логина и пароля.
Для обработки используются различные методы, как получить, отправить, отказать и так далее. Допустимо построение некоторых форм, как вариант:
Одним из распространенных способов является также 1C HTTP сервисы post-метода.
Далее мы рассмотрим, как происходит работа связки этих двух параметров на практике.
Создание соединения
Если рассматривать все на примере кода, то в самой первой строке нам нужно указать тип обмена данными, а также название нашего нового фрагмента. Допустим, «Закупка товаров» или любое иное, по вашему усмотрению.
Заголовок
Далее нам необходимо задать соответствие. В принципе, здесь есть только два основополагающих параметра. Первый – accept. Команда предназначена для определения типа сведений, а также файлов, которые будут приняты на сервере. Это картинки в обозначенных форматах, видеофайлы, текстовые и так далее.
Второй – user-agent. Это наименование инструмента, с помощью которого мы и осуществляем коннект.
Создаем запрос
Теперь по аналогии мы и запрашиваем исполнение файла. Сама форма состоит из двух частей. Первая — включает в себя путь до этого объекта, а вторая – ее тип соответствия. Если это изображение в .jpg, то так и прописывается. Для понимания – /wp-content/uploads/2021/11/sait.ru-logo-200wide-65high-2021-12-04-v12.png, примерно так будет выглядеть наш запрос.
Отправка
Для передачи нам понадобится лишь указать наименование объекта. Правда, полностью и с точностью. А также присвоить параметр получения, звучит он в программе, как Get.
Обработка
Обращаем внимание на код, который идентифицирует состояние процесса. Нас устраивает только успешная пересылка, а она обозначается как 200.
Работа с базами
Общие принципы мы уже успели уяснить. Теперь закрепим на конкретном прикладном кейсе. Итак, мы создаем новый проект с рандомным наименованием. Давайте, возьмем объект – клиенты (контрагенты).
В общих параметрах мы создаем соответствующий клиентский лист.
А также задаем метод обработки входящих данных, чтобы сервер распознавал, что от него вообще требуется.
Далее пойдем по коду.
Создание перечня customers
Для начала присваиваем значение для все базы, потом для каждого конкретного человека из общего перечня. Берем для идентификации следующие данные: имя, идентификатор, номер его мобильного телефона, а также адрес электронной почты. В общем-то, полностью готовый лид.
Сериализуем данные
То есть, мы переводим их из первоначальной формы в программную. Чтобы свободно передавать в качестве информационного потока.
Составляем ответ
Теперь же нам нужно указать, что именно даст обратно сервис, если к нему обратятся с соответствующим запросом.
Как мы помним, 200 – значение положительного результата нашей функции. Опубликованный запрос принимает следующий вид.
А в самом конфигураторе поиск выглядит так.
Забив же адрес в браузере, мы проследим ответ в форме сериализованных сведений.
Запрос на CustomerCode
Теперь разберем код, который позволит по идентификатору найти искомое лицо. Выполняется это также несложно.
Сначала сформируем сам запрос, который направим через 1С веб-сервис rest. Выглядит так.
Функция понятна. Если данных не найдено, то после параметра then у нас сработает следующая строка.
Как видим, в этом случае ответ не выдается. Очевидно, ведь его просто нет, по указанному идентификатору в базе никаких контрагентов не находится. Что же следует после else.
Правильно, при найденном номере автоматически заполняется карточка. Вносятся сведения по имени, номеру смартфона и электронной почте. Соответственно, итоговое искомое лицо и вся его характеристика найдена.
И не забываем про сериализацию, в противном случае отправку совершить будет невозможно.
Это тоже своего рода защита, как S в протоколе. То есть, 1С HTTP сервисы и HTTPS отличаются только степенью защищенности пользовательских данных.
Формируем ответ
Мы нашли нужного человека. Теперь нам необходимо, чтобы программа выдала данные в приемлемой форме. Вот в такой.
Итог.
Касательно post – алгоритм такой же.
И выдача приобретает такой вид.
Заключение
Как вы понимаете, для человека, который не прошел специальное обучение, освоение этой техники с нуля будет довольно проблематичным. Придется потратить значительное время, чтобы освоиться. Поэтому созданием и настройкой обычно занимаются профессионалы. Если же на вашем предприятии такого сотрудника нет, то логично будет пройти обучение. Ведь если не работает HTTP сервис 1С и обмен данными через 1C, настройка – в 90% и является причиной случившегося. Просто неверны базовые параметры. Соответственно, чтобы не парализовать производство всего отдела, к работе стоит допускать только компетентного человека, прошедшего соответствующий курс.
Количество показов: 8638
|
|||
Slashman6667
24.07.21 — 19:31 |
Друзья, нужна помощь. Весь день мучаюсь, но так и не нашел решение. Задача — вызвать http-сервис. База опубликована, веб-сервисы(!!!) видны, сама база в браузере открывается… default.vrd и т.п. все настроено… Но именно http-сервис не работает. http://localhost/MO/hs/HTTPCallback/A/B/C/D/E/F/J — путь в строке браузера. В чем может быть такая загвоздка? |
||
Смотрящий
1 — 24.07.21 — 19:42 |
Права на сервис какие и какой юзер? |
||
Slashman6667
2 — 24.07.21 — 19:48 |
(1) База файловая. Права на каталог базы полные у пользователя IUSR, также права даны полные на все места куда можно. IUSR также добавлен в группу IIS_IUSRS. Публикация из-под админа естественно делалась. |
||
Slashman6667
3 — 24.07.21 — 19:57 |
В 1С права само собой тоже полные |
||
Slashman6667
4 — 24.07.21 — 20:02 |
Просто еще раз для понимания. Вот например, http://localhost/MO/ws/exchange.1cws?wsdl — работает А то что через /hs/(http-сервисы именно) не пашет. |
||
Slashman6667
5 — 24.07.21 — 20:03 |
Ошибка HTTP 404.0 — Not found Разыскиваемый вами ресурс был удален, было изменено его имя или он временно недоступен. |
||
acht
6 — 24.07.21 — 20:04 |
(0) > В чем может быть такая загвоздка? В несовпадении корневого урла и шаблона сервиса со строкой запроса |
||
Slashman6667
7 — 24.07.21 — 20:36 |
(6) /{id_Reserve}/{id_ComplexReserve}/{EventType}/{ReserveState}/{ComplexState}/{EventDescription}/{CallbackId} — это шаблон HTTPCallback — корневой URL http://localhost/MO/hs/HTTPCallback/A/B/C/D/E/F/J — строка запроса Что не так? |
||
Slashman6667 8 — 24.07.21 — 20:46 |
Все, вопрос решен… Но как я не понял… Просто перписал руками строку запроса заново))) Может какие-то символы были внутри другой раскладки… Фиг знает… |
Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.
Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия).
В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux без графической оболочки, то публикация через привычное окно конфигуратора становится невозможной.
Аналогичная ситуация возникает, когда на этой машине отсутствует клиент 1С:Предприятия и, следовательно, становится невозможным запуск конфигуратора.
О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.
Отметим, что при ручной настройке публикации можно допустить различные ошибки. Описания которых и приведены в этой статье.
Итак, что делать, если не получается опубликовать веб-сервис 1С?
Список возможных ошибок:
1. Job for httpd.service failed because the control process exited with error code.
2. Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
3. Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
4. Не запускается 1С: Предприятие при подключении через веб сервер Linux. «Selinux policy enabled.»
5. Ошибка HTTP 404 Not found
6. Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Job for httpd.service failed because the control process exited with error code.
Полный текст ошибки:
Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details. |
Описание ошибки:
После выполнения всех настроек файлов публикации базы или сервиса 1С:Предприятия. При попытке запустить веб-сервер — выдается ошибка и веб-сервер не запускается.
Данное сообщение говорит о том, что процесс был завершен с ошибкой, более подробную информацию о которой можно получить в журнале. Как это сделать — описано далее.
Решение:
Необходимо проанализировать более подробное описание ошибки. Его можно получить следующим образом.
В результате выполнения команды будет выдано более подробное сообщение об ошибке.
Разбор, которых приведен в статье далее.
Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
Полный текст ошибки:
сен 16 11:41:54 1s-on-web-1 httpd[6596]: AH00526: Syntax error on line 6 of /etc/httpd/e1c/base.conf: сен 16 11:41:54 1s-on-web-1 httpd[6596]: Invalid command ‘forceHandler’, perhaps misspelled or defined by a module not included in the server configuration |
Описание ошибки:
Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.
Решение:
Исправить ошибку в строке сообщения. В данном случае допущена опечатка в имени команды.
vim /etc/httpd/e1c/base.conf |
Пример ошибочной строки. Команды forceHandler — на самом деле не существует :
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted forceHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Исправим файл. Укажем корректное наименвоание команды — SetHandler:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
Полный текст ошибки:
Начат процесс запуска юнита httpd.service. сен 16 12:18:11 1s-on-web-1 httpd[9857]: AH00526: Syntax error on line 7 of /etc/httpd/e1c/base.conf: сен 16 12:18:11 1s-on-web-1 httpd[9857]: Invalid command ‘ManagedApplicationDescriptor’, perhaps misspelled or defined by a module not included in the server configuration сен 16 12:18:11 1s-on-web-1 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE сен 16 12:18:11 1s-on-web-1 systemd[1]: Failed to start The Apache HTTP Server. — Subject: Ошибка юнита httpd.service |
Описание ошибки:
Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».
В этом можно убедиться выполнив команду.
cat /etc/httpd/conf/httpd.conf | grep wsap |
Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует — модуль не прописан.
Решение:
Отредактировать конфигурационный файл httpd.conf
vim /etc/httpd/conf/httpd.conf |
Добавить строку:
LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap24.so» |
Не запускается 1С: Предприятие при подключении через веб сервер, Linux. «Selinux policy enabled.»
Полный текст ошибки:
cat /var/log/httpd/error_log |
Описание проблемы:
При попытке запустить клиента 1С:Предприятие через веб-сервер (строка подключения вида: «ws=»http://1s-on-server/bast»;») — сеанс не запускается.
Но при этом, таже самая база — запускается успешно при прямом подключении к серверу 1С:Предприятия (строка подключения вида Srvr=»1s-on-server»;Ref=»base»;).
Решение:
1. Убедиться, что selinux, действительно, работает.
Если видим Enforcing, значит переходим к следующему пункту.
2. Отключить selinux:
3. Проверить, что настройка выполнена.
Permissive – включен, но ничего не запрещает.
Enforcing – включен, работает, и запрещает.
Ошибка HTTP 404 Not found
<strong>Пример полного текста ошибки:</strong> 404 Error in Request. HTTP Status: 404 — Not found |
<img class=«wp-image-809» src=«https://1s-on.ru/wp-content/uploads/2020/12/post-802-image-3.jpeg» /> HTTP 404 Not found The webpage cannot be found |
Описание:
После публикации базы на сервере, при попытке перейти по веб-ссылке базы из браузера– выдается ошибка.
Проще говоря, браузер сообщает, что не нашел такой папки публикации на сервере.
Решение:
Ошибка часто связана с неправильным вводом имени базы/папки публикации.
Необходимо проверить имена папок с конфигурационными файлами базы, а также имена базы и папок в самих конфигурационных файлах.
Проверить имена публикации базы(выделено):
1. Конфигурационный файл *.conf:
vim /etc/httpd/e1c/base.conf |
следующего содержания:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
2. Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?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=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису.
Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса: 1s-on-1c-1/base/ws/ws_1s_on_1.1cws
Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Пример полного текста ошибки:
Описание:
При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.
Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.
Решение:
Проверить имена веб-сервисов и ссылок на них.
-
- Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?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=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.
В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.
Автор Lilian, 14 сен 2015, 16:36
0 Пользователей и 1 гость просматривают эту тему.
Добрый день! При открытии в 1с 8.3 таких документов, как поступление товаров и услуг, реализация товаров и услуг, отчет комитентам, выскакивает дополнительное окно «ошибка НТТР 400». Если открывать, например, списание с расч. счета или ведомость на выплату з/п, таких проблем не возникает.
При создании копии базы в процессе ее формирования выдает такое же сообщение и после продолжает копирование, как обычно.
При формировании нового документа, например, поступления товаров и услуг, при выборе контрагента выдается аналогичное сообщение.
Делалось тестирование и исправление, ситуация не изменилась.
При загрузке более старых копий базы при открытии упомянутых ранее документов выдается такое же сообщение, например, выбираю базу полугодичной давности.
Что можно сделать и как исправить данную ошибку?
Заранее спасибо!
Это ошибка проверки Контрагента по ИНН и КПП.
Посмотри,не включена ли у тебя данная проверка:
Меню «Администрирование» — Настройки проверки контрагентов. Поставить (снять) галочку «Проверять контрагентов с помощью веб-сервиса ФНС»
Цитата: Raven от 14 сен 2015, 17:15
Это ошибка проверки Контрагента по ИНН и КПП.
Посмотри,не включена ли у тебя данная проверка:
Меню «Администрирование» — Настройки проверки контрагентов. Поставить (снять) галочку «Проверять контрагентов с помощью веб-сервиса ФНС»
Спасибо Вам за ответ. Только возникает вопрос: у меня эта функция включена с того момента, как она появилась в 1С, и на данный момент она мне необходима, т.к. работаем с большим количеством контрагентов. Возможны какие-то варианты решения проблемы при включенной проверке контрагента?
Самое интересное, что еще 11.09.2015г. все работало отлично.
Такая проблема может возникнуть в один прекрасный момент при отсутствии обновления платформы и релизов или одно от другого не зависит?
Добрый день, номер платформы и релиза тут не при чем, ошибка возникает при обращении к веб-серверу ФНС. Может сервер у них упал, кто его знает.
Скорее всего они в ближайшее время устранят, так что можно чуть чуть потерпеть.
Всем доброго времени суток!
Абсолютно аналогичная проблема на нашей фирме началась с понедельника (14.09.2015). Немного стало легче на душе когда почитал, что возможно случилась беда с веб-сервером ФНС. Да и скорее всего так и есть, мы тут у себя ничего не меняли. Подождем некоторое время, надеюсь все уладится.
Доброго времени суток. У нас проблемы с аналогичной ошибкой, но в меню Администрирование у нас нет пункта «Настройки проверки контрагентов».
Такая проблема возникла у всех моих клиентов после обновления платформы на 8.3.6.2299. При этом конфигурации разные, обновленные:
1С:Подрядчик строительства 4.0. Управление финансами, редакция 3.0 (3.0.41.4), Бухгалтерия предприятия…
Цитата: vsl89 от 16 сен 2015, 09:27
Доброго времени суток. У нас проблемы с аналогичной ошибкой, но в меню Администрирование у нас нет пункта «Настройки проверки контрагентов».
Он может быть в другом месте Администрирование — Поддержка и обслуживание — Работа с контрагентами.
Теги:
- Форум База
-
►
Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4 -
►
Конфигурирование, программирование в 1С Предприятие 8 -
►
1C 8.3 — ошибка HTTP 404
Похожие темы (5)
Поиск
В последнее время при открытии в 1с 8.3 таких документов, как поступление товаров и услуг, реализация товаров и услуг, отчет комитентам, выскакивает дополнительное окно «ошибка НТТР 400″. Если открывать, например, списание с расчетного счета или ведомость на выплату заработанной платы, таких проблем не возникает. Причем такая ошибка может возникать не всегда и вероятность ее возникновения практически не предсказуема. Соответственно бухгалтера начинают бить тревогу видя на экране вот это.
На самом деле бить тревогу не надо, это означает только одно: «Данная проблема появляется на любых версиях Бухгалтерии 3.0, где включена проверка контрагентов. Скорее всего, не работают сервера налоговой, к которым обращается запрос, любо к нему нет доступа.
Если не работают сервера налоговой, то Вам скорее всего ни кто не поможет, пока специалисты из налоговой не исправят данную проблему. А вот если к ним нет доступа, то попросите Вашего системного администратора решить данную проблему.
Так же решит данный вопрос простое отключение функции проверки контрагентов в самой 1С.
Меню «Администрирование» -> «Настройки проверки контрагентов». Поставить (снять) галочку «Проверять контрагентов с помощью веб-сервиса ФНС».
Он может быть в другом месте: «Администрирование» -> «Поддержка и обслуживание» -> «Работа с контрагентами». См. ниже.
И затем снять галку.
Slashman6667
24.07.21
✎
19:31
Друзья, нужна помощь.
Весь день мучаюсь, но так и не нашел решение.
Задача — вызвать http-сервис.
База опубликована, веб-сервисы(!!!) видны, сама база в браузере открывается… default.vrd и т.п. все настроено… Но именно http-сервис не работает.
http://localhost/MO/hs/HTTPCallback/A/B/C/D/E/F/J — путь в строке браузера.
В чем может быть такая загвоздка?
Смотрящий
24.07.21
✎
19:42
Права на сервис какие и какой юзер?
Slashman6667
24.07.21
✎
19:48
(1) База файловая. Права на каталог базы полные у пользователя IUSR, также права даны полные на все места куда можно. IUSR также добавлен в группу IIS_IUSRS.
Публикация из-под админа естественно делалась.
Slashman6667
24.07.21
✎
19:57
В 1С права само собой тоже полные
Slashman6667
24.07.21
✎
20:02
Slashman6667
24.07.21
✎
20:03
Ошибка HTTP 404.0 — Not found
Разыскиваемый вами ресурс был удален, было изменено его имя или он временно недоступен.
acht
24.07.21
✎
20:04
(0) > В чем может быть такая загвоздка?
В несовпадении корневого урла и шаблона сервиса со строкой запроса
Slashman6667
24.07.21
✎
20:36
(6)
/{id_Reserve}/{id_ComplexReserve}/{EventType}/{ReserveState}/{ComplexState}/{EventDescription}/{CallbackId} — это шаблон
HTTPCallback — корневой URL
http://localhost/MO/hs/HTTPCallback/A/B/C/D/E/F/J — строка запроса
Что не так?
Slashman6667
24.07.21
✎
20:46
Все, вопрос решен… Но как я не понял… Просто перписал руками строку запроса заново))) Может какие-то символы были внутри другой раскладки… Фиг знает…
На чтение 5 мин Опубликовано Обновлено
Один из наиболее распространенных кодов ошибок, с которыми пользователи 1С сталкиваются, — это ошибка 404. Если вы когда-либо встречались с этим кодом ошибки, вы знаете, как это может быть разочаровывающе и сбивающе с толку. Вместо ожидаемого контента вы видите сообщение «Страница не найдена» или «Error 404». Что же вызывает эту ошибку и как ее можно исправить?
Основная причина ошибки 404, которую вы можете столкнуться в 1С, — это отсутствие или неправильная ссылка на запрашиваемый ресурс. Когда вы переходите по ссылке или отправляете запрос на сервер, сервер пытается найти соответствующий файл или страницу. Если сервер не может найти запрашиваемый ресурс, он возвращает код ошибки 404. Это может произойти, если файл был удален, перемещен, переименован, или ссылка на него была неправильно указана.
Для исправления ошибки 404 в 1С, вам нужно проверить ссылку на запрашиваемый ресурс. Убедитесь, что она правильно указана и ведет к существующему файлу или странице. Если ссылка недействительна, обновите ее или исправьте ошибку. Если проблема не в ссылке, проверьте, доступен ли файл или страница на сервере. Если файл был перемещен или переименован, обновите ссылки на него в коде программы или перенесите файл обратно на свое место.
Содержание
- Код ошибки 404 в 1С: причины и способы решения
- Причины ошибки 404 в 1С
- Способы решения ошибки 404 в 1С
- Причины возникновения ошибки 404 в 1С
- Способы решения проблемы с кодом ошибки 404 в 1С
Код ошибки 404 в 1С: причины и способы решения
Код ошибки 404 в программе 1С:Бухгалтерия означает, что запрашиваемый документ или страница не найдены. Это может произойти по разным причинам и влиять на работу системы. В данной статье рассмотрим основные причины возникновения ошибки 404 и возможные способы ее устранения.
Причины ошибки 404 в 1С
Ошибки 404 в 1С могут возникать по разным причинам. Наиболее распространенные из них:
- Несуществующий путь или ссылка. Если вы пытаетесь открыть документ или страницу, которая не существует в системе, то возникает ошибка 404. В этом случае, необходимо проверить правильность указания пути или ссылки.
- Удаление или перемещение документа. Если документ был удален или перемещен в другую папку, то ссылка на него становится недействительной и пользователь получает ошибку 404. В этом случае, необходимо найти новое местоположение документа и обновить ссылку на него.
- Отсутствие прав доступа. Если у пользователя нет достаточных прав для просмотра запрашиваемого документа или страницы, то система выдает ошибку 404. В этом случае, необходимо проверить права доступа пользователя и выдать ему необходимые разрешения.
Способы решения ошибки 404 в 1С
Для устранения ошибки 404 в программе 1С:Бухгалтерия можно применить следующие способы:
- Проверьте правильность указания пути или ссылки. Убедитесь, что вы правильно указываете путь к документу или странице и нет опечаток.
- Проверьте, не был ли документ удален или перемещен. Если документ был удален или перемещен, найдите его новое местоположение и обновите ссылку на него.
- Проверьте права доступа. Убедитесь, что у пользователя есть достаточные права для просмотра запрашиваемого документа или страницы.
- Обратитесь к системному администратору. Если причина ошибки 404 неизвестна или ее невозможно устранить самостоятельно, рекомендуется обратиться к системному администратору.
В случае ошибки 404 в программе 1С:Бухгалтерия необходимо проанализировать причины ее возникновения и применить соответствующие способы решения. Правильное и своевременное решение этой проблемы поможет избежать проблем в работе системы и обеспечить ее стабильную работу.
Причины возникновения ошибки 404 в 1С
Код ошибки 404 в 1С означает, что запрашиваемый объект или страница не найдены. Причина возникновения этой ошибки может быть связана с различными факторами:
- Неверно указанный путь или адрес страницы.
- Удаление или перемещение объекта или страницы в системе 1С без обновления ссылок.
- Неправильно настроенный сервер 1С, который не может обработать запрос и вернуть нужную страницу.
- Ошибка в коде или настройках системы 1С, которая привела к некорректной обработке запроса.
Чтобы исправить ошибку 404 в 1С, необходимо проанализировать возможные причины и принять соответствующие меры:
- Проверить правильность указанного пути или адреса страницы.
- Проверить наличие и правильность ссылок на объект или страницу в других частях системы 1С, например, в отчетах или документах.
- Проверить настройки сервера 1С, убедившись, что он правильно обрабатывает запросы и возвращает нужные страницы.
- Проверить код и настройки системы 1С, исправив возможные ошибки или конфликты.
Исправление ошибки 404 в 1С может потребовать некоторых знаний и опыта работы с системой, поэтому в случае затруднений рекомендуется обратиться к специалистам или разработчикам 1С.
Способы решения проблемы с кодом ошибки 404 в 1С
Ошибки 404 встречаются при работе с программным комплексом 1С и могут быть вызваны разными причинами. В данном разделе обсудим несколько способов решения проблемы с кодом ошибки 404:
- Проверьте URL-адрес
Первым делом, убедитесь, что вы правильно указали URL-адрес веб-страницы или сервиса 1С. Ошибка 404 возникает, когда сервер не может найти запрашиваемый ресурс по указанному адресу. Проверьте URL-адрес на наличие опечаток или неправильного расположения ресурсов. - Проверьте наличие ресурса на сервере
Проверьте, существует ли запрашиваемый ресурс на сервере. Возможно, он был удален, перемещен или переименован. Убедитесь, что ресурс все еще доступен и расположен по указанному адресу. - Перезагрузите сервер 1С
В некоторых случаях, перезагрузка сервера 1С может решить проблему с ошибкой 404. Попробуйте перезагрузить сервер и повторить запрос. - Обновите программный комплекс 1С
Если проблема с ошибкой 404 возникает только с определенным ресурсом или после обновления системы, попробуйте обновить программный комплекс 1С до последней версии. Обновление может исправить ошибки и улучшить совместимость. - Обратитесь в службу поддержки 1С
Если все вышеперечисленные способы не привели к решению проблемы, обратитесь в службу поддержки 1С. Они смогут проанализировать причину ошибки 404 и помочь вам ее устранить.
Обратите внимание, что приведенные способы решения проблемы с кодом ошибки 404 являются лишь рекомендациями и могут не дать 100% гарантии на успешное решение проблемы. В конкретной ситуации, возможно, потребуется дополнительный анализ и настройка системы.
При разработке и настройке программного обеспечения на платформе 1С:Предприятие иногда возникают ошибки. Одна из самых распространенных и неприятных ошибок при работе с веб-клиентом 1С – ошибка 404. Этот код означает, что запрашиваемый ресурс не найден на сервере. Причины возникновения ошибки 404 в 1С могут быть различными и важно знать, как ее устранить.
Одной из основных причин ошибки 404 в 1С является неправильная настройка или отсутствие страницы, на которую происходит обращение. Это может быть вызвано неправильным указанием пути к файлу или его отсутствием в системе. Также, ошибка 404 может возникать при удалении или перемещении файла без соответствующего обновления ссылок на него.
Другой причиной возникновения ошибки 404 может быть неправильная настройка сервера. Если сервер не настроен на обработку запросов к файлам определенного типа, то при попытке загрузить такой файл будет выдана ошибка 404. Также, ошибка 404 может возникать при неправильном конфигурировании сервера 1С или его неполадках.
Ошибка 404 в 1С может быть вызвана и другими причинами, такими как неправильные настройки DNS или прокси-сервера, ошибки в коде программы или баги платформы 1С. В каждом конкретном случае необходимо провести детальный анализ и определить источник ошибки для ее устранения.
Содержание
- Код ошибки 404 в 1С
- Изучение причин возникновения ошибки
- Потенциальные причины ошибки 404
- Поиск проблемного места
- Проверка доступности ресурса
- Изменение настроек сервера
- Корректировка адреса запроса
- Переадресация страницы
- Проверка других кодов ошибок
Код ошибки 404 в 1С
Код ошибки 404 в 1С является одной из наиболее распространенных ошибок, с которыми сталкиваются пользователи данной системы. Этот код ошибки указывает на то, что запрашиваемый ресурс (страница, отчет, обработка или другой объект) не найден.
Причины возникновения ошибки 404 могут быть различными:
- Неправильно указан путь к запрашиваемому ресурсу.
- Запрашиваемый ресурс был удален или переименован.
- Файл с ресурсом был перемещен в другое место.
- Неправильно указаны права доступа к ресурсу.
Чтобы исправить ошибку 404 в 1С, можно предпринять следующие действия:
- Проверьте правильность указания пути к запрашиваемому ресурсу.
- Убедитесь, что ресурс не был удален или переименован.
- Проверьте, что файл с ресурсом не был перемещен в другое место и правильно указан новый путь.
- Убедитесь, что у пользователя есть достаточные права доступа к запрашиваемому ресурсу.
Если причина ошибки 404 не может быть устранена, возможно, потребуется обратиться к администратору 1С или специалисту по данной системе для решения проблемы.
Важно помнить, что ошибка 404 в 1С может возникать не только при работе с локальной версией системы, но и при подключении к удаленному серверу или при работе с web-приложением.
Изучение причин возникновения ошибки
Ошибки с кодом 404 в 1С могут возникать по разным причинам, и для их устранения необходимо изучить их причины. Наиболее распространенные причины возникновения ошибки 404 включают в себя:
- Неверная ссылка или URL
- Устаревшая ссылка или URL
- Удаление или перенос страницы
- Переименование страницы
- Неправильные настройки сервера
- Отсутствие доступа к файлу или странице
Если возникает ошибка 404, первым делом необходимо проверить правильность ссылки или URL. Возможно, ссылка была введена неправильно или содержит ошибки в написании. Также стоит убедиться, что ссылка актуальна и не устарела.
Если ссылка правильная и актуальная, следующим шагом может быть проверка наличия страницы или файла на сервере. Если страница или файл были удалены или перенесены, то возникает ошибка 404. В таком случае, необходимо внести соответствующие изменения и обновить ссылки.
Иногда ошибка 404 может возникать из-за переименования страницы. В этом случае необходимо обновить ссылки на страницу и проверить их правильность.
Неправильные настройки сервера также могут приводить к появлению ошибки 404. Необходимо убедиться, что сервер настроен правильно и все файлы и страницы доступны.
Если доступ к файлу или странице запрещен, то также может возникнуть ошибка 404. В этом случае необходимо проверить настройки доступа к файлу или странице и внести соответствующие изменения.
Изучение причин возникновения ошибки 404 позволит устранить ее и обеспечить корректную работу системы 1С.
Потенциальные причины ошибки 404
1. Ссылка или URL-адрес недоступны:
- Неправильно введенная ссылка или URL-адрес
- Устаревшая ссылка или URL-адрес
- Ссылка или URL-адрес были удалены или перемещены на другую страницу
2. Проблемы на сервере:
- Сервер недоступен или временно недоступен
- Сервер завис или не отвечает на запросы
- Сервер находится под обслуживанием или обновлением
3. Ошибка в программном коде:
- Ошибки в программном коде, которые приводят к неправильной обработке запросов
- Неправильное написание путей или ссылок в коде
- Неправильная настройка сервера или программного обеспечения
4. Отсутствующая страница или контент:
- Страница или контент были удалены или перемещены
- Страница или контент не были загружены на сервер
- Страница или контент находятся в разработке или еще не созданы
5. Ошибка веб-сайта или CMS:
- Проблемы с базой данных или конфигурацией веб-сайта
- Проблемы с платформой управления контентом (CMS)
- Неправильная настройка или установка модулей и плагинов
6. Ошибка веб-браузера:
- Неправильная обработка веб-браузером ответов от сервера
- Кэширование устаревших данных веб-браузером
- Проблемы с расширениями или плагинами веб-браузера
7. Другие возможные причины:
- Неправильные настройки DNS-сервера или прокси
- Проблемы с сетью или интернет-соединением
- Блокировка доступа к странице или контенту
Важно помнить: Ошибка 404 может быть вызвана различными причинами. Чтобы устранить ошибку, необходимо проверить все возможные проблемы, начиная с проверки ссылок и URL-адресов, работоспособности сервера, программного кода и веб-сайта, а также настроек браузера и сети. Если причина ошибки не может быть устранена, возможно, стоит обратиться к веб-разработчику или администратору системы для получения дополнительной помощи.
Поиск проблемного места
Когда при обращении к веб-странице появляется код ошибки 404, необходимо найти место, где возникает проблема. Для этого можно использовать следующие методы:
- Просмотр логов сервера. В логах можно найти информацию о запросах к серверу, включая запросы с ошибкой 404. Это поможет определить, какая страница вызывает проблему.
- Проверка ссылок на странице. Если на странице присутствуют ссылки или ресурсы (например, изображения), необходимо убедиться, что они указаны правильно. Даже одна неправильно указанная ссылка может вызвать ошибку 404.
- Проверка файла .htaccess. В файле .htaccess можно задать правила перенаправления (redirect) или перезаписи (rewrite) адресов. Неправильно заданные правила могут вызвать ошибку 404.
- Проверка конфигурации сервера. Некорректные настройки сервера могут приводить к неверной обработке запросов и возникновению ошибки 404. Необходимо убедиться, что все настройки сервера установлены правильно.
- Использование инструментов для проверки ссылок. Существуют специальные программы и онлайн-сервисы, которые помогают найти недоступные страницы на сайте и их источники. Такие инструменты могут значительно упростить поиск проблемы.
После того как место, вызывающее ошибку 404, будет найдено, можно приступить к ее устранению. Решение проблемы может включать изменение ссылок, проверку настроек сервера или внесение правок в файл .htaccess.
Важно также помнить, что наличие ошибки 404 может негативно сказываться на впечатлении пользователей о сайте. Поэтому рекомендуется проводить систематическую проверку и обновление ссылок на сайте, чтобы избежать появления ошибок данного типа.
Проверка доступности ресурса
Код ошибки 404 в 1С указывает на то, что запрашиваемый ресурс не найден на сервере. Чтобы устранить эту ошибку, необходимо проверить доступность ресурса.
Для начала следует убедиться, что адрес ресурса указан корректно. Проверьте правильность написания адреса и наличие опечаток.
Если адрес указан правильно, следующим шагом может быть проверка доступности сервера. Убедитесь, что сервер, на котором размещен ресурс, работает исправно. Для этого можно попробовать открыть другие страницы или ресурсы на этом сервере. Если проблема возникает только с одним конкретным ресурсом, то ошибка 404 может быть связана с его отсутствием на сервере.
Также возможно, что ресурс был удален или перемещен на другую страницу. В этом случае, рекомендуется обратиться к системному администратору или веб-разработчику для получения актуальной информации о размещении ресурса.
Если вы являетесь веб-разработчиком, следует проверить наличие ресурса в файловой системе сервера. Убедитесь, что файл с указанным именем действительно существует и доступен для чтения. Также убедитесь, что права доступа к файлу настроены корректно.
Если все вышеперечисленные проверки не дали результата, возможно, проблема связана с настройками сервера. В этом случае, рекомендуется обратиться к системному администратору или провайдеру хостинга для получения помощи в устранении ошибки.
Изменение настроек сервера
Одной из причин возникновения ошибки 404 в 1С может быть неправильная конфигурация сервера. Для устранения этой проблемы необходимо произвести изменения настроек сервера.
В первую очередь, необходимо проверить файл настроек сервера. В большинстве случаев он называется «httpd.conf» или «nginx.conf». Данный файл содержит основные настройки сервера и позволяет управлять его работой.
Прежде чем вносить изменения, рекомендуется создать резервную копию файла настроек, чтобы иметь возможность восстановить его в случае ошибок.
Одним из наиболее распространенных изменений, которые могут помочь устранить ошибку 404, является настройка обработки ошибок. Для этого необходимо найти соответствующую секцию в файле настроек сервера и добавить следующий код:
ErrorDocument 404 /path/to/error-page.html
Здесь «/path/to/error-page.html» — путь к файлу с сообщением об ошибке. Вы можете указать любой другой путь в соответствии с вашими потребностями.
Также, при возникновении ошибки 404, может быть полезно настроить перенаправление пользователя на главную страницу сайта. Для этого можно использовать следующий код:
RewriteEngine On RewriteRule ^(.*)$ /index.php [L]
Здесь «/index.php» — путь к главной странице вашего сайта. Если у вас другой файл, необходимо указать его путь вместо «/index.php».
После внесения изменений в файл настроек сервера, необходимо перезапустить сервер для применения изменений.
Теперь, при возникновении ошибки 404, сервер будет обрабатывать ее в соответствии с настройками, которые вы задали.
Корректировка адреса запроса
Один из способов устранения ошибки 404 в 1С – корректировка адреса запроса.
Возможны следующие причины возникновения ошибки:
- Неправильно указан адрес страницы. Проверьте, что вы правильно вводите URL страницы.
- Проблемы с регистром символов в адресе. Убедитесь, что вы правильно используете верхний и нижний регистр символов в адресе.
- Ссылка на страницу была удалена или перемещена. Если страница была удалена или перемещена, вам нужно обновить ссылку.
Для исправления адреса запроса выполните следующие действия:
- Проверьте, что вы правильно ввели URL страницы.
- Убедитесь, что вы правильно используете верхний и нижний регистр символов в адресе страницы.
- Проверьте, что страница не была удалена или перемещена. Если страница была удалена или перемещена, вам нужно обновить ссылку.
Если после корректировки адреса запроса ошибка 404 продолжает возникать, возможно, проблема связана с другими факторами. В таком случае рекомендуется обратиться к системному администратору или специалисту по 1С для дальнейшего решения проблемы.
Переадресация страницы
Переадресация страницы — это процесс отправки пользователя на другую страницу, отличную от той, которую он пытается посетить. В большинстве случаев, переадресация используется для перенаправления пользователя с устаревшей или удаленной страницы на новую, актуальную страницу.
Код ошибки 404, или «Страница не найдена», часто возникает, когда пользователь пытается получить доступ к несуществующему адресу. Вместо вывода ошибки, браузер может автоматически выполнить переадресацию на другую страницу.
Существует два основных типа переадресации:
- 301 переадресация (Moved Permanently) — используется для указания, что запрашиваемая страница была перемещена постоянно на новый адрес. Переадресация типа 301 рекомендуется использовать, если старая страница больше не существует и нужно передать все ее ссылочное значение на новую страницу.
- 302 переадресация (Found/Temporary Redirect) — используется для указания, что запрашиваемая страница была временно перемещена на новый адрес. Переадресация типа 302 подходит в случаях, когда старая страница временно недоступна и должна быть восстановлена в будущем.
Переадресация страницы может быть реализована с помощью таких инструментов, как файл .htaccess (веб-сервер Apache) или специальные инструкции в коде веб-страницы. В 1С-Битрикс, открытой платформе для создания сайтов и веб-приложений, переадресация может быть настроена с помощью компонента «Переадресация». Для этого необходимо указать статус переадресации и путь к новой странице.
Применение переадресации страницы позволяет улучшить пользовательский опыт и сохранить ссылочное значение страницы при изменении ее адреса. Однако, при настройке переадресации необходимо быть осторожным, чтобы избежать создания циклических перенаправлений и необходимости дополнительного взаимодействия со стороны пользователя.
Проверка других кодов ошибок
Код ошибки 404 – это наиболее распространенная ошибка, которая возникает, когда запрашиваемая страница не найдена на сервере. Однако, помимо этого, существуют и другие коды ошибок, которые также могут возникать в процессе работы с веб-сайтами.
Один из таких кодов ошибок – 403 Forbidden. Этот код означает, что у вас нет разрешения на доступ к запрашиваемой странице. Возможные причины возникновения данной ошибки могут быть следующими:
- Несоответствие прав доступа. Если у вас нет прав доступа к этой странице, сервер откажет вам в доступе и вы получите ошибку 403.
- Запрещенные параметры запроса. Если вы пытаетесь получить доступ к запрещенным параметрам запроса, сервер также может отклонить ваш запрос и вернуть ошибку 403.
- Заблокированный IP-адрес. Если ваш IP-адрес добавлен в черный список сервера или имеет ограниченный доступ, вы также можете столкнуться с ошибкой 403.
Другой тип ошибки, с которым вы можете столкнуться, – это ошибка 500 Internal Server Error. Этот код означает, что на сервере произошла внутренняя ошибка, которая не позволяет правильно выполнить запрос. Причины возникновения данной ошибки могут быть разными:
- Проблемы с кодом сервера. Если на сервере есть ошибки в его конфигурации или программируемом коде, это может привести к ошибке 500.
- Несовместимость программного обеспечения. Если программа, используемая сервером, несовместима с конфигурацией сервера, это также может вызвать ошибку 500.
- Нехватка ресурсов сервера. Если сервер не имеет достаточно ресурсов (например, процессора, памяти или дискового пространства) для обработки запроса, он может вернуть ошибку 500.
Если вы столкнулись с ошибкой 403 или 500 на веб-сайте, важно обратиться к системному администратору или разработчику сайта для устранения проблемы.
Код ошибки | Описание |
---|---|
403 | Запрещенный доступ |
500 | Внутренняя ошибка сервера |