Вопрос

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

Изучили ряд тем на сообществе по данному вопросу и попробовали воспроизвести кейс из данной темы:

https://community.terrasoft.ru/questions/anonimnaa-autentifikacia-vnesn…

Сделали всё в точности как описано в примере, включая настройку web-конфигов. 

Сервис:

namespace Terrasoft.Configuration
{
 using System;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
 using System.Data;
 using System.Linq;
 using System.Security;
 using System.ServiceModel;
 using System.ServiceModel.Web;
 using System.ServiceModel.Activation;
 using System.Web;
 using Terrasoft;
 using Terrasoft.Common;
 using Terrasoft.Common.Json;
 using Terrasoft.Core;
 using Terrasoft.Core.DB;
 using Terrasoft.Core.Entities;
 using Terrasoft.Core.Store;
 using Newtonsoft.Json;
 
 using Terrasoft.Web.Common;
 
    [ServiceContract]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    public class UsrGreetingService : BaseService //,System.Web.SessionState.IReadOnlySessionState
    {
 
        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Hello", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        public string TestHello()
        {
            return "Hello!!!!!!!!!!!!!!!!!";
        }
 
 
        [OperationContract]
        [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Xml)]
        public string TestHelloXml()
        {
            return "Hello!!!!!!!!!!!!!!!!!";
        }
 
        [OperationContract]
        [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
        public string TestPostJson()
        {
            return "Hello!!!!!!!!!!!!!!!!!";
        }
 
 
 
 
 //       private UserConnection _userConnection;
  /// <summary>
  /// </summary>
// private UserConnection UserConnection {
//  get {
//   return _userConnection ?? (_userConnection = HttpContext.Current.Session["UserConnection"] as UserConnection);
 //  }
// }
    }
}

 

В результате попробовали отправить запрос через POSTMAN

1) Если указать метод GET без авторизационных Cookie, то всё работает

Как пример можно получить результат запроса по ссылке:

http://93.188.21.108:2022/0/ServiceModel/UsrGreetingService.svc/Hello

 

2) Указываем метод POST без авторизационных Cookie, то получаем 403:

 

 

Если же добавить к запросу(метод POST) авторизационные Cookie, то всё работает...

Коллеги, прошу подсказать, что именно делаем не так?

 

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

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

Добрый день, 

Проверьте включена ли на сайте CSRF-защита. В внешнем и внутреннем Web.config есть атрибут UseCsrfToken, содержит значение true то можно поступить следующим образом: 

1. Изменить значение UseCsrfToken в Web.config и WebApp/Web.config на 

<add key="UseCsrfToken" value="false" />

2. В хедере запроса отправлять Csrf-токен. Следующим образов (в случае безавторизационного сервиса, авторизацитонные куки можно не отправлять):

Tsopa,

Спасибо большое! Решили проблему получением и отправкой

авторизацитонных куков!

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

Добрый день.

Приложение BPM online service 7.11.3. Создал новую веб-форму, заполнил все обязательные поля внутри, но в списке присутствует поле "Лиды" - "Колонка не найдена":

 

В лог падает соответствующая ошибка:

ERROR IIS APPPOOL\BpmTest Terrasoft.Nui.ServiceModel.Extensions.QueryExtension AddQueryColumns - Terrasoft.Common.ItemNotFoundException: Элемент с именем "Lead" не найден

Попытался найти в доках, нашел только описание в приложении marketing, а не service:  https://academy.terrasoft.ru/documents/marketing/7-11/razdel-lidy.

Из-за данной ошибки не могу успешно отправить созданную веб-форму с сайта, что делать?

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

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

Попробуйте обновить структуру/переопубликовать объект "Лид"(мб колонка отвалилась)

Похоже на то, что конфигурация не знает о существовании колонки Лендинг в объекте (отсюда и ошибка). Вы случаем объект "Лид" не замещали?

Спасибо за ответ, но боюсь, что объект "Лид" изначально не существует в системе. По крайней мере в списке разделов его точно нет:

https://academy.terrasoft.ru/documents/service-enterprise/7-11/razdely-…

Замещений тоже нет, единственный кастомный модуль - связка с oktell.

Речкин Григорий пишет:
объект "Лид" изначально не существует в системе

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

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

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

Не могу найти, что запускает процесс "Отправка email сообщения контакту обращения при публикации сообщения в канале Портал".

Подскажите пожалуйста как найти что его запускает.

Данный процесс расположен в пакете Portal 7.8.0

Система Service enterprise 7.10.1

Спасибо!

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

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

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

Запуск данного процесса зашит в коде, на объекте PortalMessage. Метод называется NotifyListeners.

Илья Прокопенко,

Спасибо, я так и подумал что этот метод вызывает процесс. Но сам код метода NotifyListeners могу найти. 

Павел, если возник вопрос, то просьба его озвучить.

Вильшанский Дмитрий,

Дмитрий, добрый день!

Проблема в следующем:

Мне необходимо внести изменения в процесс "Отправка email сообщения контакту обращения при публикации сообщения в канале Портал". А при изменении базового процесса, меняется и имя этого процесса, так как сохраняется новая версия в другом пакете.

Но так как этот процесс запускается методом NotifyListeners, мне придётся изменить и этот метод. Так как я подозреваю, что в этом методе жёстко прописано название процесса.

