Здравствуйте! У меня не типовая/самописная конфигурация 1С. В Creatio  создан не типовой специальный объект TiServiceDesk_Base, который содержит наряды TiWorkOrder подрядчиков Account.  Мне необходимо по запросу из 1С считать массив нарядов за месяц по конкретному подрядчику. Связываюсь по протоколу ODATA3. Коннектится все нормально, но когда делаю запрос, то код ошибки получаю 301. Видимо сам запрос некорректен.

Прошу помощи в виде примеров запроса через ODATA3 к таблицам Creation. В переписке видел, что есть ert-обработка на 1С с примером идентификации и запроса к базе. Можете мне ее выслать?

Сам SQL запрос выглядит так:

 

SELECT * FROM "TiWorkOrder"

LEFT JOIN "Account" ON "TiWorkOrder."TiContractorid"="Account"."Id"

WHERE "Account"."Cod" = 123456 AND "TiWorkOrder"."TiFactEndDate" > '2024-01-01' AND "TiWorkOrder"."TiFactEndDate" < '2024-02-01'

Нравится

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

Добрый день.



Вы можете найти примеры запросов Odata в документации:



https://documenter.getpostman.com/view/10204500/SztHX5Qb?version=latest

https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

Cherednichenko Nikita,

Не лучше ли выложить в community готовый пример 1С аутентификации и запросов GET, POST, который будет полезен всем последующим программистам 1С ? Команда Creatio заинтересована в дальнейшем развитиии проекта и последующих интерегациях с 1С?

Показать все комментарии

Добрый день! Перестала работаь синхронизация 1с - Creatio, которая была настроена через веб сервис. Интеграция работала в 1 сторону, данные с Creatio передавались в 1с. Пробовал получать доступ к сервису через Postman, все работает корректно, как на скринах 1 и 2, то есть аутентификация и последующий запрос дают результат

Когда те же действия происходят со стороны 1с, после попытки синхронизации данных появляется ошибка 401 - Unauthorized: Access is denied due to invalid credentials

 

При этом во время аутентификации ошибок нет, приходит статус 200 ок, пишет что подключение установлено, возвращает корректные значения типа (скрин 3):

 

{

    "Code": 0,

    "Message": "",

    "Exception": null,

    "PasswordChangeUrl": null,

    "RedirectUrl": null

}

 

но при попытке загрузить данные в 1с падет ошибка, "Непередбачений символ при читанні json" (скрин 4)

Если смотреть детальнее в чем причина, предоставлен xml

http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> http://www.w3.org/1999/xhtml"> 401 - Unauthorized: Access is denied due to invalid credentials. Server Error

401 - Unauthorized: Access is denied due to invalid credentials.

You do not have permission to view this directory or page using the credentials that you supplied.

Пользователи под которыми осуществляется вход, внесены в настройку "Не учитывать проверку доступа по IP-адресу"

 

Кто то может подсказать почему так происходит и как это исправить? 

 

Прикрепленные файлы

Нравится

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

Добрый день, Илья!

 

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

И дополнительно проверьте корректность заполнения Headers по примеру из статьи:

https://academy.creatio.com/docs/developer/integrations_and_api/data_se…

Kalymbet Anastasia,

сначала тоже думал что права доступа, но ту же ошибку получал и с под акаунта Supervisor. На сколько я понял, проблема оказалась в регистре заголовков колонок на стороне 1с, когда сменили регистр все заработало в штатном режиме

Показать все комментарии

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

Нравится

Поделиться

0 комментариев
Показать все комментарии

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

Нравится

2 комментария
Лучший ответ

1 Посмотрите на маркет плейсе уже готовые расширения для интеграции  с 1с от партнеров

Например: https://samarasoft.com/pt-1c-connector/

https://marketplace.terrasoft.ru/app/1c-connector-bpmonline

2 Просмотрите какие возможности по интеграции предоставляет bpmonline. Начать можно тут

Добрый день! Почитать Вам стоит о вебсервисах. Если конкретно об 1С, то очень кратко, но при этом раскрывая всю суть, есть например такая статейка https://habr.com/ru/post/136684/

1 Посмотрите на маркет плейсе уже готовые расширения для интеграции  с 1с от партнеров

Например: https://samarasoft.com/pt-1c-connector/

https://marketplace.terrasoft.ru/app/1c-connector-bpmonline

2 Просмотрите какие возможности по интеграции предоставляет bpmonline. Начать можно тут

Показать все комментарии

