Примеры пользования web сервисов 1С из браузера

27.09.09

Интеграция - WEB-интеграция

Даны примеры реализации доступа к web сервисам 1С из браузера. Примеры web сервисов, а также javascript'ы для доступа к этим сервисам. AJAX доступ к 1С.

Скачать файлы

Наименование Файл Версия Размер
Статья.rar
.1214750768 392,05Kb
5958
.1214750768 392,05Kb 5958 Скачать

1С'ники как правило не сильны в web программировании и при возникновении потребности в web интерфейсе к 1С первая мысль, приходящая в голову «Web расширение от 1С». Применение web расширения от 1С не всегда оправдано и целесообразно. Web расширение — решето. Пользователь через панель инструментов может просмотреть чуть ли не всю базу. Web сервис гораздо более защищён. Альтернативой web расширению может служить web сервис 8.1 в сочетании с javascript.
Думаю что сочетание web сервиса и javascript не утратит актуальности и при выходе следующей версии платформы — управляемого приложения. Если в базе 8.2 предусмотрена авторизация, то не получится организовать доступ для всех даже к малейшему отчёту. Сопряжение интерфейса 8.2 с остальной частью сайта - задача не для слабонервных. Объём обмена с сервером в 8.2 разработчиком не регулируется.
Прямая работа с web сервисами даёт разработчику полное управление над оформлением и над составом данных, передаваемых клиенту. Как хочешь, так и оформляй, что хочешь, то и передавай. За это надо платить трудоёмкостью разработки.
Web сервис по сути ещё одна ступень абстракции. XDTO отвязывает нас от структуры метаданных 1С. В примере №2 и 3 информация из двух справочников представляется в виде одной таблицы. С помощью входных параметров web сервисов можно обеспечить их редактирование как одного. Не всегда пользователю нужен полнофункциональный интерфейс как в управляемом приложении, часто из 1С должен получаться или вноситься небольшой объём данных. Кроме того, управляемое приложение не решит вопрос сопряжения интерфейса с остальной частью сайта. В этом случае доступ к web сервису из браузера остаётся самым простым штатным решением.
Статья рассчитана на 1С'ников, хорошо знающих 8.1. Знания javascript не требуется, можно рассматривать эту статью как первые два урока по javascript. При воспроизведении или запуске примеров потребуется настроенный web-сервер и 1С v 8.1, установленная на том же компьютере для публикации web сервисов.

 

В статье использованы готовые XML-запросы для удобства понимания механизмов web сервиса. В практической работе лучше использовать программных клиентов. Например, в PHP есть объект SoapClient.

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15745    10    17    

11

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17548    6    15    

13

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16358    42    49    

23

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25740    9    0    

7

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    88579    160    215    

318
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. cs25 81 30.06.08 10:11 Сейчас в теме
Интересная статья. И примеры тоже. Плюс.
garim1965; +1 Ответить
2. coder1cv8 3468 30.06.08 10:35 Сейчас в теме
Спасибо! Очень интересно почитать...
3. polygrafin 01.07.08 15:54 Сейчас в теме
Еще не смотрел, но походу, весчь интересная
4. Evgen_5 02.07.08 09:23 Сейчас в теме
Очень интересная и полезная статья
5. GSoft 2235 02.07.08 10:39 Сейчас в теме
хорошая статья
но вот бы еще ее аналог для 7ки почитать (да раритет, но надо))))
6. luidgy 02.07.08 12:08 Сейчас в теме
7. Sergey K 65 03.07.08 08:30 Сейчас в теме
+
примеры не смотрел
но jqGrid - очень понравилась :)
8. Asmody 04.07.08 13:14 Сейчас в теме
а зачем в архиве и .doc и .odt с одинаковым содержанием?
9. Трактор 1246 06.07.08 21:48 Сейчас в теме
а зачем в архиве и .doc и .odt с одинаковым содержанием?
Оригинал в odt. А doc для того чтобы могли прочесть и счастливые владельцы мс офиса.
.
GSoft, для 7-ки есть пример интернет-магазина на этом сайте. 7-ка не заточена для непосредственной работы с web, нужны сторонние приблуды.
10. tango 506 09.07.08 18:49 Сейчас в теме
"Опубликуем html файл на нашем web сервере под именем, например, preved.htm. "
букофка l важна?
11. Трактор 1246 09.07.08 22:19 Сейчас в теме
"Опубликуем html файл на нашем web сервере под именем, например, preved.htm. " букофка l важна?
Нет. Главное чтобы ты к этой странице обращался браузером по тому имени под каким опубликована страница.
12. vgv8 12.11.08 14:20 Сейчас в теме
В чём проблема?

После нажатия кнопки
Поприветствовать web сервис
выдаётся messagebox с текстом
---------------------------
Windows Internet Explorer
---------------------------
Запрос завершился неудачно. Ответ сервера: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<html dir=ltr>



<head>

