1с линк ошибка 404

В этой статье разбираются демонстрационные HTTP-сервисы, созданные в демонстрационной конфигурации «Управляемое приложение» для платформы «1С:Предприятие» версии 8.3.5 и старше.

Цель статьи – помочь разобраться с использованием технологии HTTP-сервисов и показать практическое применение некоторых неочевидных механизмов.

Демонстрационная база «Управляемое приложение» представляет собой простую конфигурацию, в которой создано большинство объектов, которые могут понадобиться при автоматизации деятельности небольшой торговой фирмы. В частности, в ней присутствует справочник «Товары». Элементами этого справочника мы будем управлять при помощи HTTP-сервиса. Такой сценарий может возникнуть, например, при интеграции с интернет-магазином или другой корпоративной ИС, в которую заносится первичная информация о товарах.

Для удобства изучения описываемых HTTP-сервисов рекомендуется включить авторизацию ОС при публикации на веб-сервере и настроить пользователю с ролью «Администратор» использование windows-аутентификации от имени пользователя ОС, под которым будет проходить изучение.

HTTP-сервис «Товары»

HTTP-сервис «Товары» написан в REST-стиле. Он позволяет получать и удалять элементы и группы в справочнике товаров. Доступ к элементу осуществляется с помощью его пути в иерархии.

Например, для того чтобы получить информацию о товаре «Ряженка» с кодом 000000027, входящем в группу «Молочные» с кодом 000000099, которая входит, в свою очередь в группу «Продукты» с кодом 000000011, в браузере надо будет набрать http:// /hs/Products/000000011/000000099/000000027. Если база опубликована по пути http://localhost:8090/Platform8Demo/, то путь будет:

http://localhost:8090/Platform8Demo/ hs /Products/000000011/000000099/000000027.

Из чего состоит путь? Рассмотрим по частям:

