Имя: Пароль:
1C
1С v8
v8: Сижу в html. Как выдернуть данные из 1с8.2??? https запрос
0 mirvel
 
18.07.12
22:48
Вообщем ситуация такая, на компе запустил веб-сервис 1с8.2 (т.е. могу подгружаться по тонкому клиенту через браузер)... но задача состоит в том, чтобы выдернуть из html данные хранящиеся в 1с8.2, ну допустим справочник.контрагенты. ОДним словом как написать, запрос по https, чтобы 1ска откликнулась и дала мне ответ на мой запрос
Заранее спасибо!
1 Asmody
 
18.07.12
22:59
(0) начни с отделения каши от тараканов и внятной постановки задачи
2 izekia
 
18.07.12
23:11
феерично
3 zladenuw
 
18.07.12
23:35
внешние соединение. процедуру которая вернет тебе то что надо.
4 mirvel
 
18.07.12
23:40
Kak v brauzere otobrazit spisok spavochnika 1c. Mojet tak ponyatno.
5 mirvel
 
18.07.12
23:52
3. da na storone 1c uje napisana funkziya dlya vozvrasheniya resultata v w/servise. kak etu funkziyu vizvat iz html
6 zladenuw
 
19.07.12
00:05
http://v8.1c.ru/metod/books/book.jsp?id=288 такая книга есть ?
7 mirvel
 
19.07.12
00:47
(6) Нету. а у тебя?
8 zladenuw
 
19.07.12
00:48
там есть пример использование веб сервиса для подключение к 8. но там вроде нужно так же подключатся к ней. логин ,пас
9 mirvel
 
19.07.12
00:50
(8) у тебя нету этой книжки?  мне как раз логином и пасом нужно
10 zladenuw
 
19.07.12
00:51
чисто как ты хочешь наврятли... если только сможешь вызвать веб сервис с этим методом. так не пробывал. но явно не штмл
11 zladenuw
 
19.07.12
00:51
есть. может где то в нете есть электронка поиши
12 izekia
 
19.07.12
00:52
(0) ты про вебсервис вообще или про вебклиента?
13 mirvel
 
19.07.12
00:52
14 zladenuw
 
19.07.12
00:52
веб сервис
15 mirvel
 
19.07.12
00:53
12. веб сервис работает. (если я правильно понимаю слово вебсервис)...т.е. 1ска отображается в браузере. Но мне не нужна целиком 1ска в браузере, а только нужны некоторые данные в ней...
16 izekia
 
19.07.12
00:54
то есть тебе в хтмл надо обратиться к вебсервису и вывести данные ... причем здесь эта книжка?
17 mirvel
 
19.07.12
00:55
12) получается мой запрос будет сделан из html файла...(ты этим подразумеваешь веб клиент)???
18 mirvel
 
19.07.12
00:55
16) мне не книжка нужна ))) а ответ )))   zladenuw советует найти ответ в ней
19 zladenuw
 
19.07.12
00:56
нет. веб клиент это не веб сервис.
20 mirvel
 
19.07.12
00:57
16) ДА запрос я хочу написать в хтмл, чтобы допустим получить всех контрагентов...
19) расмешил...это понятное дело
21 izekia
 
19.07.12
00:59
22 zladenuw
 
19.07.12
00:59
23 izekia
 
19.07.12
01:00
24 zladenuw
 
19.07.12
01:00
ех. раньше все говорили жми букву Я
25 izekia
 
19.07.12
01:01
(15) у тебя вебклиент или вебсервис? еще раз спрашиваю потому что никуя непонятно из этого потока
26 Asmody
 
19.07.12
01:09
судя по всему, пациент не внял добрым советам.
27 mirvel
 
19.07.12
01:14
25) вебсервис.
28 mirvel
 
19.07.12
01:14
26))))
29 zladenuw
 
19.07.12
01:18
стр 337 в этой книге :)
30 mirvel
 