Ну и основная проблема в том, что я никак не могу найти код этого (NotifyListeners) метода, где идёт вызов процесса.

Бакалов Павел Вячеславович,

Вепроятно, вы ищите не в том пакете. Вот код метода NotifyListeners - http://prntscr.com/izo7zv

Demchenko Olha,

Добрый день!

Да, этот код я видел. Тут идет вызов метода Notify из MessageHisotryManager. А вот вызова процесса я в MessageHisotryManager так и не нашел.

Бакалов Павел Вячеславович,

Процесс CasePortalMessageHistoryNotificationProcess уже считается старым и вместо него используется такой же, только мультиязычный - CasePortalMessageMultiLanguageProcess. Этот процесс вызывается в CaseMessageListener из системной настройки (http://prntscr.com/izs0wi).

Ранее, в схеме CaseMessageListener напрямую вызывался интересующий вас процесс.

Demchenko Olha,

Спасибо большое! Наконец-то нашлось! =)

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

Добрый день, хотел попросить уточнить что именно нужно сделать чтобы, WorkspaceConsole перестал при Update и Build, засорять логами папку Pkg.

https://academy.terrasoft.ru/documents/technic-sdk/7-12/nastroyka-utili…

Сказано что нужно всего то убрать:

  • SharpPlink-x64.svnExe;
  • SharpSvn.dll;
  • SharpSvn-DB44-20-x64.svnDll.

Но он тогда отказывается работать с ошибкой:

Ошибка: Could not load file or assembly 'SharpSvn, Version=1.8009.3299.43, Culture=neutral, PublicKeyToken=d729672594885a28' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
Ошибка: Could not load file or assembly 'file:///XXX\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\x64\SharpSvn.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
Работа утилиты закончена.

Если я конечно правильно понял, кто виновен в создании таких папок:

\Terrasoft.WebApp\Terrasoft.Configuration\Pkg\MyPackage\Schemas\ContactPageV2\Logs...

Ранее в 7.10 не было такого

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

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

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

На странице SDK указано, что в случае выполнения операций с SVN эти файлы нужно скопировать, но никак не удалять:)

Папка о который вы говорите является файловым контетом, более детально описано по ссылке:

https://academy.terrasoft.ru/documents/technic-sdk/7-12/ispolzovanie-fa…

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

Добрый день!

есть ли ограничение на объем вложенных в письмо файлов при отправке из BpmOnline?

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

если ограничение есть, то где оно регулируется?

 

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

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

Здравствуйте, Любовь

Ограничение на размер файлов есть и оно регулируется системной настройкой "Максимальный размер загружаемого файла в Мб" логика ограничения размеров прикрепляемых файлов работает так:

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

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

Denys Diachenko,

Спасибо!

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

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

Каким-то образом после создания детали, при добавлении детали на раздел в списке выбора две детали с одинаковым именем. Решил удалить через конфигуратор и потом создать заново.

Итог. Теперь 4 детали с одинаковым именем зарегестрировано + выдают ошибку при заполнении детали и дальнейшем сохранении.

Как пофиксить?

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

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

Сергей, здравствуйте!

Инструкцию по удалению детали Вы найдете на Академии: https://academy.terrasoft.ru/documents/sales-enterprise/7-11/chasto-zadavaemye-voprosy-po-masteru-razdelov

Ошибка, скриншот которой Вы предоставили, может возникать в том случае, если одно из полей, которое заполняется на детали, ссылается или на несуществующий справочник, или на удаленное значение справочника. Для более детального анализа проблем напишите нам на support@terrasoft.ru, и мы обязательно рассмотрим Ваше обращение.

Одеяненко Юлия,

Спасибо, со справочником, да, накосячил frown

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

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

Нужно иметь опций настройки в Профиле пользователя:

  - автоматическая отметка прочтения уведомление

  - ручная отметка

 

Если ручная, то под уведомлений добавить кнопку, переводящую уведомление в прочтенное.

 

 

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

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

Здравствуйте, Роман

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

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

В bpm'online service используются общие почтовые ящики. 
Сейчас их создает один пользователь, он же и должен ими управлять, запускать синхронизацию (если необходимо вручную) и т.п.

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

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

Обсуждение
1 комментарий

Здравствуйте, Владимир!

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

 

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

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

Можете подсказать в какой схеме расположена идентификация контакта в рамках входящего письма?

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

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

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

Логика идентификации контакта при получении письма находиться в схеме AutoEmailRelation

Denys Diachenko,

Не обнаружил там метода, отвечающего за поиск контакта

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

 

Идентификация контакта происходит в 

private IRuleRelationModel CreateRule

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

Добрый день,

в настройках показателей существует настройка "Точност десятичной части". Но при этом у нас ни один показатель не считается с долями, округляется до целого числа.

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

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

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

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

Проблема в том, что результат расчета среднего числа отображается в зависимости от того, какой тип колонки используется в расчетах. Поле "Длительность" в объекте "Звонок" имеет тип данных «Целое», поэтому и округляется до целого. Это связано с архитектурой БД и логикой, которая вшита в ядро приложения. Департамент разработки зафиксировал у себя задачу, чтобы пересмотреть базовую логику приложения и возможно изменить ее в будущих версиях приложения. Приносим извинения за причиненные неудобства.

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