Вопрос

Добрый день!

 

Есть необходимость используя php и guzzle ощаться с bpm-onlline.

При отправке запроса на ServiceModel/AuthService.svc/Login получа куки:

Array
        (
            [0] => BPMLOADER=3yc40pss3u0ccnpwidyytmcj; path=/; secure; HttpOnly
            [1] => .ASPXAUTH=41C3970536C74F5091C430C46DAE785145307948CA860C7A9A6320E06F9FFA85987459B1FA600C61C640103E27D920CD98BD802A2C5FF9F7533B58507FF2A0F374F8D218B0FA5C537A5305181B148E0A0045787DB4A0FF7D59D120BBC18B7E5F3A17671A0AC2E442B33F4537EA2A5EB4A102AF86D216DC88DBD210F2977D29F9D797C2643E20BAE9EE957CE45BA6B5C8465E52B92335E6BCD8B5C0DEE68F8B1F4E3CFF1EE80994C6447AD59070AF23608F686F78F60DE6996BC1D4818A0127E235E02FBA3B2AD1FBC6A589D295605F3B4146F266ACA37DCA2EE25ADD7D160364DD4701B60D63651DF95FD0F657717F15BBB7A6EEE3B78C6D9C5528ADB5959A1A31DA3D94AB8474310F8BC6FB851FCE199E07D2437C33385B3AC7F388DF23FD77D251E65A25A955A3CA36CAAB1D30A74DF25CF6C1D90F8253BA1882F8C00FF29E3A5BC04D93B6E0E19C758C7CF297A68E65D3858EAB7DB93C54D444F37FFEA7EDD3FA5E1E; path=/; secure; HttpOnly
            [2] => BPMCSRF=TKaiR1XzHZRmX8ZqM1f/X.; path=/; secure
            [3] => UserName=83|117|112|101|114|118|105|115|111|114; expires=Thu, 09-Aug-2018 14:26:58 GMT; path=/; secure; HttpOnly
        )

Хочу заметить, что при отправке данных через postman создается еще один BPMSESSIONID.

 

При следующем запросе беру значение BPMCSRF, а именно TKaiR1XzHZRmX8ZqM1f/X. и подставляю в хедер:

[headers] => Array
        (
            [Content-Type] => application/json;odata=verbose
            [BPMCSRF] => TKaiR1XzHZRmX8ZqM1f/X.
            [User-Agent] => GuzzleHttp/6.3.3 curl/7.47.0 PHP/7.1.15-1+ubuntu16.04.1+deb.sury.org+2
        )

 

Как вы могли догадаться я получаю 401 Unauthorized.

Подскажите, пожалуйста, какая последовательность действий? И что я делаю не так?
Через postman погу успешно обратиться к 0/rest/ConsimpleContactService/EditContactInfo и получить успешную обработку данных

 

Большое спасибо за помощь

У меня такой же вопрос

1 комментарий

Насколько понимаю, кроме недавно добавленной BPMCSRF нужно ещё получать при авторизации и потом отправлять обычную куку. См. информацию по AuthService и соседние статьи.

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Подозреваю что должно выглядеть это как то так, но не получается:

 

$url = 'https://MYSITE.bpmonline.com/0/DataService/json/reply/UpdateQuery';

                $arr = [
                    'RootSchemaName' => "Contact",
                    'OperationType' => "Delete",
                    'ColumnValues' => [
                        'Items' => [
                            'Skype' => [
                                'ExpressionType' => 'Parameter',
                                'Parameter' => [
                                    'DataValueType' => 'Text',
                                    'Value' => 'skype_login_4'
                                ]
                            ]                
                        ]
                    ],
                    'Filters' => [
                        'RootSchemaName' => 'Contact',
                        'FilterType' => 'FilterGroup',
                        'Items' => [
                                'FilterByUsrMainMail' => [
                                    'FilterType' => 'CompareFilter',
                                    'ComparisonType' => 'Equal',
                                    'LeftExpression' => [
                                        'ExpressionType' => 'SchemaColumn',
                                        'ColumnPath' => 'UsrMainMail'
                                    ],
                                    'RightExpression' => [
                                        'ExpressionType' => 'Parameter',
                                        'Parameter' => [
                                            'DataValueType' => 'Text',
                                            'Value' => contactemail@example.com
                                        ]
                                    ]
                                ]
                        ]
                    ]
                ];