В нашем случае у сервиса один дочерний объект шаблон URL. В свойстве «Шаблон» этого объекта записана строка “/*». Звездочка – это специальное значение, указывающее на то, что к данному шаблону подходят любые URL. В нашем случае необходимость использования такого шаблона (т.е. по сути отказа от ограничения URL) обусловлена произвольной глубиной иерархии товаров.

У нашего шаблона URL имеются два дочерних объекта, соответствующих HTTP-методам GET (получение) и DELETE (удаление). Именно в них указаны обработчики, которые будут вызываться при обращении к HTTP-сервису.

Для обработки запроса с использованием HTTP-метода GET (а именно такой будет создан, если вставить указанные выше URL в браузер) используется функция ПутьКТоваруGET. Рассмотрим эту функцию немного подробнее:

Сформированное XML-представление используется в ответе сервиса:

HTTP-сервис «ОписанияТоваров»

HTTP-сервис «ОписанияТоваров» предназначен для получения и редактирования информации о товарах. Он написан в RPC (Remote Procedure Call) стиле, похожем на SOAP. В качестве дополнительного условия также предположим, что заказчик, для которого мы разрабатываем конфигурацию, потребовал предусмотреть наличие нескольких версий API где-то в будущем.

Обращение к сервису выполняется при помощи запросов с использование метода POST к URL следующего вида:

Рассмотрим, из чего состоит путь:

код состояния 404 httpсоединение 1с

код состояния 404 httpсоединение 1с

Видно, что сервер передал описание товара в формате html.

Рассмотрим, как реализован сервис. Объект метаданных HTTP-сервиса имеет единственный дочерний шаблон URL, в котором прописан следующий шаблон:

код состояния 404 httpсоединение 1с

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

Обращаем внимание, что коллекция «ПараметрыURL» запроса содержит единственное значение – согласно количеству сегментов, которые могут принимать разные значение.

Для возврата описания товара мы устанавливаем тело запроса:

Аналогично, для установки описания товара мы получаем его из запроса:

При установке описания из тела запроса мы проводим минимальную проверку корректности того, что прислал нам клиент, в данном случае – только типа содержимого, изучая заголовок «Content-type».

Для того чтобы протестировать установку тела запроса достаточно заполнить его в Fiddler:

код состояния 404 httpсоединение 1с

Отладка кода HTTP-сервиса

Отладка кода HTTP-сервиса аналогична отладке код SOAP веб-сервиса. Для включения отладки нужно:

Разрешение отладки на веб-сервере

Для разрешения отладки на веб-сервере нужно перейти на вкладку «Прочие» диалога публикации на веб-сервере, установить флаг «разрешить отладку» и указать адрес отладчика. Для локальной отладки можно указать tcp://localhost

код состояния 404 httpсоединение 1с

То же самое можно сделать вручную, исправив vrd-файл, см документацию.

Включение автоматического подключения

Для того чтобы платформа автоматически подключалась для отладки к вызываемым HTTP-сервисам нужно:

Помните, что флажок следует устанавливать при каждом запуске конфигуратора, в котором требуется отладка HTTP-сервисов.

Заключение

В статье рассмотрены основные аспекты программирования HTTP-сервисов в «1С:Предприятии», в частности:

Также показано, как можно их тестировать при помощи программы Fiddler. Более полные справочные материалы можно найти в ИТС по постоянному адресу.

Источник

Архив метки: 404 Not Found

Код состояния HTTP — это часть строки заголовка, ответа веб сервера на запрос клиента, информирующая о результате запроса и о том, что клиент должен предпринять далее

Код состояния HTTP — это часть строки заголовка, ответа веб сервера на запрос клиента, информирующая о результате запроса и о том, что клиент должен предпринять далее. Думаю не все знают как выглядит заголовок ответа сервера, зато уверен, каждый, пользующийся интернетом, не раз сталкивались, со страницей 404 Not Found или 403 Forbadden. Это и есть, видимый пользователю результат, выдачи сервером, того или иного кода статуса в строке заголовке.

Коды состояния HTTP, разделены на 5 категорий. Клиент может быть не знаком с тем или иным кодом ответа HTTP, однако он должен отреагировать согласно категории кода. Итак протокол HTTP поддерживает следующие коды статуса, разделенные по категориям:

1xx: Information — информационные

2xx: Success — Успешное завершение

3xx: Redirection — Редирект ( перенаправление )

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

Некоторые клиенты некорректно работают с редиректами 301 и 302, применяя в запросе ко второму ресурсу метод GET, несмотря на то, что первый запрос был сделан с использованием другого метода. В протоколеHTTP версии 1.1, вместо ответа статуса 302, были введены дополнительные коды ответов, 303 и 307. Изменять метод, необходимо только в случает ответа сервера со статусом 303, в остальных случаях использовать исходный метод.

300 Multiple Choices — Несколько вариантов выбора. По запрошенному URI, существует несколько вариантов ресурса, различных по MIME типу. языку или другим признакам. В ответе сервера, передается список альтернатив, выбираемый клиентским приложением автоматически или самим пользователем. Появился в протоколе версии HTTP/1.0. 301 Moved Permanently — Перемещёно окончательно. Запрошенный ресурс был окончательно перемещен на URI, указанный в строке заголовка Location, ответа сервера. Некоторые клиенты, при обработке данного кода, ведут себя некорректно, см. выше. Появился в протоколе версии HTTP/1.0. 302 Found — Найдено ( Moved Temporarily ) Данный код статуса сообщает клиенту, что ресурс временно доступен по другому URI, указанному в строке заголовка Location, заголовка ответа сервера. Данный код используется например, при согласовании содержимого ( Content Negotiation ), выполняемого сервером. Появился в протоколе версии HTTP/1.0. 303 See Other — Смотреть другое. Документ из запрошенного URI, нужно запросить по адресу, указанному в строке заголовка Location, заголовка ответа сервера, используя метод GET, невзирая на то, каким методом был сделан первый запрос. Появился в протоколе версии HTTP/1.1. 304 Not Modified — Не изменялось. Данный код выдается в случае запроса документа, методом GET, с использованием заголовков If-Modified-Since или If-None-Match, и документ не был изменен с указанного момента времени. Появился в протоколе версии HTTP/1.0. 305 Use Proxy — Использовать прокси сервер. Запрос к ресурсу, должен выполняться через прокси-сервер., адрес которого, указан в строке заголовка Location, заголовка ответа сервера. Появился в протоколе версии HTTP/1.1. 307 Temporary Redirect — Временное перенаправление Запрошенный ресурс временно доступен по URI, указанному в строке заголовка Location, заголовка ответа сервера. Появился в протоколе версии HTTP/1.1.

4xx: Client Error — Ошибка клиента

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

400 Bad Request — Плохой запрос. Из-за синтаксической ошибки, запрос не был понят сервером. Появился в протоколе версии HTTP/1.0. 401 Unauthorized — Не авторизован. Ресурс требует идентификации пользователя. Клиентское приложение запрашивает у пользователя данные для аутентификации ( имя, пароль ) и передает их на сервер в заголовке WWW-Authenticate. Если данные указаны не правильно, будет снова выдан этот-же код статуса. Появился в протоколе версии HTTP/1.0. 402 Payment Required — Необходима оплата. Пока не используется. Появился в протоколе версии HTTP/1.1. 403 Forbidden — Запрещено. Сервер отказал в доступе к запрошенному ресурсу ввиду ограничений. Ограничения могут быть любыми, установленными администратором сервера, или определенным веб приложением. Например, в целях безопасности, закрыт доступ к файлу, .htacces или .htpasswd или к закрытой директории сайта, или в случае, когда аутентификация должна производится через веб приложение ( например сайтовый движок ), ну или блокировка по IP адресу, в случае слишком частых обращений. Появился в протоколе версии HTTP/1.0. 404 Not Found — Не найдено. Сервер не нашел запрошенный ресурс по указанному адресу. Кроме того данный код ответа можно использовать вместо 403, с целью, скрыть расположение документа, доступ к которому запрещен. Появился в протоколе версии HTTP/1.0. 405 Method Not Allowed — Метод не поддерживается. Клиент попытался использовать метод, недопустимый для данного ресурса. Сервер передает в заголовке, строку Allow, содержащую список допустимых методов. Появился в протоколе версии HTTP/1.1. 406 Not Acceptable — Не приемлемо. Запрошенный ресурс, не удовлетворяет, запрошенные характеристики. В случае, если запрос был сделан не методом HEAD, сервер вернет список допустимых характеристик запрошенного ресурса. Появился в протоколе версии HTTP/1.1. 407 Proxy Authentication Required — Необходима прокси авторизация. Данный код статуса, аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Появился в протоколе версии HTTP/1.1. 408 Request Timeout — Время ожидания истекло. Истек таймаут ожидания передачи данных, между сервером и клиентом. Появился в протоколе версии HTTP/1.1. 409 Conflict — Конфликт. Конфликтная ситуация при обращении к ресурсу. Такое может произойти, например, при попытке одновременного изменения файла, методом PUT, несколькими клиентами. Появился в протоколе версииHTTP/1.1. 410 Gone — Удалён. Данный ответ выдается в случае, если документ был по указанному URI, но в данный момент удален. Появился в протоколе версии HTTP/1.1. 411 Length Required — Необходима длина. Этот код статуса говорит о том, что для данного URI, в заголовке запроса, должно быть указано значение в поле Content-Length. Появился в протоколе версии HTTP/1.1. 412 Precondition Failed — Условие «ложно. Данный код выдается в случае, если ни одно из условных полей заголовка не было удовлетворено. Появился в протоколе версии HTTP/1.1. 413 Request Entity Too Large — Запрошены слишком большие данные. Данный код выдается, если сервер по каким-либо причинам, не может передать, требуемый объем данных. Если это временная проблема, сервер может указать время, по истечении которого можно будет попробовать повторно запросить ресурс, в строке заголовка, Retry-After. Появился в протоколе версии HTTP/1.1. 414 Request-URI Too Long — Запрашиваемый URI слишком длинный. Слишком длинная строка запроса. Такая ситуация может произойти, например в случае попытки, передать данные методом GET, вместо использования POST. Появился в протоколе версии HTTP/1.1. 415 Unsupported Media Type — Неподдерживаемый тип данных. Сервер, по какой-то причине, отказался обрабатывать запрошенные данные, используемым методом. Появился в протоколе версии HTTP/1.1. 416 Requested Range Not Satisfiable — Запрашиваемый диапазон не достижим. В строке заголовка запроса Range, установлен диапазон, выходящий за рамки запрошенного ресурса и отсутствует строка If-Range. Появился в протоколе версии HTTP/1.1. 417 Expectation Failed — Ожидаемое не приемлемо. Сервер не может обработать строку заголовка запроса Expect. Появился в протоколе версии HTTP/1.1. 422 Unprocessable Entity — Необрабатываемый экземпляр. Запрос принят, тип данных может быть обработан, синтаксис XML данных в теле запроса верен, но имеет место логическая ошибка, не позволяющая обработать запрос к ресурсу. Используется в протоколеWebDAV. 423 Locked — Заблокировано. Запрошенный ресурс заблокирован от данного метода. Используется в протоколе WebDAV. 424 Failed Dependency — Невыполненная зависимость. Выполнение запроса, может зависеть от результата выполнения, какой-либо другой операции, при невыполнении данного условия, будет выдан этот код статуса. Используется в протоколе WebDAV. 425 Unordered Collection — Беспорядочный набор. Этот код статуса будет выдан в случае, если клиент отправил запрос обозначив положение в неотсортированной коллекции или используя порядок следования элементов отличный от серверного. Введено в черновике по WebDAV Advanced Collections Protocol. 426 Upgrade Required — Требуется обновление. Указание сервера, клиенту, обновить протокол. Заголовок ответа, должен содержать правильно составленные поля Upgrade и Connection. Введено в RFC 2817 для возможности перехода к TLS посредствомHTTP. 449 Retry With — Повторить с… Выдается в случае поступления не достаточного количества информации для обработки запроса. В заголовок ответа сервера, помещается строка Ms-Echo-Request. Введено корпорацией Microsoft дляWebDAV.

5xx: Server Error — Ошибка на стороне сервера

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

500 Internal Server Error — Внутренняя ошибка сервера. Любая внутренняя ошибка на стороне сервера не подпадающая под остальные ошибки из категории 5хх. Появился в протоколе версии HTTP/1.0. 501 Not Implemented — Не реализовано. Сервер не поддерживает, необходимых для обработки запроса, возможностей. ( например не поддерживается необходимый метод обработки ). Появился в протоколе версии HTTP/1.0. 502 Bad Gateway — Плохой шлюз. Сервер, работающий в качестве прокси или шлюза, получил сообщение о неудачное в промежуточной операции. Появился в протоколе версии HTTP/1.0. 503 Service Unavailable — Сервис недоступен. Сервер не в состоянии обрабатывать запросы клиентов по техническим причинам. Появился в протоколе версии HTTP/1.0. 504 Gateway Timeout — Истек таймаут ожидания ответа шлюза. Проксирующий сервер или шлюз, не дождался ответа от вышестоящего сервера для завершения обработки запроса. Появился в протоколе версии HTTP/1.0. 505 HTTP Version Not Supported — Версия HTTP протокола не поддерживается. Сервер не поддерживает, или не может обработать, указанную в заголовке версию HTTP протокола. Появился в протоколе версии HTTP/1.0. 506 Variant Also Negotiates — Вариант тоже согласован. Из-за не верной конфигурации, выбранный вариант указывает сам на себя, в следствии чего, связывание прерывается. Добавлено в RFC 2295 для дополнения протокола HTTP технологией Transparent Content Negotiation. 507 Insufficient Storage — Переполнение хранилища. Недостаточно места для обработки текущего запроса. Возможно временная проблема. Используется в протоколе WebDAV. 509 Bandwidth Limit Exceeded — Пропускная возможность канала исчерпана. Данный код статуса, используется в случае превышения веб площадкой, отведенного ей лимита, на потребляемый трафик. Данный код не описан ни одним RFC и используется только модулем bw/limited, панели веб-хостинга cPanel. 510 Not Extended — Нет расширения. У сервера отсутствует расширение, которое пытается использовать клиентом. Сервер может передавать информацию, об имеющихся у него расширениях. Введено в RFC 2774 для дополнения протокола HTTPподдержкой расширений.

Методы обработки запросов HTTP

HTTP метод — это основная операция, которую необходимо выполнить над ресурсом. В названии могут использоваться любые символы, кроме управляющих последовательностей и разделителей, как правило это короткое слово на английском языке. Имена методов HTTP зависимы от регистра.

Любой веб сервер обязан работать, по крайней мере с двумя методами GET и HEAD. Если сервер не смог определить метод, указанный в заголовке запроса клиента, он должен вернуть код статуса 501 (Not Implemented), если-же метод серверу известен, но неприменим к данному ресурсу, будет возвращен код статуса 405 (Method Not Allowed). Как в первом, так и во втором случае, сервер должен включить в свой ответ, заголовок Allow со списком методов, которые он поддерживает.

Метод OPTIONS

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

Что-бы выяснить возможности сервера, клиент должен указать в запросе URI, символ — «*«, то есть данный запрос к серверу выглядит как: OPTIONS * HTTP/1.1. Кроме прочего, данный запрос может быть использован для проверки работоспособности сервера и поддержки им протокола HTTP, версии 1.1. Результаты данного запроса не кэшируются.

Метод GET

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

Параметры для выполнения запроса, передаются в URI запрашиваемого ресурса, после символа «?«. Запрос в таком случае выглядит примерно так: GET /some/resource?param1=val1&param2=val2 HTTP/1.1.

Как установлено в стандарте HTTP, запросы методом GET, являются идемпотентными, то есть, повторная отправка одного и того-же запроса, методом GET, должна приводить к одному и тому-же результату, в случае, если сам ресурс, в промежутках между запросами, изменен не был, что позволяет кэшировать результаты, выдаваемые на запрос методом GET.

Кроме вышесказанного, существуют еще два вида метода GET, это:
условный GET, содержащий заголовки If-Modified-Since, If-Match, If-Range и им подобные,
Частичный GET, содержащий заголовок Range с указанием байтового диапазона данных, которые сервер должен отдать. Данный вид запроса используется для докачки и организации многопоточных закачек.

Порядок работы с этими подвидами запроса GET, стандартами определен отдельно.

Метод HEAD

Данный метод, аналогичен методу GET, с той лишь разницей, что сервер не отправляет тело ответа. Метод HEAD, как правило используется для получения метаданных ресурса, проверки URL ( есть-ли указанный ресурс на самом деле ) и для выяснения факта изменения ресурса с момента последнего обращения к нему.

Заголовки ответа могут быть закэшированы, при несоответствии метаданных и информации в кэше, копия ресурса помечается как устаревшая.

Метод POST

Метод POST, используется для передачи пользовательских данных на сервер, указанному ресурсу. Примером может послужить HTML форма с указанным атрибутом Method=»POST», для отправки комментария к статье. После заполнения необходимых полей формы, пользователь жмет кнопку «Отправить» и данные, методом POST, передаются серверному сценарию, который в свою очередь выводит их на странице комментариев. Таким-же образом, с помощью метода POST, можно передавать файлы.

В отличии от GET, метод POST, не является идемпотентным, то есть неоднократное повторение запроса POST, может выдавать разные результаты. В нашем случае, будет появляться новая копия комментария при каждом запросе.

Если в результате запроса методом POST, возвращается код 200 (Ok) или 204 (No Content), в тело ответа сервера, добавляется сообщение о результате выполнения запроса. Например, если был создан ресурс, сервер вернет 201 (Created), указав при этом URI созданного ресурса в заголовке Location.

Ответы сервера, на выполнение метода POST, не кэшируются.

Метод PUT

Используется для загрузки данных запроса на указанный URI. В случае отсутствия ресурса по указанному в заголовке URI, сервер создает его и возвращает код статуса 201 (Created), если ресурс присутствовал и был изменен в результате запроса PUT, выдается код статуса 200 (Ok) или 204 (No Content). Если какой-то из переданных серверу заголовков Content-*, не опознан или не может быть использован в данной ситуации, сервер возвращает статус ошибки 501 (Not Implemented).

Главное различие методов PUT и POST в том, что при методе POST, предполагается, что по указанному URI, будет производиться обработка, передаваемых клиентом данных, а при методе PUT, клиент подразумевает, что загружаемые данные уже соответствуют ресурсу, расположенному по данному URI.

Ответы сервера при методе PUT не кэшируются.

Метод PATCH

Работает аналогично методу PUT, но применяется только к определенному фрагменту ресурса.

Метод DELETE

Удаляет ресурс, расположенный по заданному URI.

Метод TRACE

При запросе методом TRACE, клиент может увидеть, какие изменения были сделаны в запросе, промежуточными серверами.

Метод LINK

Связывает указанный ресурс с другим ресурсом.

Источник

Работа с HTTP в 1С 8.2 и 8.3

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

Общая информация

Для работы с протоколом HTTP в 1С существуют три основных объекта — HTTPСоединение, HTTPЗапрос и HTTPОтвет, кроме этого для создания HTTPS-соединения используется объект ЗащищенноеСоединениеOpenSSL, а для соединения через прокси-сервер объект ИнтернетПрокси. Существует еще несколько объектов, которые могут использоваться при работе с протоколом HTTP, но используются они достаточно редко и не так важны.

Назначение основных объектов следует из названия.

HTTPСоединение отвечает за соединение с сервером — в свойствах объекта, помимо обязательного адреса, можно указать порт, прокси, логин, пароль, таймаут, защищенное соединение и флаг аутентификации ОС, а методы повторяют основные методы HTTP.

HTTPЗапрос позволяет описать что именно мы хотим от сервера — в свойствах нужно обязательно указать адрес ресурса к которому мы обращаемся, кроме этого имеется возможность указать какие-либо заголовки, методы же, в свою очередь, позволяют различными способами установить и получить тело запроса.

HTTPОтвет является результатом выполнения запроса к серверу — из свойств мы можем узнать ответные заголовки и код состояния, а методы позволяют получить тело ответа различными способами.

ИнтернетПрокси позволяет указать настройки прокси-сервера — с помощью метода Установить() можно указать параметры для подключения к прокси-серверу, отмечу, что свойства «Пароль» и «Пользователь» являются устаревшими, использовать их не рекомендуется.

ЗащищенноеСоединениеOpenSSL создает защищенное соединение OpenSSL — имеется возможность указать сертификат клиента и/или сертификат удостоверяющего центра, в большинстве случаев (для доступа к обычным сайтам по протоколу HTTPS) указывать какие либо сертификаты не требуется.

Заканчиваем с теорией и переходим к практике.

Практические задачи при работе с HTTP

В качестве практической части рассмотрим задачи, которые чаще всего встречаются при работе с протоколом HTTP в 1С

Источник

Уже много было написано про 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 сферу.

Еще много чего можно перечислить. Минусы, тоже есть, но плюсов в разы больше.

Самый главный минус. Нужно установить и настроить веб сервер (IISApache, 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 я оставил в самом конце закомментированную строку

//Ответ.Заголовки.Вставить(«ContentType«,»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-метода и решать любую задачу Интеграции.

Давайте разобьем все возможные сервисы на блоки, чтобы понять, как сделать некое универсальное решение.

Сервис выполняет следующие действия:

  1. Получение входящих параметров и проверка их корректности
  2. Выполнение основных действий
  3. Формирование ответа

Если посмотреть пример выше, то понимаем, что все идет в вперемешку, не структурированно. Отлаживать такой сервис не очень приятно!

Я предпочитаю для 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

Многие из нас привыкли публиковать базу или веб сервис 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С:Предприятия

Пример полного текста ошибки:

Описание:

При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.

Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.

Решение:

Проверить имена веб-сервисов и ссылок на них.

    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С нажатием нескольких кнопок.

Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 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С:Предприятия

Пример полного текста ошибки:

Описание:

При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.

Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.

Решение:

Проверить имена веб-сервисов и ссылок на них.

    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. web-сервис и ws-ссылка ошибка
  2. Сервис не найден.
  3. Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.
  4. web-сервис и ws-ссылка ошибка
  5. Сервис не найден.
  6. Решение проблем интеграции с Порталом 1С:ИТС
  7. Содержание
  8. 1. Общие действия
  9. 2. Если у пользователя не работают услуги портала.
  10. Симптомы проблемы
  11. Решение
  12. 3. Расхождение данных портала и менеджера сервиса
  13. 4. Подписки перестали отправляться в портал
  14. 5. Устранение причин непринятия подписок порталом
  15. 5.1. Бизнес-ошибки
  16. Пример ошибки
  17. Решение
  18. Пример ошибки
  19. Решение
  20. Пример ошибки
  21. Решение
  22. 5.2. Технические ошибки
  23. Пример ошибки
  24. Решение
  25. Симптомы проблемы
  26. Решение

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С:Предприятие. Облачная подсистема Фреш на сайте releases.1c.ru

    Проверить основные настройки интеграции с порталом в менеджере сервиса: команды меню Интеграция — Учетные системы , учетная система Портал 1С:ИТС .

    2. Если у пользователя не работают услуги портала.

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

    Нужно проверить, отправлены ли портал следующие данные:

    Статус интеграции показывается в справочнике Абоненты (команда меню ОбслуживаниеАбоненты):

    И в форме свойств абонента (пункт меню формы Интеграция ):

    Статус интеграции показывается в справочнике Пользователи абонентов (команда меню ОбслуживаниеПользователи абонентов):

    И в форме свойств абонента (пункт меню формы Пользователи абонента ):

    Статус интеграции показывается в форме списка Подписки (команда меню Управление тарифамиПодписки):

    И в форме свойств подписки (пункт меню формы Интеграция ):

    Если какой либо из объектов не интегрирован и вместо значка указан значок , нужно проверить наличие ошибок в логе отправки. Лог отправки расположен в нижней части формы элемента после выбора пункта меню формы Интеграция :

    Нужно проверить, заполнен ли реквизит Идентификатор у обслуживающей организации, указанной в портале.

    Для этого нужно открыть карточку обслужи вающей организации в справочнике Абоненты :

    В поле Идентификатор нужно указать код партнера. Например, если Код партнера 000987-77, то указываем 000987, или 987

    Открыть форму свойств активной подписки клиента и проверить наличие нужной услуги на вкладке Услуги :

    Если услуги нет, возможно в тарифе указан некорректный тариф поставщика Портала 1С:ИТС.

    Симптомы проблемы

    В списке Подписки у новых подписок не появляются значки интеграции, либо долго висят значки «часиков» .

    В списке подписок не отправленные в портал подписки отображаются знаком .

    Решение

    Интеграция с порталом использует общую очередь сообщений. Если в менеджере сервиса «забита» очередь сообщений, то возможны 2 варианта решения:

      Дождаться освобождения очереди сообщений.

    Отправить сообщения интеграции принудительно. Для этого нужно:

    1. Открыть элемент учетной системы 1С:Портал в списке Учетные системы (команды меню ИнтеграцияУчетные системы, учетная система Портал 1С:ИТС) или переход по ссылке e1cib/list/Справочник.УчетныеСистемы.
    2. Выбрать команду меню формы Объекты к отправке.
    3. Нажать на кнопку «самолетик» .
    4. Все сообщения будут отправлены.
    5. Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
    6. Если процедуру повторять 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С:Портал в списке Учетные системы (команды меню ИнтеграцияУчетные системы, учетная система Портал 1С:ИТС)
      или переход по ссылке – e1cib/list/Справочник.УчетныеСистемы.
    2. Выбрать команду меню формы Объекты к отправке.
    3. Нажать на кнопку «самолетик» .
    4. Все сообщения будут отправлены.
    5. Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
    6. Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок» .

    5. Устранение причин непринятия подписок порталом

    Для выяснения причин, почему подписка не была отправлена, нужно:

    1. Вывести карточку свойств подписки и выбрать команду меню Интеграция.
    2. Посмотреть описание состояния интеграции и лог отправки.

    Открыть описание объекта к отправке, показанное в списке Данные к отправке:

  • Вывести сообщение с подробным описанием ошибки, нажав кнопку в правой части поля Сообщение.
  • По этим сведениям можно понять причину, после чего нужно эту причину устранить. Возможные причины делятся на 2 типа:

    1. Бизнес-ошибка в подписке
    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»

    1С 8 ошибка при настройке http-сервиса не запускается Apache после публикации

    Позже, благодаря поиску решения проблемы, было выявлено, что установленная версия 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С 8 Apache настройка http-сервиса ошибка ошибка descr: Текущему соединению с информационной базой не назначен сеанс, data

    Помог решить проблему комментарий, размещенный на странице сайта курсы-по-1с.рф — [ Интеграция ] Как настроить обмен 1С с интернет-сервисами 

    1С 8 Апач публикация на веб-сервере ошибка ошибка descr: Текущему соединению с информационной базой не назначен сеанс, data

    Т.е. если в базе не установлен ни один пользователь, то файл default.vrd не будет требовать правки. Но, как правило, в базах 1С 8 имеется список пользователей, поэтому необходимо указать пользователя с его паролем для доступа через http-сервис в файле настроек.  В соответствии с приведенным указанием данные пользователя и пароль были добавлены в соответствующий файл default.vrd, размещенный в каталоге, указанном как «Каталог» для публикации:

    1С 8 каталог публикации базы на веб-сервере, содержащий файл default.vrd

    1С 8 Апач публикация базы на веб-сервере ошибка "descr":"Текущему соединению с информационной базой не назначен сеанс","data"

    После проделанного изменения http-сервис, настроенный в 1С для теста, дал ответ:

    1С 8 Apache настройка http-сервиса и публикация базы на веб-сервере проблемы и ошибки при публикации

    Дополнительно по теме, в продолжении упоминания 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 человек.

    Содержание

    1. web-сервис и ws-ссылка ошибка
    2. Сервис не найден.
    3. Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.
    4. web-сервис и ws-ссылка ошибка
    5. Сервис не найден.
    6. Решение проблем интеграции с Порталом 1С:ИТС
    7. Содержание
    8. 1. Общие действия
    9. 2. Если у пользователя не работают услуги портала.
    10. Симптомы проблемы
    11. Решение
    12. 3. Расхождение данных портала и менеджера сервиса
    13. 4. Подписки перестали отправляться в портал
    14. 5. Устранение причин непринятия подписок порталом
    15. 5.1. Бизнес-ошибки
    16. Пример ошибки
    17. Решение
    18. Пример ошибки
    19. Решение
    20. Пример ошибки
    21. Решение
    22. 5.2. Технические ошибки
    23. Пример ошибки
    24. Решение
    25. Симптомы проблемы
    26. Решение

    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С:Портал в списке Учетные системы (команды меню ИнтеграцияУчетные системы, учетная система Портал 1С:ИТС) или переход по ссылке e1cib/list/Справочник.УчетныеСистемы.
    2. Выбрать команду меню формы Объекты к отправке.
    3. Нажать на кнопку «самолетик» .
    4. Все сообщения будут отправлены.
    5. Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
    6. Если процедуру повторять 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С:Портал в списке Учетные системы (команды меню ИнтеграцияУчетные системы, учетная система Портал 1С:ИТС)
      или переход по ссылке – e1cib/list/Справочник.УчетныеСистемы.
    2. Выбрать команду меню формы Объекты к отправке.
    3. Нажать на кнопку «самолетик» .
    4. Все сообщения будут отправлены.
    5. Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
    6. Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок» .

    5. Устранение причин непринятия подписок порталом

    Для выяснения причин, почему подписка не была отправлена, нужно:

    1. Вывести карточку свойств подписки и выбрать команду меню Интеграция.
    2. Посмотреть описание состояния интеграции и лог отправки.

    Открыть описание объекта к отправке, показанное в списке Данные к отправке:

  • Вывести сообщение с подробным описанием ошибки, нажав кнопку в правой части поля Сообщение.
  • По этим сведениям можно понять причину, после чего нужно эту причину устранить. Возможные причины делятся на 2 типа:

    1. Бизнес-ошибка в подписке
    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)

    Рейтинг@Mail.ru

    Rambler's Top100

    Поиск

    Показывать по
    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С:Предприятия

    Пример полного текста ошибки:

    Описание:

    При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.

    Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.

    Решение:

    Проверить имена веб-сервисов и ссылок на них.

      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 нет в файле.

    Logo_1c_8В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3 на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного, так и для 64-разрядного модуля расширения веб-сервера.

    0. Оглавление

    1. Что понадобится
    2. Установка веб-сервера IIS
    3. Установка компонент «1С:Предприятие»
    4. Настройка операционной системы
    5. Публикация базы данных на веб-сервере
    6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
    7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
    8. Подключение к опубликованной информационной базе через веб-браузер
    9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
    10. Конфигурационные файлы виртуального каталога
      1. Файл default.vrd
      2. Файл web.config

    1. Что понадобится

    1. Компьютер отвечающий минимальным системным требованиям для работы веб-сервера под управлением одной из операционных систем:
      • Microsoft Windows Server 2012 (R2)
      • Microsoft Windows Server 2008 (R2)
    2. Права локального администратора на данном компьютере.
    3. Дистрибутив для установки компонент «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 вида:

    Ustanovka_IIS_8_Winsdows_Server_2012_13

    • В Microsoft Windows Server 2008 (R2) — здесь. IIS версии 7, после установки должны увидеть страницу Default Web Site вида:

    605

    3. Установка компонент «1С:Предприятие»

    На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты) обязательно выбрав при установке компоненты:

    • 1С:Предприятие
    • Модули расширения веб-сервера

    publikaciya_bd_na_web_server_IIS_23

    Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

    • Модуль расширения веб-сервера

    publikaciya_bd_na_web_server_IIS_31

    4. Настройка операционной системы

    Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по умолчанию C:inetpubwwwroot ) необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

    publikaciya_bd_na_web_server_IIS_01

    В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Польный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».

    publikaciya_bd_na_web_server_IIS_02

    Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:Program Files (x86)1cv8 для 32-разрядного модуля расширения и C:Program Files1cv8 для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names) необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).

    publikaciya_bd_na_web_server_IIS_03

    Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».

    publikaciya_bd_na_web_server_IIS_04

    Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем  «Применить» (Apply) для сохранения изменений.

    publikaciya_bd_na_web_server_IIS_05

    Ну и наконец, если публикация выполняется для файловой базы, необходимо также дать группе IIS_IUSRS полные права на каталог с расположенными файлами данной информационной базы.

    publikaciya_bd_na_web_server_IIS_06

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

    Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать.  Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»

    publikaciya_bd_na_web_server_IIS_07

    Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:

    • Имя виртуального каталога — имя по которому будет происходить обращение к база данных на веб-сервере. Может состоять только из символов латинского алфавита.
    • Веб сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
    • Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
    • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
    • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

    Выбрав необходимые настройки публикации нажимаем «Опубликовать».

    publikaciya_bd_na_web_server_IIS_08

    Если публикация прошла без ошибок, увидим соответствующее сообщение.

    Публикация на веб-сервере 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).

    publikaciya_bd_na_web_server_IIS_10

    Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений» (Application Pools).

    publikaciya_bd_na_web_server_IIS_11

    В списке пулов приложений найдем пул с именем DefaultAppPool. Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры» (Advanced Settings).

    publikaciya_bd_na_web_server_IIS_12

    В открывшемся окне параметров пула приложения, в группе «Общие» (General) найдем пункт «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) и установим значение параметра равным True. Затем сохраним изменения нажав «ОК».

    publikaciya_bd_na_web_server_IIS_13

    7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера

    Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin, каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.

    Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

    publikaciya_bd_na_web_server_IIS_10

    Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков» (Handler Mappings) на начальной странице приложения.

    publikaciya_bd_na_web_server_IIS_19

    В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.

    publikaciya_bd_na_web_server_IIS_32

    Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:Program Files (x86)1cv88.3.4.389binwsisapi.dll» на «C:Program Files1cv88.3.4.389binwsisapi.dll» воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК» для сохранения изменений.

    publikaciya_bd_na_web_server_IIS_33

    8. Подключение к опубликованной информационной базе через веб-браузер

    Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/<Имя публикации информационной базы>. В данном примере это http://localhost/DemoAccounting/.

    publikaciya_bd_na_web_server_IIS_14

    К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80, по внешнему) IP-адресу.

    В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте здесь.

    dobavlenie-veb-sajta-v-spisok-nadezhnyx-uzlov-ie_09

    9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»

    К опубликованной на веб-сервере информационной базе можно подключиться и с помощью тонкого клиента «1С:Предприятия». Для подключения откроем окно запуска «1С:Предприятие» и нажмем кнопку «Добавить» для добавления информационной базы.

    publikaciya_bd_na_web_server_IIS_24

    В окне добавления информационной базы/группы установим переключатель в «Добавление в список существующей информационной базы» и нажмем «Далее».

    publikaciya_bd_na_web_server_IIS_25

    Введем имя базы данных, как она будет отображаться в списке информационных баз (должно быть уникальным для данного списка), тип расположения выберем «На веб-сервере» и нажмем «Далее».

    publikaciya_bd_na_web_server_IIS_26

    Вводим строку адреса для подключения к информационной базе (без префикса /ru_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем «Далее».

    publikaciya_bd_na_web_server_IIS_27

    Указываем параметры запуска для информационной базы и нажимаем «Готово» для завершения работы мастера.

    publikaciya_bd_na_web_server_IIS_28

    После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие».  Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем «1С:Предприятие» для подключения к информационной базе.

    publikaciya_bd_na_web_server_IIS_30

    publikaciya_bd_na_web_server_IIS_29

    10. Конфигурационные файлы виртуального каталога

    Рассмотрим подробнее структуру файлов, которые были созданы в процессе публикации. Если веб-доступ к опубликованной информационной базе по каким-то причинам не заработал, конфигурационные файлы можно отредактировать вручную, для достижения желаемого результата (конфигурационные файлы из данной статьи для 64-разрядного модуля расширения веб-сервера можно скачать здесь).

    Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:

    • default.vrd
    • web.config

    publikaciya_bd_na_web_server_IIS_15

    Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.

    10.1. Файл default.vrd

    В файле default.vrd описываются опубликованные Web-сервисы (элемент <ws>), а также указывается имя виртуального приложения (атрибут base) и строка подключения к информационной базе «1С:Предприятие» (атрибут ib). В данном примере для файловой информационной базы, строка подключения будет следующей:

    ib="File=&quot;C:1C_BASEDemoAccounting&quot;;"

    Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (http://www.w3.org/TR/xml11/), они должны быть заменены соответствующим образом.

    publikaciya_bd_na_web_server_IIS_16

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

    ib="File=&quot;C:1C_BASEDemoAccounting&quot;;Usr=Продавец;Pwd=123;"

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

    ib="Srvr=&quot;WIN2012&quote;;Ref=&quote;Accounting&quote;;"

    Где WIN2012 — имя кластера серверов «1С:Предприятие», а Accounting — имя базы данных в кластере.

    publikaciya_bd_na_web_server_IIS_17

    Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 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С:Предприятия».

    publikaciya_bd_na_web_server_IIS_18

    Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт «Сопоставления обработчиков» (Handler Mappings).

    publikaciya_bd_na_web_server_IIS_19

    В таблице сопоставлений обработчиков увидим наш обработчик «1С Web-service Extension». Если такого обработчика в списке нет, его следует добавить выбрав в окне «Действия» (Actions) пункт «Добавление сопоставления сценария с подстановочными знаками» (Add Wildcard Script Map…).

    publikaciya_bd_na_web_server_IIS_20

    При добавлении вводим имя обработчика и указываем путь к файлу wsisapi.dll. Данные параметры можно изменить и для действующего обработчика выбрав пункт «Изменить…» (Edit…) в окне списка действий.

    publikaciya_bd_na_web_server_IIS_21

    Необходимо также убедиться, что для обработчика стоит флаг «Выполнение» (Execute) в окне изменений разрешений функции. Вызвать данное окно можно выбрав пункт «Изменение разрешений функции…» (Edit Feature Permissions…) в окне «Действия» (Actions).

    publikaciya_bd_na_web_server_IIS_22

    Уже много было написано про 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 сферу.

    Еще много чего можно перечислить. Минусы, тоже есть, но плюсов в разы больше.

    Самый главный минус. Нужно установить и настроить веб сервер (IISApache, 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 я оставил в самом конце закомментированную строку

    //Ответ.Заголовки.Вставить(«ContentType«,»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-метода и решать любую задачу Интеграции.

    Давайте разобьем все возможные сервисы на блоки, чтобы понять, как сделать некое универсальное решение.

    Сервис выполняет следующие действия:

    1. Получение входящих параметров и проверка их корректности
    2. Выполнение основных действий
    3. Формирование ответа

    Если посмотреть пример выше, то понимаем, что все идет в вперемешку, не структурированно. Отлаживать такой сервис не очень приятно!

    Я предпочитаю для 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. Вводим произвольное название, фактически роли это не играет.

    HTTP

    А вот сам URL – это куда более важная часть. Именно по этому адресу будет доступен корневой каталог, поэтому заранее определите корректное наименование.

    Шаблоны 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 – нестрогий вариант параметров.

    При выполнении процедуры произойдет следующее.

    get параметры

    Здесь мы обратились к методу, получили соответствующий ответ. При этом для работы нам в любом случае понадобится авторизация. И решить возникшее затруднение в принципе несложно. Потребуется просто задать новый логин и пароль. А после авторизоваться по введенным опциям. Но есть и другая методика реализации этой функции, если обратиться к 1С HTTP сервис vrd. Мы напрямую можем изменить файл default, добавив в блокнот следующую запись – Usr=Логин; Pwd=Пароль. В результате надобности в авторизации как таковой не будет. И наша публикация будет доступна свободно.

    Готовые решения для всех направлений

    Склады

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

    Узнать больше

    Магазины

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

    Узнать больше

    Маркировка

    Обязательная маркировка товаров — это возможность для каждой организации на 100% исключить приёмку на свой склад контрафактного товара и отследить цепочку поставок от производителя.

    Узнать больше

    E-commerce

    Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.

    Узнать больше

    Учреждения

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

    Узнать больше

    Производство

    Повысь эффективность деятельности производственного предприятия за счет внедрения мобильной автоматизации для учёта товарно-материальных ценностей.

    Узнать больше

    RFID

    Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.

    Узнать больше

    ЕГАИС

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

    Узнать больше

    Сертификация

    Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..

    Узнать больше

    Инвентаризация

    Используй современные мобильные инструменты для проведения инвентаризации товара. Повысь скорость и точность бизнес-процесса.

    Узнать больше

    Показать все решения по автоматизации

    Отладка

    Итак, чтобы в принципе была возможность корректировки, нам в изначальном файле нужно прописать некоторые параметры. А точнее – в режиме отладчика поставить опцию «Разрешена по IP/TCP». А также указать адрес сервера в соответствующем пункте.

    прочие настройки

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

    Настройка автоматического подключения

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

    настройки

    Fiddler2 Inspectors

    Не будем путать эти дополнительные инструменты с теми, которые помогают внедрить саму платформу в текущую программную экосистему на предприятии. Они носят совершенно иное название. А именно – 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.

    Работа с базами

    Общие принципы мы уже успели уяснить. Теперь закрепим на конкретном прикладном кейсе. Итак, мы создаем новый проект с рандомным наименованием. Давайте, возьмем объект – клиенты (контрагенты).

    HTTP сервис

    Свойства Customers

    В общих параметрах мы создаем соответствующий клиентский лист.

    Get Customers List

    Настройки get customers list

    А также задаем метод обработки входящих данных, чтобы сервер распознавал, что от него вообще требуется.

    url шаблоны

    HTTP метод

    Далее пойдем по коду.

    Создание перечня customers

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

    создание перечня

    Сериализуем данные

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

    запись JSON

    Составляем ответ

    Теперь же нам нужно указать, что именно даст обратно сервис, если к нему обратятся с соответствующим запросом.

    ответ заголовки

    Как мы помним, 200 – значение положительного результата нашей функции. Опубликованный запрос принимает следующий вид.

    публикация на веб-сервере demo

    А в самом конфигураторе поиск выглядит так.

    контрагенты

    Забив же адрес в браузере, мы проследим ответ в форме сериализованных сведений.

    код в браузере

    Запрос на CustomerCode

    Теперь разберем код, который позволит по идентификатору найти искомое лицо. Выполняется это также несложно.

    Сначала сформируем сам запрос, который направим через 1С веб-сервис rest. Выглядит так.

    определение функции

    Функция понятна. Если данных не найдено, то после параметра then у нас сработает следующая строка.

    ответ, если клиент не найден

    Как видим, в этом случае ответ не выдается. Очевидно, ведь его просто нет, по указанному идентификатору в базе никаких контрагентов не находится. Что же следует после else.

    данные клиента

    Правильно, при найденном номере автоматически заполняется карточка. Вносятся сведения по имени, номеру смартфона и электронной почте. Соответственно, итоговое искомое лицо и вся его характеристика найдена.

    И не забываем про сериализацию, в противном случае отправку совершить будет невозможно.

    Это тоже своего рода защита, как S в протоколе. То есть, 1С HTTP сервисы и HTTPS отличаются только степенью защищенности пользовательских данных.

    Формируем ответ

    Мы нашли нужного человека. Теперь нам необходимо, чтобы программа выдала данные в приемлемой форме. Вот в такой.

    новый ответ

    Итог.

    итоговый результат

    Касательно post – алгоритм такой же.

    алгоритм при post

    тестирование post

    И выдача приобретает такой вид.

    контрагенты в 1с предприятие

    Заключение

    Как вы понимаете, для человека, который не прошел специальное обучение, освоение этой техники с нуля будет довольно проблематичным. Придется потратить значительное время, чтобы освоиться. Поэтому созданием и настройкой обычно занимаются профессионалы. Если же на вашем предприятии такого сотрудника нет, то логично будет пройти обучение. Ведь если не работает HTTP сервис 1С и обмен данными через 1C, настройка – в 90% и является причиной случившегося. Просто неверны базовые параметры. Соответственно, чтобы не парализовать производство всего отдела, к работе стоит допускать только компетентного человека, прошедшего соответствующий курс.

    Количество показов: 8638

    Натали Азаренко

    Создайте письмо за 15 минут. Отправляйте до 1500 писем в месяц бесплатно.

    Ошибка 404, либо Error 404 Not Found появляется, если браузеру не удалось обнаружить на сервере указанный URL.

    Страница 404.

    Сообщение об ошибке 404

    Что означает ответ 404

    Error 404 Not Found отображается по-разному: «HTTP 404 не найден», «Ошибка 404 Not Found», «404 Страница не найдена». Смысл надписи всегда остаётся тем же: страница отсутствует либо просто не работает. Not Found в переводе означает «не найдено».

    Ошибка 404 — классический код ответа по протоколу HTTP. Он свидетельствует, что связь с сервером установлена, но информации по заданному запросу нет.

    Однако если просто ввести в поисковую строку произвольный набор символов, то браузер не покажет ошибку 404 Not Found — появится сообщение, что установить соединение с конкретным сервером невозможно.

    Разберёмся в техническом формировании ответа Error 404 Not Found.

    Техническая сторона вопроса. При связи по HTTP браузер запрашивает указанный URL и ждёт цифрового ответа. То есть любой запрос пользователя направляется на сервер размещения искомого сайта. Когда браузеру удаётся связаться с сервером, он получает кодированный ответ. Если запрос корректный и страница найдена, отправляется ответ с кодом 200 OK, что соответствует благополучной загрузке. При отсутствии страницы отправляется ответ об ошибке.

    Что значит код «404». В ответе 404 первая четвёрка указывает на то, что запрос был чрезмерно длительным или в самом адресе была ошибка. Ноль предполагает синтаксическую неточность. Завершающая цифра кода отображает конкретную причину ошибки — «4» означает отсутствие данной ссылки.

    Какие ещё ошибки бывают. Ошибку 404 не нужно путать с другими ответами, которые указывают на невозможность связи с сервером. Например, ошибка 403 сообщает, что доступ к URL ограничен, а ответ «Сервер не найден» свидетельствует, что браузер не смог обнаружить место размещения сайта.

    Страница 404 от Google.

    Google на 404 странице сообщает о возможных причинах ошибки

    Причины ошибки

    Причины, по которым HTTP возвращает ответ 404 Not Found:

    В большинстве ситуаций ошибка 404 отображается, когда не удаётся обнаружить нужную страницу на доступном сервере.

    Несуществующая страница на сайте.

    Причины отсутствия страницы на сайте бывают разными

    Возможные последствия для сайта

    Нужно ли считать 404 ошибку опасной для сайтов? Кажется, что нет ничего плохого в том, что пользователь не смог открыть одну веб-страницу. Однако если такая ситуация будет повторяться регулярно, это чревато оттоком аудитории. Одни пользователи решат, что сайт вовсе не существует. Другие подумают, что лучше не заходить на сайт, который работает с ошибками. Третьи будут игнорировать ресурс, на котором не смогли получить обещанную информацию.

    Поисковые системы относятся к Not Found более лояльно. Например, Google отмечает, что 404 страницы не влияют на рейтинг. Но если при индексации роботы будут находить все больше ошибочных страниц, вряд ли это приведёт к более высокому ранжированию.

    Если вы хотите улучшить взаимодействие с посетителями, важно найти и исправить все ошибки 404 на сайте.

    Как выявить ошибку

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

    Search Console Google

    Консоль поиска Google позволяет находить страницы с ошибкой 404 за несколько кликов:

    Чтобы получить список страниц с ошибками, подтвердите права на ресурс — добавьте проверочную запись TXT в записи DNS регистратора домена. Такая запись не повлияет на работу сайта. Подробнее о процедуре подтверждения, читайте в справке Google.

    Интерфейс Search Console Google.

    Для использования Search Console Google нужно подтвердить свои права на сайт

    Яндекс Вебмастер

    Сервис для вебмастеров от Яндекса поможет быстро найти все ошибки 404:

    Чтобы использовать Яндекс. Вебмастер, также нужно подтвердить право владения сайтом — добавить метатег в HTML-код главной страницы.

    Главная страница Яндекс. Вебмастер.

    Для входа в Вебмастер авторизуйтесь в Яндексе

    Screaming Frog

    Для начала загрузите и установите программу на компьютер. После запуска добавьте URL проверяемого сайта и начните поиск проблем. Неработающие ссылки можно искать даже в бесплатной версии.

    Сервис Screaming Frog.

    Инструмент SEO-паук в Screaming Frog помогает найти технические неисправности сайта

    SiteAnalyzer

    Эта бесплатная десктопная программа позволяет обнаружить технические погрешности на сайте. SiteAnalyzer быстро отыщет нерабочие и несуществующие ссылки.

    Страница загрузки SiteAnalyzer.

    SiteAnalyzer бесплатно найдёт неработающие URL

    Как исправить ошибку Not Found

    Выбор конкретного решения зависит от причины ошибки:

    Удалять и менять ссылки вручную удобно только на небольших сайтах. Исправление ошибок на крупных порталах лучше автоматизировать. Например, с помощью специальных плагинов для внутренней перелинковки (Terms Description, Dagon Design Sitemap Generator) и для автоматического формирования адресов страниц (Cyr-To-Lat).

    Чтобы ошибки 404 появлялись как можно реже, достаточно соблюдать простые рекомендации:

    Мы разобрались, как найти и исправить ошибки Not Found внутри сайта. Но неработающая ссылка может быть расположена и на стороннем ресурсе. Допустим, когда-то на другом сайте разместили рекламную публикацию со ссылкой на определённую страницу. Спустя какое-то время страницу удалили. В этом случае появится ошибка 404. Устранить её можно, связавшись с администрацией ссылающегося сайта. Если же удалить/исправить ссылку нельзя, постарайтесь использовать ошибку с выгодой.

    Как сделать страницу 404 полезной

    Грамотно оформленная страница с ошибкой Error 404 Not Found — действенный инструмент конвертации посетителей. Ограничений по использованию страницы с ошибкой 404 нет. При этом практически все CMS позволяют настраивать дизайн этой страницы.

    Что публиковать на странице 404:

    При оформлении страницы-ошибки желательно опираться на рекомендации поисковиков:

    Главное — по возможности отказаться от стандартной страницы 404. Подумайте, как привлечь внимание пользователя. Расскажите ему об отсутствии искомой страницы и предложите взамен что-то полезное или интересное.

    Примеры оформления страниц 404

    Designzillas

    Мультяшная страница креативной студии привлекает внимание и её хочется досмотреть до конца. Если прокрутить страницу, можно увидеть, как из яйца вылупится дракон. При этом на странице есть ссылки на все основные разделы сайта.

    Меню на сайте Designzillas есть и на 404 странице

    Domenart Studio

    Веб-студия «Домен АРТ» использует красочную страницу 404, оформленную в единой стилистике ресурса. Заблудившимся пользователям предлагают попробовать ещё раз ввести адрес или перейти в нужный раздел.

    Страница 404 Domenart Studio.

    Контакты, поиск, меню — и всё это на 404 странице Domenart Studio

    «Эко Пауэр», дистрибьютор производителя источников питания, демонстрирует короткое замыкание как символ ошибки. Посетителям предлагают перейти на главную.

    Ошибка 404 «Эко Пауэр» выглядит как страница входа

    Дом со всем

    Компания «Дом со всем», занимающаяся бурением скважин, разместила на странице 404 свои контакты и перечень услуг. Со страницы можно перейти в любой раздел сайта или заказать обратный звонок. С таким наполнением посетителю не нужно искать дополнительную информацию где-то ещё.

    Страница 404 «Дом со всем».

    Компания «Дом со всем» предлагает заказать обратный звонок

    Kualo

    Страница 404 на веб-хостинге Kualo может заставить пользователя забыть, зачем он сюда пришёл. Увлекательная игра притягивает внимание. В конце игры посетителю предлагают посмотреть сайт хостинга.

    На странице Kualo можно просто поиграть и заработать скидки

    Рано или поздно с ошибкой 404 сталкивается большинство сайтов. При регулярной проверке можно своевременно исправить неработающие ссылки, чтобы в ответ пользователи получали код 200 OK. Но для крупного ресурса лучше настроить оригинальную страницу, которая будет отображаться при появлении ошибки Not Found и подскажет посетителям, что делать дальше.

    Ошибка 404 что это и как исправить?

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

    Ошибка 404

    Что значит ошибка 404?

    Код ошибки 404 – это код статуса ответа HTTP, означающий, что «ресурс в запрашиваемой локации не найден».

    Когда вы встречаете ошибку с таким номером, то это обычно означает, что между клиентом (вашим компьютером) и отдалённым сервером установлено стабильное соединение, но указанный сервер не смог найти у себя запрашиваемую вами страницу (документ).

    Сообщение с данной ошибкой выглядит по-разному, в частности вот так:

    формы сообщения об ошибке четыреста четыре

    Каждое число из данной ошибки имеет своё значение:

    Экран с появлением ошибки четыреста четыре довольно часто специально разрабатывается веб-мастерами для своих сайтов. В частности, у некоторых сайтов он может выглядеть вот так:

    Экран ошибки 404

    Скрин ошибки 404

    Error 404

    Надеюсь вы поняли, что это 404 ошибка, а теперь перейдём к причинам и устранению проблем с кодом 404.

    Причины дисфункции 404

    Обычно подобная ошибка возникает по следующим причинам:

    Спецификации ошибки 404

    Примеры спецификаций ошибки у серверов Майкрософт IIS

    При этом сервера Майкрософт IIS часто добавляют специальную информацию по причинам, вызывающим ошибку 404, в частности, HTTP Error 404.1 – «Сайт не найден» и другие.

    Как исправить 404 ошибку

    Чтобы исправить данную проблему необходимо выполнить следующее:

    то наберите просто:

    дабы убедиться, что ресурс (домен) работает корректно, а проблема возникает лишь с запрашиваемой вами страницей. Если это так, стоит уведомить веб-мастера данного ресурса о возникшей дисфункции.

    Нажмите на «Ок», и перезагрузите ваш ПК;

    Настройки публичных DNS

    Заключение

    Что такое ошибка под номером 404? Обычно ошибка возникает в ситуации, когда пользователь неверно набрал нужный линк, или запрашиваемая пользователем страница ранее была удалена (перемещена) веб-мастером ресурса. Для исправления проблемы рекомендую воспользоваться приведёнными выше советами, они помогут вам избежать появления ошибки четыреста четыре на вашем ПК.

    Ошибка 404 — что это значит и как исправить

    Ошибка 404 — это код состояния HTTP, который означает, что страницу, которую вы пытались открыть на веб-сайте, не удалось найти на их сервере.

    Чтобы было понятно, ошибка 404 указывает, что сам сервер доступен, но к сожалению конкретной страницы, показывающей ошибку, нет.

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

    Как вы могли увидеть ошибку 404

    Вот несколько распространенных способов отображения ошибки HTTP 404:

    Ошибка 404 — что это значит и как исправить

    Сообщения об ошибках 404 Not Found могут появляться в любом браузере или любой операционной системе. Большинство ошибок 404 Not Found отображаются в окне интернет-браузера, как и веб-страницы.

    В Internet Explorer вы увидите сообщение «Веб-страница не найдена» обычно указывает на ошибку HTTP 404, но возможна ошибка 400 Bad Request. Вы можете проверить, на какую ошибку ссылается IE, проверив 404 или 400 в строке заголовка.

    404 ошибки, полученные при открытии ссылок через приложения Microsoft Office, приводят к появлению на интернет-сайте сообщения о том, что запрошенный вами элемент не может быть найден (HTTP / 1.0 404) в программе MS Office.

    Когда Центр обновления Windows выдает ошибку 404, он отображается как код 0x80244019 или как сообщение WU_E_PT_HTTP_STATUS_NOT_FOUND.

    Причина ошибок HTTP 404

    Технически, Ошибка 404 является ошибкой на стороне клиента, подразумевая, что ошибка является вашей ошибкой, либо потому, что вы неправильно ввели URL, либо страница была перемещена или удалена с веб-сайта, и вы должны были знать об этом.

    Другая возможность, если веб-сайт переместил страницу или ресурс, но сделал это без перенаправления старого URL-адреса на новый. Когда это произойдет, вы получите ошибку 404 вместо того, чтобы автоматически перенаправляться на новую страницу.

    Как исправить ошибку 404 Not Found

    Ошибка 404 Not Found может появиться по нескольким причинам, хотя реальной проблемы не существует, поэтому иногда простое обновление часто загружает искомую страницу.

    Проверьте на наличие ошибок в URL. Часто ошибка 404 Not Found возникает из-за неправильного ввода URL-адреса или ссылки, или указывает на неправильный URL-адрес.

    Перемещайтесь на один уровень каталога за раз в URL, пока не найдете рабочую ссылку:

    Поиск страницы из популярной поисковой системы. Вполне возможно, что у вас просто неправильный URL-адрес, и в этом случае быстрый поиск в Google или Bing приведет вас туда, куда вы хотите.

    Если вы нашли страницу, на которой вы были, обновите свою закладку или избранное, чтобы избежать ошибки HTTP 404 в будущем.

    Очистите кеш браузера, если у вас есть признаки того, что сообщение 404 Not Found может быть только вашим. Например, если вы можете получить доступ к URL-адресу со своего телефона, но не со своего планшета, очистка кэша в браузере планшета может помочь.

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

    Измените DNS-серверы, используемые вашим компьютером, но обычно только в том случае, если весь веб-сайт выдает ошибку 404, особенно если веб-сайт доступен тем, кто работает в других сетях (например, в вашей сети мобильной связи или у друга в другом городе).

    404 на всем сайте не особенно распространены, если только ваш интернет-провайдер или правительство не фильтруют / цензируют веб-сайты. Независимо от причины, если это произойдет, попробуйте другой набор DNS-серверов. Смотрите наш список публичных DNS-серверов для некоторых альтернатив и инструкций по этому вопросу.

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

    Ошибки, похожие на ошибку 404

    Также существует несколько кодов состояния HTTP на стороне сервера, например популярная 500 Internal Server Error. Вы можете увидеть их все в нашем списке ошибок кода состояния HTTP.

    Источники:

    https://www. unisender. com/ru/support/about/glossary/chto-oznachaet-oshibka-404-na-sajte-i-chto-s-nej-delat/

    https://sdelaicomp. ru/wi-fi/oshibka-404-chto-eto-i-kak-ispravit. html

    https://19216811.ru/error-404

    http-сервис, ошибка 404 ☑ 0

    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

    Права на сервис какие и какой юзер?

    2

    Slashman6667

    24.07.21

    19:48

    (1) База файловая. Права на каталог базы полные у пользователя IUSR, также права даны полные на все места куда можно. IUSR также добавлен в группу IIS_IUSRS.

    Публикация из-под админа естественно делалась.

    3

    Slashman6667

    24.07.21

    19:57

    В 1С права само собой тоже полные

    4

    Slashman6667

    24.07.21

    20:02

    5

    Slashman6667

    24.07.21

    20:03

    Ошибка HTTP 404.0 — Not found

    Разыскиваемый вами ресурс был удален, было изменено его имя или он временно недоступен.

    6

    acht

    24.07.21

    20:04

    (0) > В чем может быть такая загвоздка?

    В несовпадении корневого урла и шаблона сервиса со строкой запроса

    7

    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 — строка запроса

    Что не так?

    8

    Slashman6667

    24.07.21

    20:46

    Все, вопрос решен… Но как я не понял… Просто перписал руками строку запроса заново))) Может какие-то символы были внутри другой раскладки… Фиг знает…

    Ошибка 404 – это одна из самых распространенных ошибок при работе с веб-серверами, включая 1С:Предприятие. Запрос, который не может быть обработан сервером, возвращает клиенту ошибку 404, которая говорит о том, что запрашиваемая страница не была найдена. В случае 1С:Предприятия эта ошибка может возникать по разным причинам и требует своего рода диагностики и решения.

    Причины ошибки 404 http в 1С:Предприятии могут быть разнообразными. Одной из них может быть неправильная настройка сервера, когда запрос клиента не может быть правильно обработан и сервер возвращает ошибку 404. Также такая ошибка может возникать при отсутствии или неправильном пути к запрашиваемому файлу или странице. Неисправности в конфигурации сервера или неверные настройки безопасности также могут вызвать ошибку 404.

    Ошибку 404 в 1С:Предприятии можно решить разными способами, в зависимости от того, в чем заключается причина ее возникновения. Один из способов – проверить правильность пути к файлу или странице, которую вы запрашиваете. Также стоит проверить настройки безопасности сервера и права доступа к файлам и каталогам. Если все указанные проверки не привели к решению проблемы, необходимо обратиться к администратору сервера или к специалисту 1С для дальнейшей диагностики и устранения ошибки.

    Возможные причины ошибки 404 http в 1С

    Ошибка 404 http, также известная как «Not Found» (не найдено), возникает, когда клиентский запрос к серверу завершается неудачей из-за отсутствия запрашиваемого ресурса на сервере. В случае 1С, это может быть вызвано несколькими возможными причинами:

    1. Неправильно указан путь к ресурсу — этой причиной может быть неправильное имя или расположение файла, на который ссылается запрос.

    2. Файл или страница были удалены или перемещены — если ресурс ранее существовал, но больше не доступен по предыдущему пути, это может означать, что файл был удален или перемещен в другую директорию.

    3. Ошибка веб-сервера — иногда ошибка 404 http может быть вызвана проблемами на стороне сервера, такими как некорректная настройка веб-сервера или проблемы с доступом к файловой системе.

    4. Неправильная настройка прав доступа — если у пользователя нет необходимых прав доступа к запрашиваемому ресурсу, сервер может вернуть ошибку 404 http.

    5. Проблемы с URL-адресом — если URL-адрес запроса содержит опечатки, неправильно закодированные символы или неправильные параметры запроса, сервер может не найти соответствующий ресурс и вернуть ошибку 404 http.

    Чтобы исправить ошибку 404 http в 1С, рекомендуется выполнить следующие шаги:

    1. Проверьте правильность указанного пути к ресурсу и убедитесь, что файл или страница существуют в указанном месте.

    2. Проверьте, не были ли ресурс или его файлы удалены или перемещены. Если это так, обновите ссылки на ресурс.

    3. Проверьте настройки веб-сервера и убедитесь, что файловая система доступна и настроена правильно.

    4. Проверьте, имеете ли необходимые права доступа к ресурсу. Если нет, обратитесь к администратору системы.

    5. Проверьте URL-адрес запроса на наличие ошибок и опечаток. Убедитесь, что все символы правильно закодированы и параметры запроса указаны корректно.

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

    Несуществующая страница

    Причинами возникновения ошибки 404 http могут быть:

    1. Опечатка в адресе – проверьте правильность написания адреса веб-страницы, возможно, вы ввели неправильный URL.
    2. Изменение структуры сайта – если веб-страница была удалена или перемещена, ссылка на нее может стать недоступной.
    3. Недоступность сервера – если сервер временно недоступен или неправильно сконфигурирован, это может вызвать ошибку 404.

    Если вы столкнулись с ошибкой 404 при попытке получить доступ к странице, есть несколько способов ее решения:

    1. Проверьте правильность написания адреса – убедитесь, что вы правильно ввели URL страницы.
    2. Используйте поиск – если вы не можете найти нужную страницу, попробуйте воспользоваться поиском на сайте.
    3. Свяжитесь с администратором сайта – если вы уверены, что страница должна существовать, но вы все равно получаете ошибку 404, свяжитесь с администратором сайта и сообщите о проблеме.

    Ошибка 404 http – это стандартный код ошибки, который позволяет серверу и браузеру обмениваться информацией о невозможности найти запрашиваемую страницу. Если вы столкнулись с этой ошибкой, не паникуйте – в большинстве случаев решение проблемы достаточно простое.

    На чтение 5 мин Опубликовано Обновлено

    Один из наиболее распространенных кодов ошибок, с которыми пользователи 1С сталкиваются, — это ошибка 404. Если вы когда-либо встречались с этим кодом ошибки, вы знаете, как это может быть разочаровывающе и сбивающе с толку. Вместо ожидаемого контента вы видите сообщение «Страница не найдена» или «Error 404». Что же вызывает эту ошибку и как ее можно исправить?

    Основная причина ошибки 404, которую вы можете столкнуться в 1С, — это отсутствие или неправильная ссылка на запрашиваемый ресурс. Когда вы переходите по ссылке или отправляете запрос на сервер, сервер пытается найти соответствующий файл или страницу. Если сервер не может найти запрашиваемый ресурс, он возвращает код ошибки 404. Это может произойти, если файл был удален, перемещен, переименован, или ссылка на него была неправильно указана.

    Для исправления ошибки 404 в 1С, вам нужно проверить ссылку на запрашиваемый ресурс. Убедитесь, что она правильно указана и ведет к существующему файлу или странице. Если ссылка недействительна, обновите ее или исправьте ошибку. Если проблема не в ссылке, проверьте, доступен ли файл или страница на сервере. Если файл был перемещен или переименован, обновите ссылки на него в коде программы или перенесите файл обратно на свое место.

    Содержание

    1. Код ошибки 404 в 1С: причины и способы решения
    2. Причины ошибки 404 в 1С
    3. Способы решения ошибки 404 в 1С
    4. Причины возникновения ошибки 404 в 1С
    5. Способы решения проблемы с кодом ошибки 404 в 1С

    Код ошибки 404 в 1С: причины и способы решения

    Код ошибки 404 в программе 1С:Бухгалтерия означает, что запрашиваемый документ или страница не найдены. Это может произойти по разным причинам и влиять на работу системы. В данной статье рассмотрим основные причины возникновения ошибки 404 и возможные способы ее устранения.

    Причины ошибки 404 в 1С

    Ошибки 404 в 1С могут возникать по разным причинам. Наиболее распространенные из них:

    • Несуществующий путь или ссылка. Если вы пытаетесь открыть документ или страницу, которая не существует в системе, то возникает ошибка 404. В этом случае, необходимо проверить правильность указания пути или ссылки.
    • Удаление или перемещение документа. Если документ был удален или перемещен в другую папку, то ссылка на него становится недействительной и пользователь получает ошибку 404. В этом случае, необходимо найти новое местоположение документа и обновить ссылку на него.
    • Отсутствие прав доступа. Если у пользователя нет достаточных прав для просмотра запрашиваемого документа или страницы, то система выдает ошибку 404. В этом случае, необходимо проверить права доступа пользователя и выдать ему необходимые разрешения.

    Способы решения ошибки 404 в 1С

    Для устранения ошибки 404 в программе 1С:Бухгалтерия можно применить следующие способы:

    1. Проверьте правильность указания пути или ссылки. Убедитесь, что вы правильно указываете путь к документу или странице и нет опечаток.
    2. Проверьте, не был ли документ удален или перемещен. Если документ был удален или перемещен, найдите его новое местоположение и обновите ссылку на него.
    3. Проверьте права доступа. Убедитесь, что у пользователя есть достаточные права для просмотра запрашиваемого документа или страницы.
    4. Обратитесь к системному администратору. Если причина ошибки 404 неизвестна или ее невозможно устранить самостоятельно, рекомендуется обратиться к системному администратору.

    В случае ошибки 404 в программе 1С:Бухгалтерия необходимо проанализировать причины ее возникновения и применить соответствующие способы решения. Правильное и своевременное решение этой проблемы поможет избежать проблем в работе системы и обеспечить ее стабильную работу.

    Причины возникновения ошибки 404 в 1С

    Код ошибки 404 в 1С означает, что запрашиваемый объект или страница не найдены. Причина возникновения этой ошибки может быть связана с различными факторами:

    1. Неверно указанный путь или адрес страницы.
    2. Удаление или перемещение объекта или страницы в системе 1С без обновления ссылок.
    3. Неправильно настроенный сервер 1С, который не может обработать запрос и вернуть нужную страницу.
    4. Ошибка в коде или настройках системы 1С, которая привела к некорректной обработке запроса.

    Чтобы исправить ошибку 404 в 1С, необходимо проанализировать возможные причины и принять соответствующие меры:

    • Проверить правильность указанного пути или адреса страницы.
    • Проверить наличие и правильность ссылок на объект или страницу в других частях системы 1С, например, в отчетах или документах.
    • Проверить настройки сервера 1С, убедившись, что он правильно обрабатывает запросы и возвращает нужные страницы.
    • Проверить код и настройки системы 1С, исправив возможные ошибки или конфликты.

    Исправление ошибки 404 в 1С может потребовать некоторых знаний и опыта работы с системой, поэтому в случае затруднений рекомендуется обратиться к специалистам или разработчикам 1С.

    Способы решения проблемы с кодом ошибки 404 в 1С

    Ошибки 404 встречаются при работе с программным комплексом 1С и могут быть вызваны разными причинами. В данном разделе обсудим несколько способов решения проблемы с кодом ошибки 404:

    1. Проверьте URL-адрес
      Первым делом, убедитесь, что вы правильно указали URL-адрес веб-страницы или сервиса 1С. Ошибка 404 возникает, когда сервер не может найти запрашиваемый ресурс по указанному адресу. Проверьте URL-адрес на наличие опечаток или неправильного расположения ресурсов.
    2. Проверьте наличие ресурса на сервере
      Проверьте, существует ли запрашиваемый ресурс на сервере. Возможно, он был удален, перемещен или переименован. Убедитесь, что ресурс все еще доступен и расположен по указанному адресу.
    3. Перезагрузите сервер 1С
      В некоторых случаях, перезагрузка сервера 1С может решить проблему с ошибкой 404. Попробуйте перезагрузить сервер и повторить запрос.
    4. Обновите программный комплекс 1С
      Если проблема с ошибкой 404 возникает только с определенным ресурсом или после обновления системы, попробуйте обновить программный комплекс 1С до последней версии. Обновление может исправить ошибки и улучшить совместимость.
    5. Обратитесь в службу поддержки 1С
      Если все вышеперечисленные способы не привели к решению проблемы, обратитесь в службу поддержки 1С. Они смогут проанализировать причину ошибки 404 и помочь вам ее устранить.

    Обратите внимание, что приведенные способы решения проблемы с кодом ошибки 404 являются лишь рекомендациями и могут не дать 100% гарантии на успешное решение проблемы. В конкретной ситуации, возможно, потребуется дополнительный анализ и настройка системы.

    Понравилась статья? Поделить с друзьями:

    Интересное по теме:

  • 1с критическая ошибка работы java процесса
  • 1с краткое представление ошибки
  • 1с копироватьфайл ошибка доступа к файлу
  • 1с конфигуратор ошибка при выполнении файловой операции
  • 1с конфигуратор ошибка при запуске приложения

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: