Вопрос

Не могу понять в чем ошибка... помогите разобраться...

https://[url_app]/0/ServiceModel/EntityDataService.svc/ActivityCollection?$filter=CreatedOn ge datetime'2018-12-01T00:00' возвращает ошибку - см. аттач.

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

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

<message xml:lang="">Unrecognized 'Edm.DateTime' literal 'datetime'2018-12-12T00:00'' in '13'.</message>

Очень интересно...

https://[url_app]/0/ServiceModel/EntityDataService.svc/ActivityCollection?$filter=CreatedOn ge datetime'2018-12-12' - а вот так заработало...

Как оказалось, если нужно с часовым поясом, то надо «/0/ServiceModel/EntityDataService.svc/ActivityCollection?$filter=CreatedOn ge datetime'2018-12-01T00:00:00' », так работает.

А еще в статье  путаница: 

где-то в примере указывают ?select=Id, а где-то $select...

по факту работает так:

$filter=CreatedOn ge datetime'2018-12-01'&$select=Id...

В спецификации тоже везде с долларом.

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

Добрый день

Интегрируюсь с BPM Online 7.13 с использованием DataService.

Реализую метод добавления записи звонка Call. Создаю объект InsertQuery

InsertQuery insertQuery = new InsertQuery()
            {
                RootSchemaName = "Call",
                ColumnValues = new ColumnValues()
            };

и добавляю поля через

insertQuery.ColumnValues.Items = new Dictionary<string, ColumnExpression>();

При добавлении только значения Id запрос выполняется ок, запись сохраняется

При добавлении значения CreatedOn в формате [""\""2000-12-31T09:41:59\""""""""] (без экранирующих символов) после сериализации в JSON получается объект (во вложении) со следующим значением CreatedOn (с экранирующими символами)

"CreatedOn": {
                "ExpressionType": 2,
                "Parameter": {
                    "DataValueType": 7,
                    "Value": "\"\"\\\"\"2019-07-28T07:31:02\\\"\"\"\"\"\"\"\"",
                    "ShouldSkipConvertion": false
                },
                "FunctionType": 0,
                "MacrosType": 0,
                "DatePartType": 0,
                "AggregationType": 0,
                "AggregationEvalType": 0
            }

Вызов BPM DataService/json/reply/InsertQuery возращает ошибку формата JSON

HttpStatusCode: 500
 HttpResponseText: {"responseStatus":{"ErrorCode":"JsonReaderException","Message":"Additional text encountered after finished reading JSON content: \\. Path '', line 1, position 2.","Errors":[]},"rowsAffected":-1,"nextPrcElReady":false,"success":false}
 

Запрос JSON валидируется без ошибок.

Пробовал разные варианты формата, в ответ код JsonReaderException и текст ошибки те же, с отличием в position

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

Спасибо

 

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

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

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

Открыл Fiddler, записал контакту дату рождения, видно такой формат:

"Date":{  
   "expressionType":2,
   "parameter":{  
      "dataValueType":8,
      "value":"\"2001-07-08T11:46:07.000\""
   }
}

А вообще, при вставке как в таблицы разделов, так и деталей значения CreatedOn и ModifiedOn не передаются, как видно в том же Fiddler. Видимо, при пустом значении сервер сам подставляет текущую дату. Например, запрос на вставку на деталь знаменательных событий целиком:

{  
   "rootSchemaName":"ContactAnniversary",
   "operationType":1,
   "columnValues":{  
      "items":{  
         "Id":{  
            "expressionType":2,
            "parameter":{  
               "dataValueType":0,
               "value":"d5094019-1d92-4fc1-ac03-bbcf620a56c9"
            }
         },
         "CreatedBy":{  
            "expressionType":2,
            "parameter":{  
               "dataValueType":10,
               "value":"410006e1-ca4e-4502-a9ec-e54d922d2c00"
            }
         },
         "Contact":{  
            "expressionType":2,
            "parameter":{  
               "dataValueType":10,
               "value":"93a1c457-c22f-48a9-9f7f-65f1dd99dff3"
            }
         },
         "AnniversaryType":{  
            "expressionType":2,
            "parameter":{  
               "dataValueType":10,
               "value":"173d56d2-fdca-df11-9b2a-001d60e938c6"
            }
         },
         "Date":{  
            "expressionType":2,
            "parameter":{  
               "dataValueType":8,
               "value":"\"2019-07-08T11:46:07.000\""
            }
         }
      }
   }
}

 

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