$this->crm_curl($url, $arr, 10);

У меня такой же вопрос

1 комментарий

Добрый день.

Рекомендую сначала попробовать отправлять запросы через Fiffler. Например, запрос с телом 

{
   "QueryType":2,
   "Filters":{
      "FilterType":6,
      "ComparisonType":0,
      "Items":{
         "FilterByName":{
            "FilterType":1,
            "ComparisonType":3,
            "LogicalOperation":0,
            "LeftExpression":{
               "ExpressionType":0,
               "ColumnPath":"Number",
            },
            "RightExpression":{
               "ExpressionType":2,
               "Parameter":{
                  "DataValueType":1,
                  "Value":"Skup4",
               },
            },
         }
      },
   },
   "RootSchemaName":"ContactCommunication",
   "OperationType":0
}

удалит скайп "Skup4". И не забывайте про куки, и заголовки, более подробно на академии (запрос изменится для DataService) https://academy.terrasoft.ua/documents/technic-sdk/7-12/vypolnenie-zapr…

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

В CRM есть возможность в "Средствах связи" добавлять любое количество полей с одним названием. Например можно добавить сколько угодно Email. Может кто-нибудь знает как при создании Контакта добавить несколько Email?

Вот что я передаю:

            $arr = [
                'RootSchemaName' => "Contact",
                'OperationType' => "Insert",
                'ColumnValues' => [
                    'Items' => [
                        'Name' => [
                            'ExpressionType' => 'Parameter',
                            'Parameter' => [
                                'DataValueType' => 'Text',
                                'Value' => $Name
                            ]
                        ],
                        'UsrMainMail' => [
                            'ExpressionType' => 'Parameter',
                            'Parameter' => [
                                'DataValueType' => 'Text',
                                'Value' => $UsrMainMail
                            ]
                        ],
                        'Gender' => [
                            'ExpressionType' => 'Parameter',
                            'Parameter' => [
                                'DataValueType' => 'Guid',
                                'Value' => $Gender
                            ]
                        ],
                        'Skype' => [
                            'ExpressionType' => 'Parameter',
                            'Parameter' => [
                                'DataValueType' => 'Text',
                                'Value' => $Skype
                            ]
                        ],        
                        'MobilePhone' => [
                            'ExpressionType' => 'Parameter',
                            'Parameter' => [
                                'DataValueType' => 'Text',
                                'Value' => $MobilePhone
                            ]
                        ],        
                        'Phone' => [
                            'ExpressionType' => 'Parameter',
                            'Parameter' => [
                                'DataValueType' => 'Text',
                                'Value' => $Phone
                            ]
                        ],
                        'Email' => [
                            'ExpressionType' => 'Parameter',
                            'Parameter' => [
                                'DataValueType' => 'Text',
                                'Value' => $Email
                            ]                        
                        ],                    
                    ]
                ]
            ];        

У меня такой же вопрос

2 комментария

mlmvn

Деталь "Средства связи" на странице контакта = Объект "Средство связи контакта" = Таблица "ContactCommunication".

После вставки контакта, Вы можете добавить любое количество связанных средств связи контакта в сущность ContactCommunication, указывая связь с контактом.

Толмачев Дмитрий Юрьевич,

Спасибо!!

 

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Запрос в браузере возвращает результат нормально https://goldcoachcrm.bpmonline.com/0/ServiceModel/EntityDataService.svc…)

а вот если делать его на php curl  используя функцию http://prntscr.com/i5xuim тогда получаем вместо ответа ОШИБКУ

https://goldcoachcrm.bpmonline.com/0/ServiceModel/EntityDataService.svc…)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request</h2>
<hr><p>HTTP Error 400. The request is badly formed.</p>
</BODY></HTML>

 

С чем это может быть связано и как это обойти?

У меня такой же вопрос

1 комментарий

Добрый день. Посмотрите отправленные запросы через Fiddler и сравните их.

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день, у нас в црм есть раздел “сделки”, куда попадают анкеты с формы на сайте, также вся эта форма преобразовывается в pdf и с помощью odata прикрепляется к той же сделке в црм в "файлы и примечания".
Подскажите, пожалуйста, можно ли как-то реализовать, чтобы в случае изменения полей сделки менеджером в црм полностью пересоздавался/изменялся фал pdf с новыми параметрами или же можно как-то из бизнес-процессов вызвать php скрипт для создания pdf, передавая необходимый id?

У меня такой же вопрос

4 комментария

Здравствуйте, Мария!

В bpm'online можно реализовать процесс, который будет запускаться по изменению записи. Однако логику изменения/создания *.pdf файла необходимо будет реализовать на C#.

Здравствуйте!

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

спасибо за ответ :smile:, а реально ли сделать, чтобы все файлы из детали автоматически упаковывались в zip архив и при добавлении новых архив обновлялся, чтобы пользователь мог скачать по нажатию кнопки архив со всеми pdf?

В системе напрямую такой возможности нет, можно попробовать переопределить эту логику и добавить модулю архиватора на Javascript или С#, например https://habrahabr.ru/post/133129/

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день, сегодня ночью BPMonline обновилась до версии 7.10 и перестала работать авторизация: 403 - Forbidden: Access is denied. You do not have permission to view this directory or page using the credentials that you supplied.
Раньше осуществляли авторизацию по примеру из данной темы (http://www.community.terrasoft.ru/forum/topic/9613).
Можете, пожалуйста скинуть пример авторизации на php c добавлением CSRF-токена в заголовок запроса.

У меня такой же вопрос

3 комментария

Здравствуйте, Мария!

Готового запроса нет - его нужно писать. Если у вас получится, пожалуйста, поделитесь.

Спасибо за ответ.
получилось подкорректировать POST запрос, добавили вытягивание токена из файла:

$file = "cookie.txt";
$lines = file( $file ); 
$str =  $lines[6]; 
$prefix = "BPMCSRF";
$index = strpos($str, $prefix) + strlen($prefix);
$token = trim(substr($str, $index));

и добавили в заголовок:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json;odata=verbose',
		'BPMCSRF:' .  $token,
        'Content-Length: ' . strlen($json))
);

После обновления необходимо теперь добавить CSRF токен
Есть пакет который уже предоставляет интерфейс для BPM

Войдите или зарегистрируйтесь, чтобы комментировать
Публикация

Собственно хотел привести пример, да бы не свистеть "абстрактной реализацией", работы флекса с базой террасофта.
ВНЕЗАПНО, оказалось, что api флекса славно пашет под эклипсом(абсолютно бесплатно) и собственно никаких денег кроме как на пиво потрачено не было.
И так задача:
Реализовать подобие раздела террасофта с загрузкой файлов на клиент.
И так технологии, которые были выбраны.
Серверный язык: php. Для php был выбран фреймворк kohana, потому что название неплохое и ... и потому что я не знаю zend'а ;)
Собственно качаем фреймворк - качаем модуль для работы с MS SQL SERVER - качаем PDO драйвер - и можно в полный рост работать с привычным ORM'ом для субд.
В качестве сервиса был выбран http-сервис(не SOAP, oh sh~). Данные между сервером и клиентом ходят в формате JSON. Ну, потому что он легкий, елки-палки.
А теперь несколько слов о главном, а точнее о клиенте.
Вариантов было несколько, о том на чем таки реализовывать клиент. Лично мне крайне хотелось потрогать фреймворк ExtJS. Но в результате был выбран Flex 4 (это который слабо развивается).
Очень удобный функционал, портирования http-службы в классы AS3, мультизагрузка файлов, тонна скинов и, главное, никакой верстки :)

П.С. под катом скрин открытой карточки. Группы и реестр тянутся с http-служб. по сути все работает за счет аякса, только через флешовые объекты.

Поделиться

16 комментариев

Юрий, технологически все это круто, но зачем это простому смертному? Какую бизнес-задачу можно решить? :smile:

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

А можно ли с помощью этого организовать, например, оформление заявки на кредит на каком нибудь портале банка с попаданием данных в Terrasoft?

"Доленко Юрий" написал:Но в результате был выбран Flex 4

Юрий, я правильно понимаю, что это будет работать на маках тоже? Выглядит неплохо, сколько времени у вас заняло создание прототипа раздела?