19.07.12
01:27
(29) html не пахнет
31 zladenuw
 
19.07.12
01:30
а ты думал все так просто :)
32 mirvel
 
19.07.12
01:31
31) хе... а зачем все усложнять.... мне сказали что надо просто https запрос отправить... или post запрос...
33 izekia
 
19.07.12
01:32
(30) а ты не нюхай - ты читай
34 izekia
 
19.07.12
01:32
(32) нет
35 mirvel
 
19.07.12
01:33
30) ))) падаю от смеха... ))
чую проще можно вопрос решить
36 zladenuw
 
19.07.12
01:34
тогда читай как в нтмл отправить получить запрос от веб сервиса. это не 1с
37 mirvel
 
19.07.12
01:34
и зачем мне коннектиться к базе? веб сервис он и на то веб сервис чтобы я не парился
с подключениями
38 zladenuw
 
19.07.12
01:35
мне попадали примеры на шарпе асп
39 izekia
 
19.07.12
01:35
тебе нужно данные получить от вебсервиса, соответственно тебе надо к нему обратиться и прочитать ответ и выкинуть его ... но мне кажется ты говоришь про клиента, в таком случае тебе нужно ссылку, чтобы отобразить список контрагентов
40 mirvel
 
19.07.12
01:35
36) ну а я что делаю...читаю ваши строки, гуглю и копаю как говориться
41 izekia
 
19.07.12
01:36
в (23) смотри там как раз запрос к вебсервису 1С
42 mirvel
 
19.07.12
01:36
39) да точно не веб клиент. Представшь что код 1с мне вообще закрыт...а я тупо туплю и сижу на броузере
43 mirvel
 
19.07.12
01:39
41) да похоже...но проблема в том, что мне ответ какой то кривой приходит!!!  я посылаю такой запрос http://localhost/ko/Tracking.ws
а мне в ответ {"fail":{"#exception":"{http://v8.1c.ru/8.1/data/core}Exception","exception":{"clsid":"9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3","descr":"Файл не обнаружен 'v8res://mngsrv/tr
44 mirvel
 
19.07.12
01:40
пробывал и функцию вызывать  так http://localhost/ko#TrackingService:GetTrackingTable
45 mirvel
 
19.07.12
01:40
все равно не получается
46 mirvel
 
19.07.12
01:41
веб-сервис вертиться у меня на http://localhost/ko
47 zladenuw
 
19.07.12
01:43
может надо через хмл
48 zladenuw
 
19.07.12
01:43
где то видел ссылку. поищю
49 Asmody
 
19.07.12
01:51
с веб-сервисами 1Ски методом тыка разобраться не получится, надо доки читать. начать можно с того, как устроен SOAP (на нём в 1Ске веб-сервисы сделаны)
50 mirvel
 
19.07.12
02:05
49) мы и делаем что читаем...покамись получается читать то что не надо...http://www.w3.org/TR/wsdl
51 Asmody
 
19.07.12
02:14
(50) вот, wsdl — это уже хорошо, wsdl 1Совский веб-сервис отдавать умеет
52 mirvel
 
19.07.12
02:25
51) да блин...просто не получается как обычно бывает при изучении чего то нового
53 zladenuw
 
19.07.12
02:35
<?php
/*проверяем наличие передачи айди товара методом пост,
и если она была, соединяемся с веб сервисом*/
if(isset($_POST['id'])){
   //Создаём SOAP-клиент по WSDL-документу
   $client = new SoapClient("http://localhost/ws/ost_tov.1cws?wsdl");
   //создаём ассоциативный массив с названием ключа, совпадающим
   //с названием параметра операции веб-сервиса и передаём значение id
   $arr_params['id'] = $_POST['id'];
   //заключаем подключение в сервису в try catch, чтобы страничка товара
   //нормально отобразилась, на случай неудачного подключения
   try{
       //вызываем операцию GetOst сервиса и передаём асс. массив, в котором
       //одно значение $arr_params с ключем 'parameters'
       $ost = $client->__soapCall("GetOst",array('parameters' => $arr_params));
       /* $ost представляет собой объект класса stdClass
       в цикле выводим строку с остатком товара (наш сервис возвращает одно значение - остаток товара,
       айди, которого мы передаём в параметре) */
       foreach($ost as $property => $value){
           echo "<p><b>Остаток на складе, по данным 1С = ".$value."</b></p>";
       }
   }catch (Exception $e){
       echo "<p><b>Получить данные из 1С не удалось: ".$e->getMessage()."</b></p>";
   }
}
?>
54 zladenuw
 
19.07.12
02:37
по факту если есть веб сервис. мы можем получить любые данные или нет ?(51) отсылать прямые запросы к 1с или все таки есть ограничения
55 mirvel
 
19.07.12
03:08
53) будем нюхать спс
56 zladenuw
 
