Демо связи веб сервисов 1С и php

19.07.13

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

Демонстрация обращения к веб сервису 1С из php. Пример простейший, уровня hello world. Дана одна страница и информационная база 1С с одним справочником и одним веб сервисом. Веб сервис выдаёт содержимое справочника по запросу странички.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Демо связи веб сервисов 1С и php.zip
.zip 45,13Kb
161
161 Скачать (1 SM) Купить за 1 850 руб.

Ранее я уже публиковал пример работы с web сервисами 1С из javascript //infostart.ru/public/16001/ и относительно сложную связку web сервисов 1С и cms Drupal //infostart.ru/public/59207/ В разработке  на Друпале можно видеть примеры полноценной работы из php с сервисами 1С.

В этом примере на web страничке отображается содержимое справочника. Для большей содержательности сделал поиск по наименованию. В первой таблице возвращщается всё содержимое справочника, а во второй одна строка.

Особенность работы php с soap в том, что, если сервис возвращает одно значение, то php получит объект, а если значений несколько, то массив. Обходится это просто. Нужно поместить объект в массив.

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

ib="Srvr="127.0.0.1";Ref="otladka";Usr="site";Pwd="site";">

В примере имя и пароль указыаются и в файле default.vrd и при в скрипте php. Можно оставить имя/пароль только в одном месте. Потому что, если имя/пароль указаны в default.vrd, то имя/пароль передаваемые при подключении игнорируются.

 

В файле, прикреплённом к публикации архив с выгрузкой базы 1С 8.3, файл default.vrd с указанными именем и паролем пользователя 1С, файл demo_web_service.php, который обращается к web сервису 1С по адресу http://127.0.0.1/otladka/ws/lyay.1cws?wsdl

Настройки изменяются прямо в коде. Если в справочник добавить ещё один элемент, содержащий в наименовании "Заг", то вторая таблица на страничке перестанет отображаться.

 


О сути времени

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    4311    5    0    

11

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

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

60000 руб.

07.05.2019    35827    71    45    

30

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

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

57600 руб.

26.11.2024    3289    3    3    

5

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

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

14400 руб.

20.12.2024    1382    9    2    

11

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

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

36000 руб.

03.08.2020    19662    24    24    

20

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    5512    5    2    

6

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

Решение осуществляет синхронизацию задач Битрикс24 и 1С, что позволяет в одной системе ставить задачи, контролировать выполнение всего пула задач с группировкой по ответственным и проектам, формировать управленческие отчеты по работе сотрудников (загрузка, просроченные задачи), уведомлять сотрудников о ходе выполнения задач посредством чат-бот Telegram

7200 руб.

04.05.2021    21298    14    19    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. zekrus 151 06.08.13 21:56 Сейчас в теме
Вопрос, а точно редакция 8.3 какая?
2. Трактор 1268 07.08.13 00:09 Сейчас в теме
(1) 1С 8.3.3.641 Почему спрашиваешь?
3. zekrus 151 07.08.13 08:26 Сейчас в теме
(2) Решил попробовать. Работает. В строке 28 надо вставить $
4. zekrus 151 07.08.13 08:27 Сейчас в теме
(2) Не в курсе можно ли через твою обработку с сайта файл передать в 1с?
5. Трактор 1268 07.08.13 09:39 Сейчас в теме
(4) Можно, конечно.
Передача файлов из 1С на сайт сделана тут http://infostart.ru/public/59207/
С сайта в 1С делается похоже. Как-то так:
	$data = file_get_contents('некийфайл.zip');
	  $Параметры = array('data' => $data,
                         'ИмяФайла' => 'некийфайл.zip',
                         'Описание' => 'Некое описание',
                         'К_ЧемуОтносится' => 'Идентификатор куда его лепить');
      $Ответ1С = $Клиент1С->add($Параметры);
6. zekrus 151 07.08.13 10:01 Сейчас в теме
(5) Очень хоца в этом примере посмотреть (для полной картинки так сказать).
7. format37 23.08.13 08:01 Сейчас в теме
После <?php