Коллеги, привет. 

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

1) какой объект отвечает за эту кнопку, что использовать при разработке БП? 

При нажатии этой кнопки отправить уведомление пользователям 

2) Для отправки системных уведомлений на группу в коммьюнити рекомендовали создать канал и подписать на него сотрудников.

Что использовать в BPMN SD? 

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

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

Что такое «BPMN SD» и «отправка системных уведомлений на группу в коммьюнити»?

По поводу кнопки, это EmailProcessedButton в схеме CommunicationPanelEmailSchema, а её обработчик setIsNeedProcessFalse находится в схеме EmailItemSchema. Это всё клиентская логика на JS, а не бизнес-процессы.

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

Всем добрый день. Версия 7.12.

В системе реализовано открытие мини-карточек для просмотра подробных данных, с помощью стандартных вызовов такого типа:

this.openMiniPage({
	recordId: Terrasoft.GUID_EMPTY,
	operation: Terrasoft.ConfigurationEnums.CardOperation.ADD,
	entitySchemaName: "UsrInvoice",
	valuePairs: defaultValues,
	isFixed: true,
	showDelay: 0,
	miniPageSchemaName: "UsrInvoicePage",
});

Схема самой мини-карточки наследуется от BaseMiniPage, вызов происходит в стандартной схеме карточки или детали.

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

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

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

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

Меня смущает параметр 

showDelay == 0

Это время показа карточки до закрытия? Попробуйте его убрать или увеличить.

похоже на задержку перед открытием карточки. Поставил 3 секунды, открылась через 3 секунды, при нуле открывается сразу.

Но всё равно иногда закрывается сама собой.

В версии 7.11 при проставлении в поле миникарточки даты через открывающийся календарь происходило произвольное закрытие этой миникарточки.

Такое же поведение, то есть произвольное закрытие миникарточки, наблюдалось, когда пользователю отображается информационное окно showInformationDialog("Какой то текст"); и пользователь нажимает ОК.

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

В 7.12 могло быть аналогичное поведение миникарточек. Осталось ли такое закрытие в нынешних версиях — лучше проверить, развернув демо-версию и использовав там тот же скрипт.

Диалоговое окно поверх мини-карточки открывается нормально.

Карточки закрываются сами по себе без действий пользователя. Причём всегда одни и те же. Отсюда и вопрос - может быть, что т о в параметрах или содержимом карточки мешает?

Сложно сказать, не понимая, в чём между ними разница. Посмотрите в отладке или в HTTP-запросах в Fiddler, что вообще происходит. У меня похожие странности из-за умирания мыши происходили, но тогда не было бы зависимости от конкретных карточек.

Коллеги, вопрос решён с помощью добавления свойства ShowValueAsLink: false в параметрах справочных полей в diff.

Проблема была связана в целом со всплывающими мини-карточками https://academy.terrasoft.ru/documents/technic-sdk/7-14/sozdanie-mini-kartochki

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

Всем добрый день. Версия 7.12.

Вопрос - можно ли добавить фильтр на данные в справочнике?

Есть справочник 1, содержащий ещё две справочные колонки (2 и 3). Создавать отдельный раздел или деталь под справочник - ну можно, но они не нужны на практике. Тем не менее, можно ли сделать так, чтобы именно в разделе "Справочники" при заполнении данных справочника 1 можно было фильтровать значения одной справочной колонки (3) по другой (2)?

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

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

Добрый день.

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

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

После того, как Вы перелогинитесь в срм, данные в Вашем справочнике можно будет редактировать через карточку редактирования с учетом фильтров:

Добрый день.

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

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

После того, как Вы перелогинитесь в срм, данные в Вашем справочнике можно будет редактировать через карточку редактирования с учетом фильтров:

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

Коллеги, добрый день!

Версия продукта: 7.14.1.935
Bpm Online Service

Действую согласно статье с академии:
https://academy.terrasoft.ru/documents/technic-sdk/7-14/polzovatelskaya…

В результате фильтрация нежелательных писем все равно не работает и происходит создание обращений по всем письмам.
Могло ли что-то поменяться в 7.14 версии? Возможно учитывать дополнительно какие-то методы?

Значения системных настроек:
1) Состояние нежелательных обращений по умолчанию
Установлен статус = отменено (как и было из коробки)
2) Создавать обращения по нежелательным письмам
Флаг не установлен (как и было из коробки). Полагаю, что это значит false.

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

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