"Осауленко Александр" написал:Юрий, я правильно понимаю, что это будет работать на маках тоже?

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

А вот теперь по поводу времени.
Мне с руки писать сервис под kohana ибо на прошлой работе я с ней работал(удобный роутинг, mvc патерн, структура проекта удобная и т.п.), по-этому тут малость не объективно. Для данной задачи - всего несколько операций (вопрос о времени - то написание сервиса(для данной задачи) - МАКСИМУМ пол-рабочего дня). Что касается флекса - клиент писал знакомый, который работает с флексом две недели. Как работать со службами, в буквальном смысле разбирались кликами, пробами и тестами.
Короче срок - два человекодня(пол дня на сервис - пол на клиент). Я к этому и вел, на самом деле...

"Шевченко Юрий" написал:А можно ли с помощью этого организовать, например, оформление заявки на кредит на каком нибудь портале банка с попаданием данных в Terrasoft?

Террасофт - это прекрасная штука. НО не стоит жать себя в ее рамки(в рамки API я имею ввиду), ведь по факту террасофт - это БД
Поетому еще раз. Любая.. э.. ЛЮБАЯ бизнес логика реализуема.
Собственно, это вам ответит любой вменяемый тех. спец. террасофта.

Юрий а можно поподробнее как реализовать связку БД Террасофта Flex. Сейчас есть задача реализовать небольшой веб интерфейс и я тоже смотрел в сторону Flex. Плохо знаком с данной технологией если вы поможете с примером буду вам очень благодарен.

"Мещеринов Иван Александрович" написал:Юрий а можно поподробнее как реализовать связку БД Террасофта Flex.

Для связки необходим посредник, который собственно будет работать с БД. В моем случае - это http-сервис, написанный на пхп. Для работы с MS SQL Server из "чистого" пхп необходимо в php.ini раскоментировать строку php_mssql.dll ну и соотвественно надо в расширениях(папочка ext) иметь эту библеотеку (тут важно, что бы она была именно вашей версии php). Потом вся работа с базой идет аналогично как и с MySQL, только функции уже вида mssql_, а не mysql_. В моем случае (использую фреймворк) все немного иначе, надо скачать модуль(посути набор классов для реализации ОРМ) и еще одну библиеотеку.

Потом из флекса жмете пункт меню Данные - и там можно выбрать с чем именно соеденится (soap, http и т.п. даже можно на лету сгенерировать пхп-классы для работы с БД, но меня это как-то насторожило и я особо не пробовал:) ) так же можно просто указать путь к wsdl схеме и он сам все распарсит - в результате создастся класс, который работает с вашим сервисом. Определяете для операций "слушатели" (функции реакции на ответ) и выкладываете данные уже в контролы. В понедельник - вторник вечером могу выслать вам 700 метров видео-уроков по флексу для начинающих (там все прекрасно и доступно описано практически обо всем).

я буду очень благодарен если вышлите уроки. А какую среду для разработки для Flex использовали? Я так понял ее можно как то в Eclipse SDK прикрутить?

Да можно прикрутить к Еклипсу, но его родное ИДЕ - это флеш билдер.
В целом флеш билдер очень похож на еклипс + там есть дизайн-режим для интерфейса.

А я как понял флеш билдер платный? И скачать с оф сайта почему то не могу его( не могли быть дать линк откуда можно скачать?

Да, он платный. Говорят, что где-то есть сломаный (на каких-нибудь торрентах, например;) ).
На работе все закрыто - не смогу поискать.

"Доленко Юрий" написал:Цель - показать, что строить террасофтно подобные интерфейсы в вебе - затея совсем не хитрая

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

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

Согласен. Только к чему это было сказано? Типа не стоило писать о таких элементарных вещах или что?

"Доленко Юрий" написал:Типа не стоило писать о таких элементарных вещах или что

Да ну при чем тут это? Это только значит, что интерфейс - это даже не пол дела, а основная задача при разработке будет в другом, только и всего. А с точки зрения примера - все отлично :)

"Доленко Юрий" написал:

