Доброго времени суток!

Прошу подсказать - столкнулся с такой задачей:

Нужно добавить данные из иксель таблицы, но в справочнике нет импорта данных. 

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

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

Нравится

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

Добрый день.

 

Вносите данные через пункт [Импорт данных] главного меню:

 

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

Есть ли возможность добавления/импорта pdf файла в выбранный объект системы

Нравится

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

Создайте поле с типом Двоичные данные и кладите в него файл.

 

Добрый день! Не могли бы Вы подробнее описать процесс добавления pdf файла в (допустим разделе контакты/ вкладке основная информация). Не очень понимаю как создать поле с типом данных двоичный код. Заранее спасибо за ответ!

Тимур Макаев,

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

Добрый день
Имеется ли в црм облаке , способ получать файл напрямую к примеру document.docx
или это можно сделать только с помощью прикрепления на файлы и примечания
Если все таки только файлы и примечания, то как я могу прикрепить туда файл
Как я понимаю, необходимо сначала в стриме получить массив байт, а после только проводить запись, но какие библиотеки и какие методы нужны для этого в террасофт

Нравится

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

Если на карточке раздела есть деталь файлы и ссылки обычно это объект {SectionName}File. К примеру для активностей это ActivityFile. 

Вот пример создания записи на детали Файлы и ссылки. Вам необходимо получить поток с файлом и записать его в поле Data.

 

Stream stream = new MemoryStream(byteArray);
var size = Convert.ToInt32(stream.Length);

 

var insertActivityFile = new Terrasoft.Configuration.ActivityFile(context.UserConnection);
        insertActivityFile.Id = Guid.NewGuid();
        insertActivityFile.SetDefColumnValues();
        insertActivityFile.Name = "Name.txt";
        insertActivityFile.SetStreamValue("Data", stream);
        insertActivityFile.Size = size;
        insertActivityFile.TypeId = new Guid("529BC2F8-0EE0-DF11-971B-001D60E938C6");
        insertActivityFile.Version = 1;
        insertActivityFile.ActivityId = activityId;
        insertActivityFile.Save();

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

 

Если на карточке раздела есть деталь файлы и ссылки обычно это объект {SectionName}File. К примеру для активностей это ActivityFile. 

Вот пример создания записи на детали Файлы и ссылки. Вам необходимо получить поток с файлом и записать его в поле Data.

 

Stream stream = new MemoryStream(byteArray);
var size = Convert.ToInt32(stream.Length);

 

var insertActivityFile = new Terrasoft.Configuration.ActivityFile(context.UserConnection);
        insertActivityFile.Id = Guid.NewGuid();
        insertActivityFile.SetDefColumnValues();
        insertActivityFile.Name = "Name.txt";
        insertActivityFile.SetStreamValue("Data", stream);
        insertActivityFile.Size = size;
        insertActivityFile.TypeId = new Guid("529BC2F8-0EE0-DF11-971B-001D60E938C6");
        insertActivityFile.Version = 1;
        insertActivityFile.ActivityId = activityId;
        insertActivityFile.Save();

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

Добрый день

 

Есть интересная задача. Надо в БП по событию подключится к стороннему серверу MS-SQL и выполнить хранимую процедуру с двумя параметрами, которая вернет нам таблицу данных. Далее эту таблицу данных сохранить в кастомном разделе в системе и настроить связи с другими объектами.

Затык именно в подключении к стороннему серверу БД и вызове процедуры.

В MSSMS это выглядит как:

EXECUTE [dbo].[GetDataForCRM] @nomer,@date 

 

Нравится

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

Добрый день!

Пробовали ли настраивать линкованные серверы? Если получится подключить сторонний сервер, то можно будет отправлять на него sql-запросы.

Добрый день!

Пробовали ли настраивать линкованные серверы? Если получится подключить сторонний сервер, то можно будет отправлять на него sql-запросы.

Указать имя сервера

Логин и пароль

Разрешить RPC для вызова ХП

Спасибо, помогло, частично. в MSSMS могу вызвать как

EXEC [LinkedServer].[LinkedDB].[dbo].[GetDataForCRM] @nomer,@date 

Как передать что надо вызывать на связанном сервере? Если я указываю полный путь процедуры, а не только имя, то получаю

EXEC [dbo].[[LinkedServer].[LinkedDB].[dbo].[GetDataForCRM]] @nomer,@date 

 

Алексей, функцию на связанном сервере запускают специальным образом, через OPENQUERY или sp_executesql, см. примеры тут.

SELECT SomeField
    FROM OPENQUERY([YOURSERVER], 'SELECT * FROM [SOMEDB].dbo.fn_SomeRemoteFunction(NULL)') tst

 

Зверев Александр,

т.е. через

StoredProcedure getDataForCRM = new StoredProcedure(UserConnection, "GetDataForCRM")
				.WithParameter("nomer", numberDoc)
				.WithParameter("date", dateDoc) as StoredProcedure;

не выйдет получить данные?

Так запускается хранимка на локальном сервере БД, а вопрос был о запуске на другом, связанном.

 

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

 

Также не очень понятно, Вам нужно хранимую процедуру или таки функцию? Таблицу с результатами может возвращать последняя.

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

Доброго дня, имеется bpm которая при GET запросе 0/ServiceModel/EntityDataService.svc/ContactColletion возвращает xml с контактами, можно ли GET запросом возвращать JSON и если да, то где про это написанно? Если нельзя, то как вернуть JSON для oData 3?

Нравится

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

Добавьте header к запросу

Accept: application/json;odata=verbose

Добавьте header к запросу

Accept: application/json;odata=verbose

я смог сделать это в постмане, но все же не понятно, мб подскажете возможно ли в террасофте возвращать json по обращению к uri, если можно сделать это не переписывая сервис, буду благодарен за подсказку)
условно я иду по адресу /0/ServiceModel/EntityDataService.svc/ContactCollection и мне падает 
 

{

    "d": {

        "results": [

            {

                "__metadata": {

                    "id": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…",

                    "uri": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…",

                    "type": "Terrasoft.Configuration.Contact"

                },

                "Photo": {

                    "__deferred": {

                        "uri": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…"

                    }

                },

                "Owner": {

                    "__deferred": {

                        "uri": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…"

                    }
...и т.д.

Насколько понял, только заголовком. Такой формат здесь не поддерживается: «ContactCollection?$format=json». А в OData 4 по умолчанию идёт JSON.

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

Добрый день!

Подскажите, пожалуйста, возможное решение. Может кто-нибудь сталкивался с подобной задачей. Необходимо распознать текст во входящем письме и подтянуть данные из данного письма в созданные внутри системы поля. Данные могут находиться как в теле письма (например, в созданной отправителем таблице), так и во вложении. Каким образом этот функционал внедрить в СRM, существуют ли подобного рода расширения для BPM'online?

Нравится

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

На маркетплейсе есть настраиваемый полнотекстовый поиск, но это решение для пользовательского поиска, что для Вашей задачи, вероятнее всего, не подойдет.

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

На маркетплейсе есть настраиваемый полнотекстовый поиск, но это решение для пользовательского поиска, что для Вашей задачи, вероятнее всего, не подойдет.

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

Если входящее письмо создаётся по шаблону, то это не такая сложная задача. Например, мы читаем из письма в поддержку некоторые параметры (из тела письма ищем номер после текста "Serial number:"):

string description = Get<string>("UsrDescription");
string usrSerialNumber = "";
Regex RegexHtml = new Regex("<[^>]+>", RegexOptions.IgnoreCase);
 
Regex firstRegex = new Regex(@"(?<=Serial number:)(.*?)(?=<o:p>)");
 
Match firstMatch = firstRegex.Match(description);
if (firstMatch.Success)
{
    usrSerialNumber = firstMatch.Value;
    usrSerialNumber = RegexHtml.Replace(usrSerialNumber, " ");
    usrSerialNumber= usrSerialNumber.Replace("&nbsp;", " ");
    usrSerialNumber = usrSerialNumber.Trim();
}
 
Set("UsrSerialNumber", usrSerialNumber);
return true;

Если же письмо абсолютно произвольное, то это уже задача для AI

Алла Савельева,

Cпасибо за ответ и совет, но как вы верно поняли, нужен продукт иного рода.

Владимир Соколов,

Спасибо за ответ. Вы уточнили, что если письмо произвольное, то это задача для AI. Т.е. вы уже пытались такое реализовать или просто предполагаете?

Соответствующие разработки есть у Google, Яндекса и подобных — в произвольной формы тексте письма и вложениях вычленять счета, билеты, напоминания в календарь и прочее.

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

Коллеги, добрый день! С чем может быть связана проблема, что при запуске импорта (12, 5 тыс строк всего то) импорт просто висит часами на 0% и ничего не происходит.

Маленькими порциями (10) этот пакет заходит.

 

 

Нравится

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

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

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

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

И просмотрите рекомендации по подготовке файла для импорта данных

 

 

 

Григорий Чех,

Григорий, спасибо! аналитик пока кусками делает... попозже попрошу выгрузить логи...причину понять хо

чется).

 

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

Как сделать связь между BPM и другим любым сайтом.

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

Возможно ли это сделать только на стороне BPM имея доступ к БД сайта?

Нравится

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

Возможно - Конфигурационный сервис.

А еще можно поискать в Разделе Документация полную инструкцию bpmonline_development_guide.pdf

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

Добрый день. Не получается загрузить Телефоны, адреса, платежные реквизиты из 1С в ТС.
Контрагент создаётся, при загрузке создаются элементы видов телефонов и адресов, а сами значения не грузятся. почему не понятно.
Настраивал на основе этого видео.
Но там как-то отрывисто рассказывается и в первый раз вообще адреса не загрузились, а потом вроде без ошибок, но результат не показали.

В итоге вроде с виду выглядит всё как надо, результата нет.
Адреса просто не создаются.
С телефонами выдаёт ошибку.
Ошибка импорта. Could not convert variant of type (OleStr) into type (Boolean). Возникла при импорте записи 1C с именем Нова ОсОО Телефон Мобильный

Ещё конечно порадовало "Добавлен новый Елемент")))

Скрины приложил.

Нравится

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

Сложно сказать о конкретных причинах, не видя Ваши 1С и Terrasoft.
Слово «елемент» можно исправить в 47 строке scr_Dataflow1CConsts. И заодно в другом сообщении в 20 строке scr_MsxmlUtils.dash2
Ошибка «Could not convert variant of type (OleStr) into type (Boolean)» говорит, что пытаетесь загрузить строку в логическое поле.

Да мне то "елемент" не мешает, исправлять это в релизе надо. а не в одной копии программы.

1С и ТС вроде у всех одинаковые. 1С УТ 10.3.35.1. Как посмотреть точную версию ТС не знаю.
От того какие там буковки в адресах и телефонах, по моему ничего не меняется.
А настройки обмена, отборы и сопоставление полей я привел на скринах. По всей видимости проблема в них, но где именно не понятно.

"Корниленко Роман Васильевич" написал: исправлять это в релизе надо. а не в одной копии программы.

Роман, разработка 3.Х прекращена, на ней больше релизов не будет.
1С и ТС вроде у всех одинаковые.

Да нет, вроде, у всех разные.

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

"Зверев Александр" написал:Роман, разработка 3.Х прекращена, на ней больше релизов не будет.

Ну ок.
"Зверев Александр" написал:Да нет, вроде, у всех разные.

Что Вы подразумеваете под разные? Конфигурации совпадают, значит работает одинаково. Даже если есть доработки, то типовых справочников это обычно не касается, да и если добавлен реквизит, разве это что-то изменит, если он не участвует в синхронизации?
Различия могут быть только в данных, но я не вижу как они могут повлиять на это.
Никакие записи нормально не импортируются, все контрагенты, которые создаются, создаются с пустыми полями. Поэтому мне и кажется, что дело в настройке сопоставлений.

"Корниленко Роман Васильевич" написал:Что Вы подразумеваете под разные?

В разных версиях Terrasoft для работы с разными версиями 1С могут потребоваться определённые доработки в конфигурации.

"Зверев Александр" написал:Сложно сказать о конкретных причинах, не видя Ваши 1С и Terrasoft.

"Зверев Александр" написал:В разных версиях Terrasoft для работы с разными версиями 1С могут потребоваться определённые доработки в конфигурации.
Версию 1С я написал, платформа 8.2.19.130, как посмотреть версию ТС просьба подсказать.

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

Чтобы понять, почему что-то не отрабатывает, можно попробовать пройти пошагово в отладчике.
Либо же добавлять в настройках синхронизируемые сущности не все за раз, а по одной, после каждой проверяя корректность импорта.

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

Подскажите пожалуйста, если лендинг создан в специальном сервисе создания посадочных страниц вроде Платформа LP, Тильда, LP Generator или Флексби, где исходный код формы изменить нельзя (там где нужно добавить onSubmit="createObject(); return false") то интеграция невозможна?

Так же в исходном коде для полей формы нет ID, а классы для всех полей одинаковые (разные только значения value), как быть в таком случае?

К примеру:

Это вообще предусмотрено?

Нравится

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

Добрый день, Катерина.

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

Готового решения для добавления кода в нерадактируемые формы нет.

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