<style> a:link {font:8pt/11pt verdana; color:FF0000} a:visited {font:8pt/11pt verdana; color:#4e4e4e}

</style>



<META NAME="ROBOTS" CONTENT="NOINDEX">



<title>￿ ￿￿￿￿￿￿￿￿ ￿￿￿itle>



<META HTTP-EQUIV="Content-Type" Content="text-html; charset=Windows-1251">

</head>



<script>

function Homepage(){

<!--

// in real bits, urls get returned to our script like this:

// res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm



//For testing use DocURL = "res://shdocvw.dll/http_404.htm#https://www.microsoft.com/bar.htm"

DocURL=document.URL;



//this is where the http or https will be, as found by searching for :// but skipping the res://

protocolIndex=DocURL.indexOf("://",4);



//this finds the ending slash for the domain server

serverIndex=DocURL.indexOf("/",protocolIndex + 3);



//for the href, we need a valid URL to the domain. We search for the # symbol to find the begining

//of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker.

//urlresult=DocURL.substring(protocolIndex - 4,serverIndex);

BeginURL=DocURL.indexOf("#",1) + 1;

urlresult=DocURL.substring(BeginURL,serverIndex);



//for display, we need to skip after http://, and go to the next slash

displayresult=DocURL.substring(protocolIndex + 3 ,serverIndex);

InsertElementAnchor(urlresult, displayresult);

}



function HtmlEncode(text)

{

return text.replace(/&/g, '&').replace(/'/g, '"').replace(/</g, '<').replace(/>/g, '>');

}



function TagAttrib(name, value)

{

return ' '+name+'="'+HtmlEncode(value)+'"';

}



function PrintTag(tagName, needCloseTag, attrib, inner){

document.write( '<' + tagName + attrib + '>' + HtmlEncode(inner) );

if (needCloseTag) document.write( '</' + tagName +'>' );

}



function URI(href)

{

IEVer = window.navigator.appVersion;


---------------------------
ОК
---------------------------

13. Трактор 1246 12.11.08 14:34 Сейчас в теме
Я вижу только заготовок страницы с описанием ошибки, но самого описания ошибки нет.
Прокрути дальше и покажи что написано после тега <body>
Ты установил модуль web сервисов в IIS?
C:\Program Files\1cv81\bin\wsinst.exe -IIS
14. RomDron 21.11.08 08:56 Сейчас в теме
А продолжение будет??? Как с авторизацией быть?
197. abtat 1 26.06.13 15:24 Сейчас в теме
Спасибо за всю информацию, Трактор. В создании сервисов в демонстрационных конфигурациях ПоставщикWSDemo - ПолучательWSDemo я разобрался и свои ошибки нашел. Ваши демонстрационные сервисы и свой сервис по анализу серийных номеров приборов исправно работают как при вызове из другого 1С, так и при вызове из браузеров IE и Opera. Перенес пакеты ХДТО и сервисы в файловую копию рабочей системы и не могу справиться с аутентификацией. Сделал специального пользователя "UserWS" с паролем "аа" и дал ему роли пользователя, администратора и полные права.
Для вызова из другой 1С ввел его имя и пароль в конструктор «Новый WSОпределения(…)» вызывающей 1С, как указано в хелпе, и получаю ответ:

{Обработка.ПроверкаVEGAНомера.Форма.Форма.Форма(14)}: Ошибка при вызове конструктора (WSОпределения)
Определения = Новый WSОпределения("http://localhost/WebServicesDemo/ws/TestVegaSN.1cws? wsdl","UserWS","aa");

по причине:

Аутентификация пользователя не выполнена.

Для вызова из браузера добавил имя тестового пользователя и пароль в строку ib по образцу Вашего текста файла default.vrd из сообщения №105. Несмотря на это, у меня требуется пароль. Запрос приложил. Пытался вводить на нем как тестового пользователя с паролем, так и свое имя со своим паролем, а у меня все права и на компьютере, и в 1С, и в сети - все равно получаю ответ "Аутентификация пользователя не выполнена".

Все экземпляры 1С и браузеры расположены на одной машине, поэтому сетевых проблем быть не должно. Что делать?
Прикрепленные файлы:
199. Трактор 1246 02.07.13 23:50 Сейчас в теме
(197) С файловой базой вечно проблемы. Проверь наличие прав на каталог 1С у пользователя, под которым работает веб сервер. Если права есть, то попробуй переложить базу на сетевой диск или на диск с fat32. Должно помочь.
206. Manticor 66 06.09.13 12:27 Сейчас в теме
(199) никак не могу разобраться, воссоздавая Ваш пример по шагам)
1с 8.2, публикую веб сервис- скрин прилагаю) вы пишите, что файлик preved.1cws должен находиться в одной папке, но при стандартной публикации - его почему то там нет. И выезает ошибка на первом шаге Вашего руководства:

{"#exception":"{http://v8.1c.ru/8.1/data/core}Exception","exception":{"clsid":"9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3","descr":"Файл не обнаружен 'v8res://mngsrv/tr_preved.htm'","data":"77u/ew0KezlkYjFmYTM3LWI0NTUtNGYzZi1iOGRkLTdkZTBlYTdkNmRhMyw­i0KTQ\r\nsNC50Lsg0L3QtSDQvtCx0L3QsNGA0YPQttC10L0gJ3Y4cmVzOi8­vbW5nc3J2L3Ry\r\nX3ByZXZlZC5odG0nIn0sMSwNCnsidjhyZXM6Ly9tbmd­zcnYvdHJfcHJldmVkLmh0\r\nbSIsMH0NCn0="}}

Что нужно поменять?
15. Трактор 1246 21.11.08 09:57 Сейчас в теме
>> А продолжение будет??? Как с авторизацией быть?
А надо? Какие-то наработки ещё есть, но они не представляют собой качественного изменения. Только развитие изложенной идеи.
Среди обнаруженных ограничений нашёл что средствами javascript в 1С не получится по-человечески ни затолкать ни получить файл. Поэтому если требуется добавлять/читать файлы, то лучше использовать серверный язык, например PHP.

С авторизацией немного разобрался.
1. После танцев с бубном боги сказали что если база файловая, то ей лучше лежать на fat32. Тогда проблем с авторизацией средствами 1С нет.
Для файловой базы на NTFS авторизацию средствами 1С запустить не удалось, зато хорошо работает доменная авторизация.
Если к 1С обращаться серверным языком, то можно всегда это делать под одним пользователем с доменной авторизацией. Это не слишком безопасно, но работоспособно.
2. В клиент-серверной версии проблем с авторизацией нет. Прекрасно катит авторизация средствами 1С.
17. tango 506 10.12.08 13:54 Сейчас в теме
(15) "средствами javascript в 1С не получится по-человечески ни затолкать ни получить файл"
Извините, в чем проблема?
речь идет об обмене файлами между IIS и 1С
или между клиентом и сервером?
16. Трактор 1246 10.12.08 11:28 Сейчас в теме
Кстати, слабодокументированная возможность - анонимный доступ к базе. Для этого в опубликованном файле *.1cws надо указать имя и пароль
Вот пример файла primer.1cws

<?xml version="1.0" encoding="UTF-8"?>
<service namespace="http://primer.ru" name="РаботаСКлиентами" connectString="Srvr="192.168.0.8";Ref="uttest";Usr="traktor";Pwd="123456";"/>

Если теги покоцаются, то я не виноват.
aparinp; WiseSnake; +2 Ответить
18. Трактор 1246 10.12.08 16:49 Сейчас в теме
>> Извините, в чем проблема?
Речь идёт об отношениях между клиентом (браузером) и сервером (Apache, IIS).
1. При передаче файла клиенту 1C отдаёт XML файл в котором файл закодирован в base64. Браузер получает этот файл, закодированный в base64 и ничего с ним сделать не может. javascript не может записать файл на диск. Отобразить файл как картинку может только если размер файла меньше 4-х кБ.
2. При передаче файла на сервер наступаем на те же грабли, только с другого края. javascript не может прочитать файл клиента. Это ограничение безопасности. Если бы удалось обойти это ограничение, то проблем бы не было. На javascript.ru мне посоветовали отправлять файл на сервер, там PHP'ом кодировать в base64 и возвращать клиенту. Нафига это надо? Чем так легче РНР'ом сразу писать файл в web сервис 1С.
.
tango, если ты знаешь как обойти эти ограничения - подскажи. Моя благодарность не будет иметь границ в пределах разумного :-)
19. tango 506 10.12.08 16:59 Сейчас в теме
в порт-фолио две задачи по веб-доступу, обе без "сервисов", чисто СОМ-объект,
в модуле внешнего соединения формирую текст для asp-response, при этом файл на сервере
указывается просто как <A href="file">
а получаю из формы обыкновенным POSTом
единственное, на что наткнулся - и то - не грабли - просто не в лоб решается - удаление файла на сервере, 1ска во внешнем соединении этого не может
20. tango 506 10.12.08 17:06 Сейчас в теме
в модуле внешнего вся эта радость выглядит примерно так:
Код
// customers
Функция getCustList() Экспорт
СписокКонтрагентов = "";
Попытка
спр = Справочники.Контрагенты.Выбрать(Константы.КонтрагентыWWW.Получить());
СписокКонтрагентов = СписокКонтрагентов + "
|<table cellspacing=1 cellpadding=1 border=1 ID=Table>";
Пока спр.Следующий() Цикл
   Если SelCust.НайтиПоЗначению(спр.Ссылка)=Неопределено тогда
      Check =Ложь;
   Иначе
      Check = Истина;
   КонецЕсли;
   value = спр.Код;