Нужна строка:

define("Клиент1С", 1);

Иначе при первом вызове if (is_soap_fault(Клиент1С)){
Из function ПодключитьсяК1С(){
не понимает откуда брать значение для сравнения
8. poyson 13.11.13 13:48 Сейчас в теме
9. user_2010 996 12.11.14 13:58 Сейчас в теме
Может быть вы поможете?
Есть такой вопрос: сделала веб-сервис в 1С, опубликовала, он работает в SoapUI, еще проверяли из других программ - работает... Но нужно его использовать в программе, которая работает на платформе SharePoint. Так вот у них мой веб-сервис не работает. Как они объясняют: не тот синтаксис веб-сервиса.

Вот такой синтаксис делает 1С:
xs:schema targetNamespace=
xs:element name=

А вот так надо SharePoint:
s:schema elementFormDefault=
s:element name=

Почему 1С делает "xs", а не "s"?

Т.е. вместо "<xs:..." должно быть "<s:...".

Как это сделать в 1С? Как изменить синтаксис опубликованного веб-сервиса?
10. Трактор 1268 12.11.14 14:49 Сейчас в теме
Почему 1С делает "xs", а не "s"?

(9) user_2010, 1С тут права полностью. Имя пространства имён, а речь о нём, в документации не определено. Это шарепойнтыпо ушам катаются. Пусть пользуют что есть.

Как изменить имя пространства имён в 1С я не знаю.
11. user_2010 996 12.11.14 15:29 Сейчас в теме
А как им использовать: у них выходит ошибка синтаксиса?
Я полгода назад делала для них тестовый веб-сервис, все работало. Но мой комп сломался и все умерло... сейчас даже не узнать - как выглядел веб-сервис тогда...
Куда копать????
а у вас как выглядят веб-всервисы xs или s?
12. Трактор 1268 12.11.14 15:44 Сейчас в теме
А как им использовать: у них выходит ошибка синтаксиса?

(11) user_2010, очень просто использовать. Принять имя пространства имён, которое даёт 1С. Поменять у себя там, где они предлагают менять тебе. В 1С имя пространства имён, на сколько мне известно, не меняется.

а у вас как выглядят веб-всервисы xs или s?

xs и xs1
13. user_2010 996 12.11.14 15:55 Сейчас в теме
Ага, понятно! Спасибо! Попробуем...
14. Anddy 14 20.05.15 16:14 Сейчас в теме
А можно ли как-то уйти от return при получении ответа? Например, у меня есть конструкция $result = $SOAP_client1->setUser($arr_data); что бы посмотреть ответ пользуюсь конструкцией $result->return; можно сделать так, что бы вместо return было что мое например $result->SetUserResult
15. Трактор 1268 20.05.15 17:51 Сейчас в теме
(14) >> А можно ли как-то уйти от return при получении ответа?
Совсем не уйдёшь, но можешь определить возвращаемые параметры.
Получишь возвращаемый параметр $result->SetUserResult и рядом с ним будет $result->return
16. Anddy 14 20.05.15 18:01 Сейчас в теме
(15) а этот возвращаемый параметр мне нужно задать через XDTO пакет? Если не сложно, в 2-словах?
17. Трактор 1268 20.05.15 20:05 Сейчас в теме
В свойствах параметра веб сервиса указываешь, что он выходной, в функции, обрабатывающей этот метод заполняешь переменную, соответствующую этому параметру. Ответ можешь посмотреть в soapui.
kasper076; +1 Ответить
19. Anddy 14 22.05.15 10:40 Сейчас в теме
(17) спасибо большое! Получилось.
18. Anddy 14 20.05.15 21:11 Сейчас в теме
Спасибо большое! Завтра буду пробовать!
20. kasperok 31 29.01.20 16:16 Сейчас в теме
Подскажите а если у меня на апаче включена идентификация как тогда делать запрос ?
Оставьте свое сообщение