Никак не могу присоединится к 1с.
Изменила scr_Dataflow1CUtils как описано в статье https://community.terrasoft.ua/forum/topic/5359
Заполнила свойства интеграции, но тест соединения заканчивается ошибкой:
"Невозможно создание объекта сервером программирования объектов"
Нужно узнать где происходит сбой,на сервере, в 1с или в Terrasoft
Версия 1с 8.2, Terrasoft XRM Distribution+Service Desk 3.4

Нравится

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

Если у вас в списке не было 8.2 - необходимо сперва установить утилиту интеграции. Скачать её можно по ссылке: http://www.community.terrasoft.ua/system/files/1c_230512.zip
Внутри также есть инструкцию по установке.

Показать все комментарии

Здравствуйте!
Пытаюсь создать сотрудника через Odata из 1С.

Получаю вот такую ошибку:

version="1.0" encoding="utf-8" standalone="yes"?> xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">>4> xml:lang="">Unsupported media type requested.>>>Unsupported media type requested.>>System.Data.Services.DataServiceException>>   at System.Data.Services.Serializers.ODataMessageReaderDeserializer.Deserialize(SegmentInfo segmentInfo)
   at System.Data.Services.Serializers.Deserializer.HandlePostRequest()
   at System.Data.Services.DataService`1.HandlePostOperation(RequestDescription description, IDataService dataService)
   at System.Data.Services.DataService`1.ProcessIncomingRequest(RequestDescription description, IDataService dataService)
   at System.Data.Services.DataService`1.HandleNonBatchRequest(RequestDescription description)
   at System.Data.Services.DataService`1.HandleRequest()>>>A supported MIME type could not be found that matches the content type of the response. None of the supported type(s) 'application/atom+xml;type=entry, application/atom+xml, application/json;odata=verbose' matches the content type 'application/octet-stream'.>>Microsoft.Data.OData.ODataContentTypeException>>   at Microsoft.Data.OData.MediaTypeUtils.GetFormatFromContentType(String contentTypeName, ODataPayloadKind[] supportedPayloadKinds, MediaTypeResolver mediaTypeResolver, MediaType& mediaType, Encoding& encoding, ODataPayloadKind& selectedPayloadKind)
   at Microsoft.Data.OData.MediaTypeUtils.GetFormatFromContentType(String contentTypeHeader, ODataPayloadKind[] supportedPayloadKinds, MediaTypeResolver mediaTypeResolver, MediaType& mediaType, Encoding& encoding, ODataPayloadKind& selectedPayloadKind, String& batchBoundary)
   at Microsoft.Data.OData.ODataMessageReader.ReadFromInput[T](Func`2 readFunc, ODataPayloadKind[] payloadKinds)
   at System.Data.Services.Serializers.EntityDeserializer.Read(SegmentInfo segmentInfo)
   at System.Data.Services.Serializers.ODataMessageReaderDeserializer.Deserialize(SegmentInfo segmentInfo)>>>>

О чем эта ошибка? В чем может быть проблема?

Получение данных GET запросом работает. А вот POST и PUT дают ошибку.

Сформированный в 1C xml:

version="1.0" encoding="UTF-8"?>
xmlns="http://www.w3.org/2005/Atom">
        type="application/xml">
                xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
                        xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">Александр Пушкин>

                        xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">Александр Сергеевич>
                >
        >
>

Код 1С если интересно:

        XMLТекст = Новый ЗаписьXML;
        XMLТекст.УстановитьСтроку("UTF-8");
       
        XMLТекст.ЗаписатьОбъявлениеXML();
       
        XMLТекст.ЗаписатьНачалоЭлемента("entry");
        XMLТекст.ЗаписатьАтрибут("xmlns", "http://www.w3.org/2005/Atom");
       
                XMLТекст.ЗаписатьНачалоЭлемента("content");
            XMLТекст.ЗаписатьАтрибут("type", "application/xml");
               
                        XMLТекст.ЗаписатьНачалоЭлемента("properties");
                        XMLТекст.ЗаписатьАтрибут("xmlns", "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata");
                       
                                XMLТекст.ЗаписатьНачалоЭлемента("Name");
                                XMLТекст.ЗаписатьАтрибут("xmlns", "http://schemas.microsoft.com/ado/2007/08/dataservices");
                                XMLТекст.ЗаписатьТекст("Александр Пушкин");                           
                                XMLТекст.ЗаписатьКонецЭлемента();
                               
                                XMLТекст.ЗаписатьНачалоЭлемента("Dear");
                                XMLТекст.ЗаписатьАтрибут("xmlns", "http://schemas.microsoft.com/ado/2007/08/dataservices");
                                XMLТекст.ЗаписатьТекст("Александр Сергеевич");                             
                                XMLТекст.ЗаписатьКонецЭлемента();
                       
                        XMLТекст.ЗаписатьКонецЭлемента();
               
                XMLТекст.ЗаписатьКонецЭлемента();
               
        XMLТекст.ЗаписатьКонецЭлемента();
       
        СтрXML = XMLТекст.Закрыть();
       
        Соединение = Новый HTTPСоединение("demo.bpmonline.com",,"User","Password",,,Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Неопределено));
       
        АдресРесурса = "/0/servicemodel/EntityDataService.svc/ContactCollection";                                            
       
        HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
        HTTPЗапрос.Заголовки.Вставить("Accept", "application/atom+xml");
        HTTPЗапрос.Заголовки.Вставить("ContentType", "application/atom+xml;type=entry");
       
        HTTPЗапрос.УстановитьТелоИзСтроки(СтрXML);
       
        HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос); //POST

        Объект.ОписаниеОбъекта = HTTPОтвет.ПолучитьТелоКакСтроку();
       
        Соединение = Неопределено;

Нравится

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

Вопрос снимается.
ContentType пишется Content-Type :smile:

Показать все комментарии
Сейчас при экспорте в табличную часть документа/справочника в 1С всегда происходит добавление новой строки, а не ее поиск и обновление текущими данными из Террасофт. Таким образом, если не очищать каждый раз табличную часть, то в нее происходит добавление N строк, где N - количество строк в соответствующем датасете (например, детали) в Террасофт.Предлагаю реализовать возможность обновления строк в табличной части документа/справочника в 1С. В качестве ключевого поля использовать НомерСтроки. Конечно, со стороны Террасофт тоже должно быть аналогичное поле, которое хранит номер строки (ранее я озвучил идею добавления нумерации строк для детали "Продукты"). Для чего это нужно? В ситуации, когда в табличной части 1С храниться важная информация, которую нельзя просто так удалять/затирать, пригодиться эта возможность именно обновления данных в строке, а нее удаления и нового добавления. Алгоритм следующий. Для примера возьмем деталь "Продукты" и табличную часть документа. В детали "Продукты" заранее было добавлено поле "Номер", которое автоматически ставиться больше на 1 для каждой новой записи. При настройке синхронизации детали сопоставляем поле "Номер" в Террасофт с полем "НомерСтроки" в 1С. Снимаем галочку с поля "Не экспортировать", что будет в дальнейшем сигналом для обновления строк в табличной части, а не для их добавления. Если в настройках синхронизации табличной части не стоит "Очищать табличную часть", сопоставлено поле "НомерСтроки" с полем в Террасофт, не стоит галочка "Не экспортировать", то происходит обновление строки табличной части, а не добавление. Если при экспорте такого номера строки не находит, то происходит добавление строки. Пример как это сейчас сделано у меня. В функции ExportFields, чтобы избежать попытки записи в поле НомерСтроки, добавляем пропуск этого поля: // Kosh. 11.01.14. Modified: added skip LineNumber change if ((!IsAppend && !ObjectField.IsEdit) || IsEmptyValue(ObjectField.Name1C) || (Param.IsTabularSection && ObjectField.Name1C == 'НомерСтроки')) { // * Kosh         continue; } В функции ExportObject изменить код, где мы получаем Select1C строки табличной части: if (Param.IsTabularSection) {         Param.IsAppend = true;         if (Param.Version != 'V77') {                 // Kosh. 11.01.14. Modified: possibility to change line in tabular section                 var LineNumberObj = GetLineNumberObj(ObjectFields, Dataset);                 if (Param.DeleteData || !LineNumberObj.UseLineNumber) {                         Select1C = Param.Select1C[Param.TabularSectionName].Add();                 } else {                         Param.IsAppend = false;                         try {                                 Select1C = Param.Select1C[Param.TabularSectionName].                                         Get(LineNumberObj.LineNumber - 1);                         } catch(e) {                                 if (e.message.indexOf('Значение индекса выходит за границы диапазона') != -1 ) {                                         Param.IsAppend = true;                                         Select1C = Param.Select1C[Param.TabularSectionName].Add();                                 } else {                                         throw e.message;                                 }                         }                 }                 // * Kosh         } else { Используется функция: function GetLineNumberObj(ObjectFields, Dataset) {         var Result = {};         Result.UseLineNumber = false;         Result.LineNumber = 0;         for (var i = 0; i ObjectFields.length; i++) {                 if (ObjectFields[i].Name1C == 'НомерСтроки') {                         var ObjectField = ObjectFields[i];                         if (!ObjectField.DoNot && !IsEmptyValue(ObjectField.NameTS)) {                                 var TSLineNumber = Dataset(ObjectField.NameTS);                                 if (TSLineNumber) {                                         Result.LineNumber = TSLineNumber;                                         Result.UseLineNumber = true;                                 }                         }                         break;                 }         }         return Result; } Пример сделан для конфигурации 8.0-8.2.
1 комментарий

Добрый день!

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

Показать все комментарии

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

подскажите решение такой задачи.

Необходимо реализовать двухстороннюю интеграцию BPMOnline On-Site 7.0 с 1С 8.2:

1. При сохранении продажи в BPMOnline должен создаваться новый документ в 1С - заказ покупателя

2. При создании/сохранении в 1С документа Приходный кассовый ордер в BPMOnline должен изменяться статус продажи на "Завершена"

Какими средствами это лучше реализовать?

Насколько я понимаю 2 пункт реализуется с помощью oData методом PUT для изменения значения поля конкретной продажи.

Заранее благодарен

Нравится

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

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

Все верно, второй пункт: запрос по Odata к BPM. Писать придется на 1С-языке.

Пример обращения к Odata из 1С

Site = "http://site:8081/WebApp/";//СокрЛП(Константа.BPMonline_Site);
DeletedEntityQueryTextTitle = "0/ServiceModel/EntityDataService.svc/DeletedEntityCollection?$select=";
DeletedEntityQueryText1 = "Id,ID1C,EntityUId,ModifiedOn,Date,DocumentDate,Entity,DocumentDate,AccountType/Id,AccountType/Name,DocumentType/Id,DocumentType/Name,Division/Id,Division/Code1C,Division/Name";
DeletedEntityQueryText2 = "&$expand=AccountType,DocumentType,Division";
DeletedEntityQueryTextConditions = "&$filter=(ModifiedOn gt datetime'" + ModifiedDateFrom + "' and Division/Code1C eq '"+ DivisionCode + "') ";
DeletedEntityRequestText = Site + DeletedEntityQueryTextTitle + DeletedEntityQueryText1 + DeletedEntityQueryText2 + DeletedEntityQueryTextConditions;
OdataRequest = PreapareRequestHeader(DeletedEntityRequestText);
OdataRequest.SetCredentials("O.Kotko", "O.Kotko", 0);
OdataRequest.Send();

Первый - вопрос достаточно сложный. Рекомендую ознакомиться с этой темой:

http://www.community.terrasoft.ru/forum/topic/9527

Дмитрий, спасибо за ответ!

Ознакомился с постом. Насколько я представляю (пока теоретически) создается на сервере 1С COM-объект со ссылкой на COM службу 1С. Далее через .NET Remoting BPMonline обращается к нему.

Для реализации этого в бизнес-процессе необходимо добавить компонент C# скрипта, где реализовать логику обращения и работы с методами?

Валентин, это как один из вариантов.

Есть более "удачный" что ли вариант, работая через веб-сервисы 1С (это если 8.2).

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

Подскажите, данный вариант (1c_and_bpm70.rar) подходит только для bpm7, т.е. его нельзя использовать для bpm5.4?

Нет, почему... Можно, конечно, и под 5.4 использовать. Но, разумеется, результатов гарантировать Вам не могу.
Интеграция по этой технологии разрабатывалась и появится именно в 7.х в скором времени.

"Олейник Дмитрий" написал:

Валентин, это как один из вариантов.

Есть более "удачный" что ли вариант, работая через веб-сервисы 1С (это если 8.2).

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

Прикрепленный файлРазмер

1c_and_bpm70.rar
1.19 Мб

С уважением,

Олейник Дмитрий


Добрый день!

А есть файл Requests.rtf?

Добрый день,

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

ВЫБРАТЬ КОЛИЧЕСТВО(*) ИЗ Справочник.Контрагенты.Изменения

где справочник.контрагенты - объект 1с, подключенный к плану обмена.

Спс, попробую.

Добрый день!

Не совсем понятно что в bpm'online (Версия 7.6.0.840) нужно добавить чтоб синхронизировать данные (например справочник контрагентов). Есть какое то видео или наглядный пример? Буду очень признателен.

Роман,

по 1C Connector как раз недавно выпустили статью и 2 обзорных видео.

Для включения функционала нужно накатить пакет поверх вашей системы. Скажите, у вас система OnSite или OnDemand?

Александр,
спасибо за очередную попытку впарить 1C Connector. Но скажите, пжл, как этот чудо продукт поможет мне использовать web сервисы сторонних разработчиков? Например, банальную загрузку курса валют. Или web сервис из этой статьи... Меня интересует информация как программиста, а не как пользователя.

Роман, базовая версия продукта 1C Connector абсолютно бесплатна и в скором времени будет включена во все базовые сборки bpm'online.
Изначально вопрос стоял, чтобы по событию в bpm'online вызывался web-сервис 1С, именно по такому принципу работает 1C Connector.

Если Вы хотите из кода 1С получить данные "web сервисов сторонних разработчиков", то не совсем понятно при чем тут bpm'online:smile:. Если все таки Вы хотите получить данные в код 1С из сервисов bpm'online, достаточно обратиться к сервисам bpm'online по протоколу OData, как указано в 1м комментарии к этому посту.
В приведенной Вами статье нет ни слова про синхронизацию, только про одностороннее получение данных в 1С из внешних сервисов. Кстати там в дисклеймере написано, что указанный код НЕ будет работать в последних версиях 1С.
Кстати, чтобы отправить какую то информацию из 1С в bpm'online, мы тоже не пишем код на 1С. Мы используем план обмена и обращения ИЗ bpm'online В 1C. Это отдельная тема, обещаю пост на эту тему до конца месяца:smile:

Александр, мне нужно в bpm'online использовать web сервисы. Все равно чьи, будто 1С или другой поставщик. По скольку я сам программист 1С, мне проще создать web сервис в ней. Не понятно как в bpm'online использовать эти сервисы. Например, в 1С есть WS-ссылки в которые позволяют подтянуть web-сервисы и работать с ними... Принцип работы через план обмена мне понятен...
Мне к концу месяца нужно увязать 1С и SharePoint с bpm'online, иначе смысла дальше не будет мне изучать... :-(

P.S. Где я могу получить 1C Connector?
Заранее благодарен.

Роман, теперь понял задачу.
Вам нужно:

  1. Создать бизнес-процесс и повесить его на сигнал, например так:
  2. Написать скрипт обращения к веб-сервисам так, как бы вы его писали на классическом C#

Приведу 2 примера скриптов:

  1. Отправка сообщения через сервис смс-рассылки по протоколу SMPP (код намерено упрощен, отсутствуют дополнительные проверки):
    SmppClient mmclient = new SmppClient();
    SmppConnectionProperties mmproperties;
    TextMessage msg = new TextMessage();
    mmproperties = mmclient.Properties;
     
    mmproperties.SystemID = "someClient";
    mmproperties.Password = "somePassword";
    mmproperties.Port = 4442;
    mmproperties.Host = "server1.smstraffic.ru";
     
    mmclient.Start();
     
    msg.DestinationAddress = "+79023218417";
    msg.SourceAddress = "PTSOFT";
    msg.Text = "Ваш номер телефона успешно зарегистрирован. Код подтверждения " + code;
    msg.RegisterDeliveryNotification = true;
     
    mmclient.SendMessage(msg);
  2. Обращение к сервисам 1С из того же 1C Connector:
    System.ServiceModel.EndpointAddress ep = new System.ServiceModel.EndpointAddress(settings.Integration.OneCServer);
    System.ServiceModel.BasicHttpBinding binding = new System.ServiceModel.BasicHttpBinding();
     
    binding.Security.Mode = System.ServiceModel.BasicHttpSecurityMode.TransportCredentialOnly;
    binding.Security.Transport.ClientCredentialType = System.ServiceModel.HttpClientCredentialType.Basic;
    binding.MaxReceivedMessageSize = 2147483647;
    syncClient = new SyncService.PT1CConnectorPortTypeClient(binding, ep);
    syncClient.ClientCredentials.UserName.UserName = settings.Integration.OneCUser;
    syncClient.ClientCredentials.UserName.Password = settings.Integration.OneCPassword;
    syncClient.Open();

По 1C Connector напишите мне пожалуйста на почту - svistunov@samarasoft.ru, я скину все материалы, дистрибутив и инструкцию по установке.

Вопрос может и простой, но ответа сам найти не могу, BPM 7.6, 1C 8.2, интеграция с СамараСофт, веб сервис IIS создан без файла 1cws, а для ссылки, мне сказали, он обязателен, на форумах пишут что в 8.2 его нет, как поступить?

Владимир, добрый день!
Все очень просто - следуете в точности шагам инструкции, настраиваете работоспособность коннектора в соответствии с пунктами руководства, а уже потом можете пытаться варьировать параметрами настройки на основе рекомендаций сторонних форумов и опыта в 1С.
На сколько я понимаю, у вас сейчас проблемы с пунктом 1.3.3 руководства (НАСТРОЙКА СВОЙСТВ WEB-СЕРВИСА)?
Я прошу вас проверить, что все предыдущие пункты вы выполнили без отклонений в точном соответствии с руководством и прислать свойства веб-сервиса. Согласно инструкции, они должны выглядеть именно так:

Здравствуйте, Александр
Вот так у меня выглядит 1С
http://joxi.ru/RmzqJgpUE3oRrO
вот так я обращаюсь к нему через браузер
http://joxi.ru/5md7PWjc9dEQr1
и вот что я вижу в интеграции bpm
http://joxi.ru/RmzqJgpUE38RrO
в чем все таки проблема?

Добрый день!

У меня то же самое выдало сообщения. Платформа 8.3. При подключении к web-сервисам из другой 1С все работает...

Здравствуйте, у меня нет другой 1С...

Владимир, Роман, возможно, Вам будет полезна данная статья http://www.community.terrasoft.ru/blogs/10766 где также рассматривается вопрос по работе РТ 1С коннектора http://www.community.terrasoft.ru/blogs/10766 или статья на sdk где рассматривается работа через вебсервисы http://academy.terrasoft.ru/documents/docs/technic/SDK/7.4.1/Integratio…

Коллеги,

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

  1. НЕ указывать пространство имен
  2. Указать имя сервиса, как в инструкции
  3. Обращаться к созданному сервису, а не к веб-интерфейсу 1С, это принципиально разные вещи
  4. Проверил, сейчас даже базовый сервис не доступен - http://joxi.ru/a2XQZgdiP8lWAg

Владимир, просьба - устраните пожалуйста отклонения 1-4 от инструкции и напишите мне, если проблема сохранилась. Если сохранилась - подключимся и сразу решим!

Здравствуйте, Александр, у Вас ошибочка вкралась, не http://srdv-venta-nt.ru/bpmconnector, а http://srdv.venta-nt.ru/bpmconnector

Инструкция гласит http://joxi.ru/8An6R0LS6307AO, у меня http://joxi.ru/RmzqJgpUE3oRrO, так указывать пространство имен или нет, имя сервиса указано, bpmconnector и есть созданный сервис, файла 1cws в версии 8.2 нет

Владимир,
*.1cws в 8.2 есть, это я вам ответственно заявляю:smile:

И даже на Вашей системе, вот правильная ссылка, которая сформирована Вашей 1C с учетом Ваших настроек - http://srdv.venta-nt.ru/bpmconnector/ws/bpmconnector.1cws

Пропишите пожалуйста именно этот адрес на стороне bpm'online и попробуйте подключиться под своими учетными данными.

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

Небольшая ремарка: как мы Вам писали, пространство имен должно быть PT1CConnector.

С уважением,
Зайчиков Илья

Александр, этот вариант уже пробовался неоднократно, http://joxi.ru/Q2KpPxJFZDLkAj

Вот такой результат без bpm, http://joxi.ru/1A5z79NuLebMrE

Интересует более детальное описание, как правильно прописывать путь к веб сервису.
Вот у меня версия BPM onsite sales 7.6 установлена на компьютере, 1С Предприятие 8.2, имя публикации веб-сервиса ws1.1cws. Это все на локальном компьютере. Вот адрес системы: http://localhost:81/0/Nui/ViewModule.aspx#IntroPage/OmnichannelIntro Тогда как мне нужно прописать веб-сервис в 1С коннекторе?

Добрый день, коллеги! Проблема Владимира была выявлена. Она заключалась в том, что в логине прописали некорректные данные. Вместо английской буквы "Си" была использована, видимо, русская "С". Поэтому возникали ошибки. Сейчас веб-сервис доступен.

С уважением,
Зайчиков Илья

Николай, правильно писать путь следующим образом:

Например:
сервер stnd-1c-05
имя публикации Russia76
имя файла ws76.1cws

Ссылка: http://stnd-1c-05/Russia76/ws/ws76.1cws

Т.е. http://имя_сервера/имя_публикации/ws/ws1.1cws

С уважением,
Зайчиков Илья

Не могу понять, что мне писать вместо сервера stnd-1c-05?

У меня 1С на локальном компе.
http://localhost/TradeEntrUkr/ws/ws1.1cws не подходит, http://192.168.1.105/TradeEntrUkr/ws/ws1.1cws тоже не подходит.
Пишет: Not Found
The requested URL /TradeEntrUkr/ws/ws1.1cws was not found on this server.

В чем может быть причина?

Анатолій, добрый день.

Я правильно понял, что Вы прошли все шаги инструкции по установки до публикации и настройки сервисов включительно и сервисы у вас опубликованы и доступны из браузера, но недоступны из 1C Connector?

Да, я все проделал по инструкции. Я не знаю как проверить доступны ли они из браузера, потому как не понимаю, какой сервер прописать. 1С у меня на компе. Публикацию и настройку сервисов проделал.

Анатолій, смело добавляйте меня в скайп - поможем:smile:
aleksandr.svistunov@hotmail.com

P.S.: скайп сегодня подташнивает, поэтому можете написать на почту svistunov@samarasoft.ru

Боюсь, что нахожусь уже в черном списке поддержки Самарасофт, поэтому спрошу здесь на виду общественности :smile:
7.6.0 sales + 1с 8.3
В рамках самообразования проделал все шаги мануала по настройке коробочной интеграции.
Сервис созданный вижу в браузере, ссылка получилась вида "http://192.168.40.174/InfoBase/ws/PT1CCONNECTOR.1cws" и работает в браузере (то есть вебсервис 1c виден и откликается).
Но вот при запуске интеграции из bpm штатной кнопкой в логе вот такой текст:

13-10-2015 01:08:59:: message: Start Sync
13-10-2015 01:08:59:: message: Start Sync 80bb62e8-dbbe-4df3-9f68-6f2360b25ed1
13-10-2015 01:08:59:: message: to 1C. 1C Table:Контрагенты
13-10-2015 01:08:59:: message: to 1C. 1C Table:Контрагенты bpm table: Account
13-10-2015 01:08:59:: message: ESQ. Get 47 records
13-10-2015 01:09:00:: message: Start Sync 234f8e3a-d3f0-43a4-904d-02ae9b5e4a9b
13-10-2015 01:09:00:: message: Integration in bpm
13-10-2015 01:09:00:: message: start in bpm
13-10-2015 01:09:00:: message: Контрагенты
13-10-2015 01:09:00:: message: syncPairs.Count: 2
13-10-2015 01:09:00:: message: Запрос HTTP не разрешен для схемы аутентификации клиента "Basic". От сервера получен заголовок аутентификации "Basic realm="1C:Enterprise 8.3"".
13-10-2015 01:09:00: Error: error in  on 1C -> bpm'online with таблица bpm'online Account, таблица 1С Контрагенты, Запрос HTTP не разрешен для схемы аутентификации клиента "Basic". От сервера получен заголовок аутентификации "Basic realm="1C:Enterprise 8.3"".
13-10-2015 01:09:00:: message: Integration in bpm end

Очень хочется получить подсказку, куда копать и где искать причины того, что созданный вебсервис 1с не может достучаться до развернутого локально под iis сайта (правильно понял я источник проблемы?) - что надо хитрого сделать с настройками iis или windows server 2008 r2 (где развернут сайт), чтобы наконец соединение прошло?
1c вместе с вебсервисом поднято на другой машине под Windows 7, локальная сеть одна, домена нет.

Здравствуйте, Александр!

Написал ответ в тот же день, как Вы написали данный запрос.
Поддержка Программных технологий никого не ставит в черный список:)

Здесь может быть несколько вариантов:

1. Могут быть неверными логин и пароль
2. Может быть не включена анонимная аутентификация на iis
3. Возможно какой-то пункт из инструкции был сделан неправильно(к сожалению, такое чаще всего происходит)

Для более оперативного общение можно писать мне напрямую в скайп: zaichikovilya_samarasoft

С уважением,
Зайчиков Илья
Менеджер продуктов
ООО «Программные Технологии»
Центр разработки и внедрения Террасофт Поволжье
Тел. +7 (846) 266-55-69
samarasoft.com

"Зайчиков Илья Алексеевич" написал:1. Могут быть неверными логин и пароль
2. Может быть не включена анонимная аутентификация на iis
3. Возможно какой-то пункт из инструкции был сделан неправильно(к сожалению, такое чаще всего происходит)

Добрый день, Илья!

1. Логин/пароль в bpmonline задаются в параметрах синхронизации - там логин/пароль 1с верный, а вот для bpm только логин - проверил, все заполнено корректно.
2. Включена на стороне iis с вебсервисом и на стороне bmponline. Удостоверение анонимного пользователя=указанный пользователь IUSR
3. Вот это самое сложное, хотя проверял шаги несколько раз. Кстати кнопка Проверить соединение в настройках интеграции также выдает ошибку.

Пытался я разобраться с сертификатами для серверов, но безрезультатно. Мне все же кажется тут какой-то галочки или параметра не хватает в разрешениях на iis (недаром про протокол http пишет), понять бы хоть на каком)

Александр,

В таком случае нам нужно подключиться и посмотреть, что именно не так было настроено.

В котором часу Вы завтра можете предоставить нам доступ?

С уважением,
Зайчиков Илья
Менеджер продуктов
ООО «Программные Технологии»
Центр разработки и внедрения Террасофт Поволжье
Тел. +7 (846) 266-55-69
Сот. +7 (937) 076-12-84
samarasoft.com

Стучусь в скайп :)
Спасибо!

Показать все комментарии

Добрый день. Столкнулся с со следующей проблемой при импорте строк банковской выписки из 1С в Terrasoft CRM:

В функции OnBeforeRecordImport хочу проверить некоторые данные на основание которых принимается решение делать импорт строки или нет. Однако не все данные удается получить:

Например эти данные определяются:

Select1C.Содержание
"Оплата за оренду  згідно дог. № 221-10/Ар від 05. 02.2008 р.  у т.ч. ПДВ - 1166.67 грн."
Select1C.Заказ.Контрагент.Наименование
"Простір-Інформ"
Select1C.СуммаПлатежа
7900
Select1C.НомерСтроки
1
Select1C.НомерСтрокиДокумента
1

А вот эти нет, хотя они в документе 1С есть:

Select1C.НДС
undefined
Select1C.ПриходРасход
undefined
Select1C.ДокументЗаказ
undefined
Select1C.СуммаСНДС
undefined
Select1C.Счет
undefined
Select1C.ВидПриходаРасхода
undefined

Подскажите в чем может быть дело?

Нравится

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

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

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

Спасибо, уже сам разобрался, проблема была именно в этом.
Однако возникла другая проблема:
Мне нужно определить номер документа (договора или счета-фактуры) который привязан к данной строке банковской выписки в поле Заказ. Однако когда я пытаюсь получить его то поле Select1C.Заказ.Номер или Select1C.Заказ.Дата (дата документа) не определено:

Select1C.Заказ.Дата
undefined
undefined
undefined
Select1C.Заказ.Номер
undefined
undefined
undefined

в то же время например имя контрагента из документа я получить могу:

Select1C.Заказ.Контрагент.Наименование
"Українська дистрибуційна компанія"
"Партия Регионов"
"Кока-Кола Бевеpiджиз Укpаїна Лімітед"

А в родительской интеграции эти поля вытянуты?

Определяется ли Select1C.Заказ.Ссылка либо Select1C.Заказ.Наименование?

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

Проверьте свойства реквизитов "Заказ"а.

Также попробуйте найти документ заказа, а потом обратится к его реквизитам:

НайтиДокумент(ТекущийДок.СсылкаНаДокОсн)

Из всех реквизитов "Заказ"а доступен почемуто только "Контрагент":

Select1C.Заказ.Контрагент
{...}
Select1C.Заказ.Документ
undefined
Select1C.Заказ.Номер
undefined
Select1C.Заказ.Дата
undefined
Select1C.Заказ.Сумма
undefined

По поводу найти документ: Дмитрий я не совсем понял как это сделать... Нужно сначала создать какой-то объект 1С для поиска?

Попробуйте так:

var Number = null;
var Zakaz = Param.Obj1C.Документы.Заказ;
var ZakazViborka = Zakaz.Выбрать(null, Select1C.QueryLink.Ссылка);
//или
//var ZakazViborka = Zakaz.Выбрать(null, Select1C.Ссылка);
while(ZakazViborka.Следующий())
{
     Number = ZakazViborka.Номер;
}

Ошибки выдает. Если смотреть в дебагере:

Select1C.QueryLink
undefined
Select1C.Ссылка
undefined
Param.Object1C.Документы
undefined
Param.Object1C.Заказ
""

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

Предлагаю Вам написать о проблеме на support@terrasoft.ru чтобы мы зарегистрировали обращение, и запланировали данный сеанс.

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

Показать все комментарии

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

Не мог бы кто-нибудь дать общую ознакомительную информацию по интеграции продуктов BPMonline с 1С?
Спасибо.

Нравится

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

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

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

Дмитрий, спасибо за ответ.

Добрый день!

а если у нас стоит версия BPMOnline Telecom 5.4 ее можно обновить до 5.5 и получить интеграцию с 1С из коробки?

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

Следующая версия приложения BPMOnline Telecom будет реализована на платформе 7.4. Дата релиза пока не точно неизвестна, но ожидаем в ближайшие месяц - два. В данной версии приложения уже будет реализована коробочная интеграция с 1С. Андрей, для возможности обновления приложения, обратитесь, пожалуйста, письменным запросом в службу технической поддержки.

Добрый день!

Сергей подскажите BPMOnline Telecom на 7.4 уже вышел?

Добрый день, Андрей!

Планируется выход продукта bpm'online Telecom, сразу версии 7.5, ориентировочная дата выхода - конец текущего месяца.

Показать все комментарии