Если есть доступ к серверу, попробуйте отладиться, чтобы выяснить, срабатывает ли функция Check() в созданном для Вашей фильтрации классе, и правильный ли результат она возвращает. 

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

Коллеги, добрый день!

В рамках доработки по назначению задач на группы ответственных столкнулся с ситуацией, когда ответственный заполняется текущим пользователем по-умолчанию.
Отключил в объекте проверку на заполненность поля на уровне приложения.
Остается видимо еще дополнительная логика на уровне JS и C#, которая соответственно заполняет исполнителя при открытии карточки задачи в режиме создания и + при создании задачи логикой C# (при открытии карточки задачи уже после ее успешного создания поле все равно становится заполненным).
Просьба уточнить как снять заполнение поля на этих двух оставшихся шагах.

С уважением,
Кулиш Александр

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

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

Добрый день!

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

После этого нужно сохранить и опубликовать схему таблицы.

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

После этого перелогиниться в приложение и проверить заполняется ли поле 'Ответственный' в активностях.

Добрый день!

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

После этого нужно сохранить и опубликовать схему таблицы.

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

После этого перелогиниться в приложение и проверить заполняется ли поле 'Ответственный' в активностях.

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

Спасибо! Вопрос решен.

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

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

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

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

bpm'online service 7.11.3

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

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

Добрый день!
При установке пакета через "Установка и удаление приложений" он помечается как сторонний и редактировать его можно только сняв галочку InstallType в SysPackage.
Если вы будете разрабатывать используя SVN и переносить в продуктив в SVN (что вообще то не рекомендуется делать), то пакет блокироваться не будет.
Лучше переносить все-таки пакетами, а в случае обновления среды разработки разблокировать пакет

Добрый день!
При установке пакета через "Установка и удаление приложений" он помечается как сторонний и редактировать его можно только сняв галочку InstallType в SysPackage.
Если вы будете разрабатывать используя SVN и переносить в продуктив в SVN (что вообще то не рекомендуется делать), то пакет блокироваться не будет.
Лучше переносить все-таки пакетами, а в случае обновления среды разработки разблокировать пакет

Сидоров Александр В.,

А снять галочку InstallType в SysPackage не подскажите как? Я понимаю через БД, верно?

Идрисов Артур Ильдарович,

Да, выполните запрос 

update SysPackage set InstallType=0 where Name='PackageName', где PackageName - название вашего пакета

Сидоров Александр В.,

Благодарю, уже сделал.

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

Добрый день ! BPM'online v 7.13.4.638. Необходимо программно отобразить карточку входящего/исходящего звонка пользователя. Известны номер А (исходящий), номер B (входящий), тип звонка (IN/OUT). Нашел в пакете CTIBase 7.8.0 метод CallPageV2 (схеме отображения карточки звонка). Как увидеть внешнюю форму, которую реализует этот метод, и вызвать метод программно из приложения (API) ?

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

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

CallPageV2 — это не метод, а страница карточки звонка. Если Вы собираетесь открывать её в БП и знаете Id записи об этом звонке, то для этого предусмотрен элемент процесса «Открыть страницу редактирования» с возможностью передать туда параметры. С его же помощью можно и открыть карточку новой записи с нужными значениями в полях.

chapter_process_designer_edit_page.png  

Элемент «Открыть страницу редактирования» содержит список возможных для редактирования страниц, среди которых нет карточки звонка. Это происходит потому, что страница звонка является системным объектом, и в результате не проходит фильтрацию данного элемента. То есть, на уровне БД в таблице SysModule у объекта с Code = «Call» колонка IsSystem = true. Если убрать признак IsSystem, то страница звонка начнет отображаться в списке страниц элемента, однако не рекомендуется этого делать, так как это может быть чревато другими непредсказуемыми последствиями в системе.

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

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

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

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

В чем, собственно, проблема? Для начала какое событие должно произойти? 

Если событие объекта, то создаете БП, добавляете запуск по событию, далее добавляете элемент "Добавить данные" и создаете обращение с необходимыми предзаполненными полями.

В чем, собственно, проблема? Для начала какое событие должно произойти? 

Если событие объекта, то создаете БП, добавляете запуск по событию, далее добавляете элемент "Добавить данные" и создаете обращение с необходимыми предзаполненными полями.

Какой у вас продукт? Для примера посмотрите процес создания обращения по входящему письму (Название: Регистрация обращения по входящему письму IncidentRegistrationFromEmailProcess)

Всем спасибо! Сделал.

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