СписокКонтрагентов = СписокКонтрагентов + "<tr><td><INPUT id=Check type=checkbox name=Check
|value="+value+" "+?(Check,"checked","")+">
|</td><td>"+спр.Наименование+"</td></tr>";   
КонецЦикла;
СписокКонтрагентов = СписокКонтрагентов + "</table>";
Исключение
Константы.Лог.Установить(Константы.Лог.Получить()+Символы.ПС+ОписаниеОшибки());      
КонецПопытки;
Возврат СписокКонтрагентов;
КонецФункции
Показать полностью
21. tango 506 10.12.08 17:09 Сейчас в теме
to support, фигня какая-то со слешами
22. Трактор 1246 10.12.08 17:36 Сейчас в теме
Пользовать com объекты тоже хорошее решение. Правда только для windows+IIS.
Файлы на сервере надо будет удалять ASP'ом после отдачи их их клиенту или после завершения сессии. Но тут я не силён.
23. tango 506 10.12.08 17:57 Сейчас в теме
фишка еще в том, что ком есть и для 77
удалять у меня по ходу не надо, админ удалит, ежели чё, потому и не заморачивался
но, похоже, решение на яваскрипте встроено:
Код
 var fso, f;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.CreateTextFile("c:\\testfile.txt", true);
f.WriteLine("This is a test.");
f.Close();
f = fso.GetFile("c:\\testfile.txt");
f.Delete();
Показать полностью