19.07.12
03:09
н.хать :) ты под чем ? :)
57 zladenuw
 
19.07.12
03:10
хотя да перл ведь написали под коксом
58 zladenuw
 
19.07.12
03:20
(55) но тут все равно метод веб сервиса,а не чистый запрос на нтмл
59 mirvel
 
20.07.12
05:47
короче них*ра не получается, мне ответ от сервера при httprequeste к веб-сервису дает след. ответ : {"fail":{"#exception":"{http://v8.1c.ru/8.1/data/core}Exception","exception":{"clsid":"9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3","descr":"Файл не обнаружен 'v8res://mngsrv/wsreport.1cws'","data":"77u/ew0KezlkYjFmYTM3LWI0NTUtNGYzZi1iOGRkLTdkZTBlYTdkNmRhMywi0KTQ\r\nsNC50Lsg0L3QtSDQvtCx0L3QsNGA0YPQttC10L0gJ3Y4cmVzOi8vbW5nc3J2L3dz\r\ncmVwb3J0LjFjd3MnIn0sMSwNCnsidjhyZXM6Ly9tbmdzcnYvd3NyZXBvcnQuMWN3\r\ncyIsMH0NCn0="}}}
60 mirvel
 
20.07.12
05:48
запрос делаю так....

xmlhttp.open('GET', 'http://localhost/wsreport/wsreport.1cws?wsdl', false, '', '')
xmlhttp.send(null)

 document.write(xmlhttp.responseText)

и так пробывал...

xmlhttp.open('GET', 'http://localhost/wsreport/wsreport.1cws', false, '', '')
xmlhttp.send(null)

 document.write(xmlhttp.responseText)

нифига не получается
61 mirvel
 
20.07.12
05:50
60 пост не правильный делаю запросы так....---------------------------------------------------
запрос делаю так....

xmlhttp.open('GET', 'http://localhost/wsreport/wsreport.1cws?wsdl', false, '', '')

xmlhttp.send(null)

 document.write(xmlhttp.responseText)

и так пробывал...

xmlhttp.open('GET', 'http://localhost/wsreport/wsreport.1cws', false, '', '')

xmlhttp.send(null)

 document.write(xmlhttp.responseText)

нифига не получается
62 mirvel
 
20.07.12
05:51
пробую покамись синхронный запрос, чтобы результат хоть какой то виден был...хотя пробывал и асинхронными и post с soapaction-ом...все равно не получается...
63 QLgKR
 
20.07.12
14:59
Путь к веб-сервису должен выглядеть так
http://localhost/<имя публикации>/ws/<имя веб-сервиса>?wsdl

Если этот адрес ввести в браузере, то должен загрузиться WSDL. Если этого не происходит, значит надо разбираться с публикацией.

И только потом уже пытаться вызывать веб-сервис.
65 Asmody
 
23.07.12
07:44
(64) и правила форума ты тоже не читал. теперь будет время
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.