Здравствуйте Юрий, извините за офтоп, не могу разобраться как отправлять личные сообщения.
Есть интернет магазин привязанный к террасофт, нужна помощь по настройке системы террасофт,
мой мой email 533651собакаmailточкаru Заране спасибо Никита

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!
Есть сайт, написанный на php.
Есть форма обратной связи.
Подскажите пожалуйста в какую сторону копать чтоб при отправке такой формы на сайте в Террасофте создавалась задача о том что с сайта послано сообщение.
Заранее спасибо!

У меня такой же вопрос

6 комментариев

Виталий Ковалишин где то на форуме писал по поводу реализации такого рода функционала.
вот http://community.terrasoft.ua/forum/topic/3971

Я видел эту тему

"Виталий Ковалишин aka samael" написал:Конечно можно!

Например, используя Web-сервисы:
http://community.terrasoft.ua/blogs/3521
http://community.terrasoft.ua/blogs/3522

Прямое соединение к базе... И т.д.


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

Хм.. Странно. Может временные проблемы со страрыми записями в блогах.

Добрый день!
Сейчас Вы можете открыть старници блога???
--
www.it-sfera.com.ua

Да, по ссылке: http://community.terrasoft.ua/forum/topic/3971
Есть пример кода подключения к firebird базе на php (последний пост).

--
www.it-sfera.com.ua

Ваш код, где-то такой должен быть (как пример для MS SQL):

<?php 
 
//connection to the database
$connect = mssql_connect($host, $usr, $pass)
  or die("<font color=red>Не могу установить связь с SQL сервером!</font>");
//select a database to work with
$selected = mssql_select_db($db, $connect)
  or die("<font color=red>Не могу открыть базу: $db!</red>");
 
$insert_query = "INSERT INTO [tbl_Task] ([ID], [StartDate], [Title]) VALUES (NEWID(), GETDATE(), 'Добавлена новая информация на сайте!' )";
 
$query = mssql_query($insert_query) 
or die ("<font color=red>Последнее сообщение SQL сервера: " . mssql_get_last_message() . "</font><br />\n");
 
mssql_close($connect);
 
?>

--
www.it-sfera.com.ua

Войдите или зарегистрируйтесь, чтобы комментировать
Публикация

В продолжение темы:

http://community.terrasoft.ua/blogs/3521

Хочу продемонстрировать работоспособный вариант использования каласса itsTerrasoftWS

Веб написан на PHP + AJAX

Приятного просмотра!

Поделиться

8 комментариев

Хороший пример. А сколько времени заняло создание примера?

Сергей:

1 день - разобрался с веб-сервисами Terrasoft и создал класс

2 дня (пятница-суббота) - написание данного веб-приложения

Использовал GPL библиотеки: XAJAX, pChart, MailClass (для нотификации на Email о добавлении нового инцидента)

Есть еще несколько идей - буду развивать... :)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Забыл детальку показать в разделе [Контрагенты]

--
www.it-sfera.com.ua
Terrasoft Solution Partner

А имя пользователя на ней есть?

А нужно? ;)

Тогда будет!

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Ну это мелкое замечание при взгляде со стороны. Думаю нужно.

Зачем имя пользователя? Имя пользователя в верхнем "гриде". Это ж деталька!

Женя, можно просто изменить приведенный в примере принцип аутентификации (не по контрагенту, а по контакту), тогда имя пользователя очень кстати :)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Войдите или зарегистрируйтесь, чтобы комментировать
Публикация

Здравствуйте!

Недавно, разрабатывая модуль отображения продуктов из TerrasoftCRM на сайте Заказчика, я решил попробовать проинтегрироваться с Веб-сервисами :)
Конечно, доставать данные напрямую из базы проще, но имея класс для интеграции с Веб-сервисами TerrasoftCRM, мы уже можем говорить о полноценной интеграции на уровне приложений! Вот и решил я написать такой класс :)

Язык программирования PHP ( >= 5.2.0 )
Представляю Вашему вниманию первые наработки в этом направление (будет востребовано - продолжу разработку).

Как же без примеров :)

Создаем объект и заполняем переменные:

$ws = new itsTerrasoftWS();
$ws->set_Host('http://10.10.10.10:81/crm/TSWebServicesServerLibrary.dll/wsdl/IServer');
$ws->set_Username('Supervisor');
$ws->set_MaxPackageSize($ws->get_MaxPackageSize() - 558);
$ws->set_wsClient();