24. Трактор 1246 11.12.08 12:43 Сейчас в теме
ActiveXObject это не javascript. Это огромная дыра в безопасности IE. Твой код работает только в IE.
Если предполагается использовать только ИЕ, то да, твоё решение прокатит.
.
>> фишка еще в том, что ком есть и для 77
Базару нет. Для 77 предложенный тобой способ единственный. Иначе вживую к базе не достучаться. Для 8-ки он тоже хорош, серьёзных минусов назвать не возьмусь.
Но я бы отдал построение страниц web серверу, а из 1С отдавал только данные. Как говорится каждому своё.
28. tango 506 26.01.09 14:56 Сейчас в теме
(24) "ActiveXObject это не javascript. Это огромная дыра в безопасности IE. Твой код работает только в IE."
в IIS, да? до IE этот код, в общем-то не доходит, ранэтсервер, так сказать... :)
25. TbSasha 25.01.09 19:31 Сейчас в теме
Подскажите пожалуйста почему у меня не получается подключиться. В apache я все прописал вроде как надо. Пытаюсь подключиться и когда в браузере набираю http://localhost/ws/preved.1cws выводит {http://www.sample-package.org}:ЗдоровенькиБулы и когда нажимаю на это то выходит:

soap:Client Ошибка вызова операции сервиса: {http://www.sample-package.org}:ЗдоровенькиБулы:getWSDL() по причине: {WebСервис.ЗдоровенькиБулы(3,9)}: Неопознанный оператор по причине: {WebСервис.ЗдоровенькиБулы(3,9)}: Неопознанный оператор Ошибка вызова операции сервиса: {http://www.sample-package.org}:ЗдоровенькиБулы:getWSDL() по причине: {WebСервис.ЗдоровенькиБулы(3,9)}: Неопознанный оператор по причине: {WebСервис.ЗдоровенькиБулы(3,9)}: Неопознанный оператор

В чем может быть проблема?
26. seermak 665 25.01.09 19:52 Сейчас в теме
я искал в гугле по строке "inurl:"asmx?wsdl"" сервисы и их юзал
27. Трактор 1246 26.01.09 09:09 Сейчас в теме
25 Модуль web сервиса ЗдоровенькиБулы выглядит так:


Функция ПриветХлопцы()
Возврат "Здоровеньки булы, друзи!"
КонецФункции

Такая ошибка может выдаваться если
1. ты ничего не написал после слова Возврат.
Или
2. В свойствах метода ПриветХлопцы не указал тип возвращаемого значения string (http://www.w3.org/2001/XMLSchema)
29. Трактор 1246 26.01.09 17:44 Сейчас в теме
В 27 и это была попытка выделить текст курсивом. Не получилось :-( Не обращайте на них внимания.

28 tango, или ты или я не в теме. Я всегда считал что яваскрипт не исполняется на сервере. Это клиентский язык. Неужели я ошибаюсь?
30. zsergey 09.02.09 12:28 Сейчас в теме
Подскажите, пожалуйста, какие настройки нужно произвести, чтобы заработало под IIS?

Сейчас при нажатии на кнопку выскакивает сообщение:

"Запрос завершился неудачно. Ответ сервера:
<?xml version="1.0" encoding="UTF-8"?>
<service namespace="http:/sample-package.org" name="ЗдоровенькиБулы" connectString="File="C:\Work\1c\WSDemo";"/>."

C:\Work\1c\WSDemo - путь по которому расположены файлы конфигурации.
31. Трактор 1246 10.02.09 09:53 Сейчас в теме
Такой ответ говорит о том что IIS не видит компоненты 1С, обеспечивающей работу web сервисов.
Посмотри на файл *.1cws браузером. Обращение к нему может выглядеть так http://localhost/preved.1cws
Сервер должен выдавать ссылку в этом роде:
{http:/sample-package.org}:ЗдоровенькиБулы

Под этим текстом должна быть WS ссылка на получение описания сервиса.
http://localhost/preved.1cws?wsdl

Если ты увидишь что-то вроде {http:/sample-package.org}:ЗдоровенькиБулы, то это значит что модуль web сервисов в IIS установлен верно. До получения такой ссылки базу 1С трогать не стоит, IIS к ней ещё не обращается.
32. bme 217 13.02.09 06:18 Сейчас в теме
Подскажите, пожалуйста, как можно вызвать операцию из строки браузера?

Например: http://localhost/preved.1cws/ПриветХлопцы

Окружение: Apache 2.2, 1C 8.1.13, Win 2003
33. bme 217 13.02.09 09:14 Сейчас в теме
Разобрался, есть хороший инструмент для отладки web сервисов - SoapUI
34. Loshko_WR 05.03.09 14:21 Сейчас в теме
Скачал, установил по инструкции.
При входе на http://localhost/wwwroot/www1csrv/preved.htm пишет:
Запрос завершился неудачно. Ответ сервера:<?xml version"1.0" encoding="UTF-8"?><service namespace="htto://www.sample-package.org" name="ЗдоровенькиБулы" connectString="File="\\Ste\Base1c8\EnterpriseTE&;;">
Если открываю файл preved.htm из папки или из IIS то сначала открывается страница с кнопкой, после нажатия на нее выходит та же ошибка.
WinXP Pro, 1С:Предприятие 8.1 (8.1.12.101), УПП редакция 1.2 (1.2.19.1)
WEB расширение 1.1 на этом-же ПК и с этой же базой работает
Че делать-то??? СПАСИБО заранее.
35. Loshko_WR 05.03.09 14:53 Сейчас в теме
Сделал как в 31 ссылка http://localhost/preved.1cws?wsdl теперь ссылка есть.
Но при нажатии кнопки пишет ошибка доступа к файлу \\Ste\Base1c8\EnterpriseTE\1Сv8.cdn, а уменя его (1Сv8.cdn) в базе 1С по сетевому пути нет.
36. Трактор 1246 05.03.09 15:52 Сейчас в теме
(35) Это значит что ты пользуешь файловую 1Сину и в базе есть пользователи. Как бороть я уже писал. Либо снеси всех пользователей либо переведи базу в клиент-серверный вариант либо переложи на диск на с FAT32.
37. Loshko_WR 31.03.09 07:46 Сейчас в теме
По выложенному примеру сделал вывод списка платежек.
Но не знаю как передать параметры в вызов процедуры, чтобы можно было задать период выборки и, например, подразделение.
И еще как тут на форуме свои разработки выкладывать, а то мож кому пригодится.
38. Трактор 1246 31.03.09 09:44 Сейчас в теме
Отписался на странице разработки http://infostart.ru/projects/3748/
39. 1dz 22.04.09 16:33 Сейчас в теме
Здоровеньки Булы!
помогите заставить работать этот сервис, плиз
установил, пример 1 работает:
http://localhost/preved.1cws выдает:
http://www.sample-package.org}:ЗдоровенькиБулы
http://localhost/preved.1cws?wsdl выдает описание веб сервиса.

пример 2:
http://localhost/sotrudniki.1cws выдает:
{http://www.sample-package.org}:Сотрудники
http://localhost/sotrudniki.1cws?wsdl выдает:

- <ht ml>
- <head>
<title>A server error occurred.</title>
</head>
<h1>Неизвестная ошибка. server_addr=tcp://SERV1C:1562 descr=Ошибка сетевого доступа к серверу (Windows Sockets - 10054(0x00002746). An existing connection was forcibly closed by the remote host. ) line=1031 file=.\src\DataExchangeTcpClientImpl.cpp по причине: server_addr=tcp://SERV1C:1562 descr=Ошибка сетевого доступа к серверу (Windows Sockets - 10054(0x00002746). An existing connection was forcibly closed by the remote host. ) line=1031 file=.\src\DataExchangeTcpClientImpl.cpp</h1>
<hr />
An error occurred processing this request.
</html>

включен технологический журнал в дамп падает rphost
запускаем отладчик, вызываем ошибку, анализируем дамп:
In rphost__PID__952__Date__04_21_2009__Time_08_47_22PM__71__Sec­ond_Chance_Exception_C0000005.dmp the assembly instruction at backend!SCOM_Main+d180 in C:\1cv81\bin\backend.dll from 1C has caused an access violation exception (0xC0000005) when trying to read from memory location 0x00000000 on thread 5

Почему так? Жду помощи....
БД на MSSQL 2005 sp2, 1С 8.1.13.41, www -серверы были испробованы Apache2.2 и IIS6.
Может сразу в техподдержку?
40. Трактор 1246 22.04.09 21:37 Сейчас в теме
Я ничего толкового про эту ошибку сказать не могу.
Рекомендую обратиться к Славе Гилёву.
У него описаны способы лечения. http://www.gilev.ru/1c/81/error54/
41. Трактор 1246 22.04.09 21:43 Сейчас в теме
1С при обращении просит логи технологического журнала и дампы аварийного завершения. Если решишься обращаться в 1С, то укажи в logcfg.xml каталог для дампов:
<dump location="C:\Program Files\1cv81\dumps" create="1" type="3"/>

В технологический журнал пиши всё. Потом всё что получишь высылай в 1С может помогут.
42. 1dz 23.04.09 08:14 Сейчас в теме
http://www.gilev.ru/1c/81/error54/ видел, делал как написано, переустанавливал 1с и MSSQL на другом железе, дампы 1с есть, только читать их неизвестно чем. Напишу Гилеву
43. zorkKiy 18.05.09 17:49 Сейчас в теме
Подскажите, пытаюсь получить список сотрудников, получаю следующее:
____________________________
Запрос завершился неудачно. Ответ сервера: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Неверный аргумент. </faultstring>
<detail>Неверный аргумент. </detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
________________________

Web-сервис подключен - дебагер вываливается на брейкпоинте в модуле внешнего соединения (1С), а в модуль Web-сервиса не попадает. Я так понимаю ошибка происходит до вызова модуля Web-соединения. Причем с Web-сервисом "ЗдоровенькиБулы" все хорошо - отрабатывает как надо. Похоже входящий параметр как-то не так обрабатывается при разборе SOAP пакета..
44. Трактор 1246 18.05.09 21:08 Сейчас в теме
(43) Значит дело действительно во входном аргументе (параметре). Посмотри текст запроса, который идёт в 1С. У тебя, скорей всего, нет тега СтрокаПоиска.
Добавь хоть пустой тег <m:СтрокаПоиска> </m:СтрокаПоиска>

1С при получении запроса сначала проверяет его на соответствие WSDL. А в WSDL прописан обязательный входной параметр СтрокаПоиска. Только после этого управление передаётся твоему коду в модуле web сервиса.
45. zorkKiy 18.05.09 22:02 Сейчас в теме
<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <m:ПолучитьСписокСотрудников xmlns:m="http://www.sample-package.org"> <m:СтрокаПоиска xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">кар</m:СтрокаПоиска> </m:ПолучитьСписокСотрудников> </soap:Body> </soap:Envelope>
_________________________
Вот то, что уходит в 1С..
46. Трактор 1246 18.05.09 22:53 Сейчас в теме
(45) Только что проверил. Поднял заново сервис. Работает. Вот текст запроса.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sam="http://www.sample-package.org">
<soapenv:Header/>
<soapenv:Body>
<sam:ПолучитьСписокСотрудников>
<sam:СтрокаПоиска>вич</sam:СтрокаПоиска>
</sam:ПолучитьСписокСотрудников>
</soapenv:Body>
</soapenv:Envelope>

Попробуй http://83.237.194.40:180/ws/sotrudniki.1cws?wsdl
47. Трактор 1246 18.05.09 22:53 Сейчас в теме
имя пользователя inet без пароля
49. Arabo_xv 5 20.05.09 12:28 Сейчас в теме
Наличие базы в файловом режиме на разделе NTFS не создаёт проблемм с авторизацией. Там 3 уровня авторизации.
1 - Веб сервер
2 - Права доступа на файлы (в том числе и для файлов базы) для пользователя под которым запускается веб сервис.
3 - Авторизация в информационной базе.

В 99% случаях вы упираетесь в 2 пункт. Решение этой проблеммы простая настройка права доступа к вайлам.
50. fantasy2 03.06.09 17:34 Сейчас в теме
1с 8.1 файловая так работает?
51. fantasy2 03.06.09 17:54 Сейчас в теме
http://localhost/preved.htm
после загрузки этой страницы
видим кнопку "Поприветствовать web сервис"
при нажатии
или ошибка на весь экран
Запрос завершился неудачно Отвер сервера
<DOC TIPE HTMLPUBLIC DTD HTML 3.2 FINAL>
или кнопка меняет надпись на "ждем ответа" и все.
52. Трактор 1246 03.06.09 19:14 Сейчас в теме
(51) Ответ сервера похож на заголовок ошибки. Скорей всего причина в том что не подключён модуль wsap22.so (wsapch2.so, wsap22.dll, wsapch2.dll, wsisapi.dll) к web серверу. Проверь что возвращает http://localhost/preved.1cws
Если к фирефоксу подключишь firebug, то сможешь видеть запросы, ушедшие на сервер и полученные браузером. Они должны быть похожи на запросы, приведёные в статье.
Почитай обсуждение. Тут много писалось. Повторять не хочется.
53. ValentinV 24.06.09 10:10 Сейчас в теме
Здорово!
А в качестве сервера SOAP что-то другое, кроме 1с, использовать?
54. ValentinV 24.06.09 11:59 Сейчас в теме
Очень хорошо с методической точки зрения написано.
Я такого стиля очень давно не видал.
Огромное спасибо.
55. megatrend 128 15.09.09 15:58 Сейчас в теме
Путь к документации в doc-файле теперь должен быть такой : file:///c:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81.htm#_Toc176167634
56. mc2 19 31.10.09 11:54 Сейчас в теме
Может кто подскажет, почему не работает с 8.2?
Если указываю относительный путь в Open, то запрос не отсылается, если полный - статус ответа 0. Пытался такой же скрипт на 1С смоделировать - там возвращается ошибка 500. Что не так делаю?
57. Трактор 1246 31.10.09 21:22 Сейчас в теме
8.2 ещё не пробовал. Что браузер говорит при открытии http://localhost/preved.1cws ?
58. marsohod 123 05.12.09 02:57 Сейчас в теме
+
Мне тоже нравится SciTE ... :)
59. pk_xD 10.06.10 00:56 Сейчас в теме
кто нить подключал веб сервисы в асп, почему то когда вызываю метод сервиса пишет: There is an error in XML document (7, 4).
60. Трактор 1246 10.06.10 09:40 Сейчас в теме
(59) Сграбь снифером (сетевым монитором) ответ web сервиса и дай его сюда. Не видя xml документа трудно сказать что не так в четвёртом символе седьмой строки.
61. pk_xD 10.06.10 10:22 Сейчас в теме
омг... кажеться понял в чем ошибка, тип возвращаемого значения ф-ии был не тот...
теперь проблеема как в асп описать тип возвращаемого значения... ))
62. assan 11.07.10 22:07 Сейчас в теме
под IIS всё работало , поставил Apache, IIS убрал
вызовы .....xxxx.1cws и .....xxxx.1cws?wsdl возврвщают одно и тоже - содержимое файла xxxx.1cws
и, видимо поэтому, 1с не могу импортировать wsdl , получить ws ссылку.
63. Трактор 1246 11.07.10 22:14 Сейчас в теме
(62) Модуль 1С не подгружен в апач. Ты точно добавил в httpd.conf такую строку ?
LoadModule _1cws_module "C:\Program Files\1cv81\bin\wsap22.dll"
64. assan 11.07.10 22:39 Сейчас в теме
LoadModule _1cws_module "C:\Program Files\1cv81\bin\wsap22.dll"

добавил, с правами вроде нормально. Похоже, что модуль не подгружается, или ещё
ProcessMonitor пишет
Operation: QueryOpen
Result: SUCCESS
Path: C:\Program Files\1cv81\bin\wsap22.dll
65. Трактор 1246 12.07.10 11:45 Сейчас в теме
(64) Странно. С таким не сталкивался.
Версия модуля 1С совпадает с версией апача? Если апач 2.0, то надо писАть так LoadModule _1cws_module "C:\Program Files\1cv81\bin\wsapch2.dll"
66. assan 12.07.10 12:18 Сейчас в теме
версии соответствуют.
есть версия apache , которая проверена и работает? (а апач 2.2.15 скачивал с ихнего сайта, последняя версия, мож глючит)
и папка conf в которой есть изменения ?
скинь на мыло, может я чё в конфиге не то делаю.
67. Трактор 1246 12.07.10 14:08 Сейчас в теме
(66) lyay собака яндэкс точка ру пришли httpd.conf
69. Трактор 1246 12.07.10 14:20 Сейчас в теме
(66) раскопал у себя httpd.conf от 8.1
Оказывается я уже начал забывать как она публикуется. Файлы ws надо класть в папку, указанную в алиасе. Вот полная цитата публикации:

LoadModule _1cws_module "C:\Program Files\1cv81\bin\wsap22.dll"

Alias /ws "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\ws"

<Location /ws >
    DirectorySlash Off
    SetHandler 1cws-process
    Allow from all
</Location>
Показать
68. assan 12.07.10 14:17 Сейчас в теме
поставил ISS - работает.
останавливаю ISS, устанавливаю apache, (при установке пишу localhost)
в httpd вставляю
LoadModule _1cws_module "c:/Program Files/1cv81/bin/wsap22.dll"
в папку htdocs помещаю файл ***.1cws
обращаюсь http://localhosc/***.1cws и http://localhosc/***.1cws?wsdl
результат одинаковый.
останавливаю apache, запускаю IIS (http://localhost/ws/***.1cws?wsdl) - работает......
наверно я что-то не так настраиваю....
70. assan 12.07.10 15:16 Сейчас в теме
ТРАКТОРУ - УРА!!!!!!
для IIS рекомендую инструкцию Настройка IIS
75. assan 17.09.10 15:34 Сейчас в теме
ппробуй поставить IIS (70)
71. wonrims85 15.09.10 19:36 Сейчас в теме
Запускаю сервис, требует аутентификацию. Если ввести пароль и имя пользователя из 1с, то возвращает Ошибка соединения с информационной базой. Что за черт, уже всю голову сломал, в инструкции ничего про это нет. У меня apache 2.2?
72. Трактор 1246 15.09.10 20:28 Сейчас в теме
(71) почитай обсуждение. Этот вопрос задавался многажды. У пользователя под которым работает апач нет прав на файл базы 1С.
73. wonrims85 17.09.10 00:07 Сейчас в теме
(72) Дело не в этом, когда я удаляю всех пользователей из конфигуратора, то все работает, если добавить хотя бы одного, то при запуске веб-сервиса требует аутентификацию, причем пароль из 1с не подходит, у пользователя стоят полные права
74. Трактор 1246 17.09.10 07:48 Сейчас в теме
(73) Перейди на клиент-серверную версию. Это точно поможет.
76. DSirius 52 05.02.11 19:54 Сейчас в теме
Очень полезная и нужная статья.
А как реализовать загрузку в 1с измененных данныйх. На пример, изменили фамилию на сайте и эти изменения отразились в базе. Очень нужно реализовать именно такое взаимодействие и причем онлайн. На платформе 8.2
77. DimaP 63 15.04.11 09:12 Сейчас в теме
в 8.2 вообще файлы .1cws не публикуются :(
Как надо настраивать IIS для этого случая и каким образом делать обращение к веб-сервису?
Пока что экспериментирую на "Здоровеньки булы".

У меня задача такая: по переданному коду 1с должна возвратить таблицу с данными.
78. Трактор 1246 25.04.11 21:50 Сейчас в теме
(77)Что-то перестали приходить уведомления. В 8.2 обычно публикуются файлы default.vrd
79. vitalya24 233 09.09.11 03:15 Сейчас в теме
полезная весчь эти веб сервисы, реализовал при их помощи связь с тсд)))
80. 1cvirus 13 10.09.11 12:03 Сейчас в теме
Супер - наконец-то я хоть немного понял.
81. tartalia 26.09.11 12:18 Сейчас в теме
Мне удалось реализовать подключение для разработки таких WEB-интерфесов, почему-то 1С это не очень широко рассказывает.
82. kxl 07.10.11 11:46 Сейчас в теме
Примеры помогли в свое время
83. mehalyna 16.10.11 19:05 Сейчас в теме
Спасибо, пригодилось.
84. Gasdrubal 19.10.11 06:12 Сейчас в теме
Не работает под IIS? подскажите как нстроить? в чем различия? Может быть я пути неверно прописываю?
85. Трактор 1246 19.10.11 09:55 Сейчас в теме
(84) Пошаговая инструкция настройки web-сервисов для 1Сv8.1 и IIS 7.5/7.0 http://infostart.ru/public/75205/
Настройка веб-клиента 1С:Предприятие 8.2 под Windows 7 x64 и IIS http://infostart.ru/public/71480/
86. пользователь 19.10.11 10:01
Сообщение было скрыто модератором.
...
88. Трактор 1246 19.10.11 10:10 Сейчас в теме
(86) Всё верно написал. Так всё и есть. Или править настройки безопасности браузера, как это делает 1С, или работать php. Примеры даны на яваскрипте только для лучшего понимания внутренностей обмена меж браузером и веб сервером.
tango тебя тут врядли услышит.
87. пользователь 19.10.11 10:08
Сообщение было скрыто модератором.
...
89. ntvg 01.11.11 18:55 Сейчас в теме
Спасибо! Очень интересная статья
90. Oleg51 06.11.11 09:45 Сейчас в теме
при публикации веб-сервиса в папке с веб доступом появляется *.vrd, а не *.1cws
ошибка 405 после отправки данных на сервак, соответственно ответа нет.
91. Трактор 1246 06.11.11 16:33 Сейчас в теме
(90) Всё верно в 1С 8.2 публикуется именно default.vrd, а обращаться надо по адресу ИмяСервиса.1cws
92. mc1c80 09.11.11 15:44 Сейчас в теме
Не могу пока скачать файлы , но очень хочется.
Очень был бы рад, если бы кто-то выложил на другом сайте эту статью.
93. gorneev 12.11.11 18:11 Сейчас в теме
Это точно, пример очень нужный
95. zastep 17.11.11 15:45 Сейчас в теме
Интересно, надо попробовать [+]
96. Kaperang 98 22.11.11 17:34 Сейчас в теме
Объединил свою тестовую конфигурацию с конфигурацией из примера.
Платформа 8.2.13.219

Опубликовал на IIS под именем "AlfaTest82" в папку "C:\Inetpub\wwwroot\AlfaTest82\" с установленной галкой "Использовать аутентификацию операционной системы на веб-сервере".
В папке "C:\Inetpub\wwwroot\AlfaTest82\" при публикации был создан файл default.vrd следующего содержания:
<?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="/AlfaTest82"
		ib="Srvr="Srv1C:1641";Ref="AlfaTest82";">
	<ws>
		<point name="ЗдоровенькиБулы"
				alias="preved.1cws"/>
		<point name="Сотрудники"
				alias="sotrudniki.1cws"/>
	</ws>
</point>
Показать


Ввожу в браузере "http://localhost/AlfaTest82/preved.1cws"

Получаю сообщение: "Файл не обнаружен 'v8res://mngsrv/preved.1cws' "
Оставьте свое сообщение