Получаем маcсив с доступными конфигурациями:

$wsConfigurations = $ws->get_wsConfigurations();

Устанавливаем Соединение:

$ws->set_Configuration($wsConfigurations[1]);
$ws->OpenConfiguration();

Создаем XML-ый запрос и выполняем:

$SQL = "select [OfficialAccountName] from tbl_Account where ID = :AccountID ";

$ws->CreateXML($SQL);

$ws->CreateParam();
$ws->AddDBParam("AccountID", "1", "1", "0", "{DFC26A8C-C284-4FBF-9DE2-39E8D77F1915}");

$ws->ExecuteSQL();

Получаем XML-ый ответ, выводим и закрываем соединение

$xml = DOMDocument::loadXML( $ws->get_XMLResult() );
$params = $xml->getElementsByTagName('R');
$k=0;
foreach ($params as $param)
{
   echo $params->item($k)->getAttribute('F0')."
"
;
   $k++;
}
$ws->CloseConfiguration();

Надеюсь, что мой труд кому-то еще пригодится :)

Код класса itsTerrasoftWS выкладываю под MIT лицензией

Поделиться

18 комментариев

Осторожно, как бы там диалоговое окно случайно не выскочило.
Еще могут быть проблемы ести террасофт где-то течет по памяти. Да и по скорости думаю не самый оптимальный вариант.

Вы работали с веб-сервисами Terrasoft?

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Добрый день, Виталий!

Отличная новость. Уверен что многим участникам Community это поможет в реализации Web интерфейса.

По поводу окон, и остальных комментариев Underscore a.k.a. _. К счастью Вы ошибаетесь. Все эти вопросы не проблемы для наших Web сервисов, хотя есть другие вопросы.

Да, Сергей, не все там еще учтено... это пробные наработки, но уже работоспособны! :)
Вот пример:
http://community.terrasoft.ua/blogs/3522

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Прошу прощения, я почему-то упустил, что это WEB-сервисы :)

"Underscore a.k.a. _" написал:Прошу прощения, я почему-то упустил, что это WEB-сервисы :)

Интересно, а что тогда? :)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Я думаю что Underscore a.k.a. имел в виду, что в принципе можносуществует и еще два варианта

  1. Работа с БД напрямую (что в этом случае схоже с Web сервисам)
  2. Работа с COM объектами Terrasoft, но тут могут возникнуть вопросы с PHP, и те проблемы, о которых писал Underscore a.k.a.

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

А Web-сервисы - это HTTPS ;)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Относительно

"Карло Сергей" написал:Работа с COM объектами Terrasoft

Тогда (как и с ASP.NET) мы опять себя ограничиваем только Windows-хостингом

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Конечно же, у каждого конкретного варианта есть свои плюсы и минусы.

"Карло Сергей" написал:Работа с COM объектами Terrasoft

Я действительно подумал об этом. Какие же диалоги, если работаем с WEB-сервисом.

Продолжая тему OpenSource :)
Открыт доступ к SVN данного класса! Все желающие всегда смогут скачать последнюю версию:

https://it-sfera.com/svn/itsPHPts/

Если Вы используете в своих PHP решениях интеграцию с веб-сервисами Terrasoft и хотите помочь в развитие данного класса - обращайтесь в личку, открою для Вас полный доступ к данному SVN ;)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Спасибо за пример.

Вопрос скорее к сотрудникам Terrasoft.

Скажите, а подобное подключение потребует отдельной лицензии?

Открывая конфигурацию используя веб-сервисы Террасофт, Вам необходимо указать пользователя лицензированного в Террасофт...

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Пример для последней версии класса.

--
www.it-sfera.com.ua
Terrasoft Solution Partner

"Виталий Ковалишин" написал:example.zip 2.37 кб

Что-то этот файлик уже не доступен, да и ссылка на SVN на работает...

Коллеги приветствую,

Неможем скачать example.zip.
Продолжение по ссылке: http://www.community.terrasoft.ru/forum/topic/11126#comment-50135

Спасибо

Нашел :wink: и перезалил на github.

Войдите или зарегистрируйтесь, чтобы комментировать