Добрый день!
Собственно вопрос: как добавить кнопку в деталь Средства связи контакта?
Хочу добавить Кнопку отправки смс возле кнопки позвонить.(как на скриншоте)
PS. кнопка появляется только для "мобильных" номеров.

Нравится

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

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

так как детали средств связи контрагента и контакта генерируются автоматически при открытии карточки редактирования. То метод отвечающий за инициализацию, генерацию и прорисовку генерируемых полей - это метод  getItemViewConfig схемы  ContactCommunicationDetailV2 . Прошу внимательно изучить данный метод на предмет как происходит генерация представления полей в зависимости от типа Средств связи. И тогда вы найдете то место где происходит добавление Иконки. Если будут вопросы при изучение. Пишите. С радостью на них отвечу.

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

Добавление кнопки "Позвонить" реализовано в схеме BaseCommunicationDetail методы:
1) getIconTypeButtonConfig
2) getCommunicationItemViewConfig

Очень интересная ситуация я даже и не обращал внимание что деталь "ContactCommunicationDetail" оказывается рабочая, а деталь "ContactCommunicationDetailV2" не рабочая. Хотя в заголовки детали "ContactCommunicationDetail" написано "Средства связи контакта (устаревшая версия)". Это я говорю про конфигурацию BPMOnline Sales Enterprise 7.7.0.2293. Поэтому приношу извинение, что повел по ложному пути. Да действительно описанные методы Алексеем верные.

Добрый день.
Спасибо за отзывы. Понял как сделать.)

Добрый день.
Столкнулся с такой проблемой.
Если добавить в деталь две записи с отправкой смс то кнопка из правой пропадает. Видно на скриншоте.
Она есть но ее не видно, появляется при уменьшении окна(уменьшении длины поля для ввода телефона).
А также при нажатии на кнопку отправить вызывается выпадающия список для правой записи. Видно на скрншоте 2.
Вопрос:
как отобразить эту кнопку?
Или как уменьшить длину поля для ввода?

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

Замещал два модуля BaseCommunicationDetail и BaseCommunicationViewModel.
В BaseCommunicationDetail в методе getCommunicationItemViewConfig добавил smsButtonConfig.
В BaseCommunicationViewModel добавил обработку нажатия на кнопку метод onSMSButtonClick.
Оба файла прикрепил.
Код BaseCommunicationDetail:

---------------------------------------------------
            methods: {
                init:function(){
                    this.callParent(arguments);
                    debugger;
                },
                getCommunicationItemViewConfig: function() {
                    //var itemViewConfig = this.callParent(arguments);
                    var itemViewConfig = ViewUtilities.getContainerConfig("item-view",
                        ["detail-edit-container-user-class", "control-width-15"]);
                    var typeMenuItems = this.getTypeMenuItems();
                    var typeButtonConfig = this.getTypeButtonConfig(typeMenuItems);
                    var iconTypeButtonConfig = this.getIconTypeButtonConfig();
                    var textEditConfig = this.getTextEditConfig();
                    itemViewConfig.items.push(typeButtonConfig, textEditConfig, iconTypeButtonConfig);
 
 
                    var smsButtonConfig = this.getSmsButtonConfig();
                    itemViewConfig.items.push(smsButtonConfig);
                    return itemViewConfig;
                },
                getSmsButtonConfig: function() {
 
                    var smsButtonConfig = {
                        className: "Terrasoft.Button",
                        classes: {
                            wrapperClass: "detail-icon-type-btn-user-class"
                        },
                        imageConfig: {
                            bindTo: "getSMSImageConfig"
                        },
                        style: Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                        selectors: {wrapEl: "#iconType"},
                        click: {
                            bindTo: "onSMSButtonClick"
                        },
                        visible: {
                            bindTo: "getTypeIconButtonVisibility"
                        }
                        //hint: {
                        //    bindTo: "getTypeIconButtonHintText"
                        //},
                        //markerValue: {
                        //    bindTo: "getIconTypeButtonMarkerValue"
                        //}
                    };
                    return smsButtonConfig;
                },
            },
Показать все комментарии

Всем доброго дня.
Столкнулся с проблемой настройки веб-сервиса в BPMonline Sales 7.7.0.2293

        [ServiceContract]
        public interface IService
        {
                [OperationContract]
                string TestService(string param1, string param2);
        }
        public class TestServiceBpm : IService
        {
                public string TestService(string param1, string param2)
                {
                        ...
                }

..\Terrasoft.WebApp\ServiceModel\TestServiceBpm.svc:

%@ ServiceHost Language="C#" Debug="true" Service="Namespace.TestServiceBpm" Factory="System.ServiceModel.Activation.WebServiceHostFactory" %>

..\Terrasoft.WebApp\ServiceModel\http\services.config:

behaviorConfiguration="BaseServiceBehavior" name="Namespace.TestServiceBpm">
 
  name="TestService"
  binding="webHttpBinding"
  behaviorConfiguration="RestServiceBehavior"
  bindingNamespace="http://Terrasoft.WebApp.ServiceModel"
  contract="Namespace.IService" />
  address="soap" binding="basicHttpBinding" contract="Namespace.IService" />
  address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
 >

web-config :

path="ServiceModel/TestServiceBpm.svc">
    >
      >
        users="*" />
      >
    >
  >

При попытке достучаться через браузер (http://hostName/1/ServiceModel/TestServiceBpm.svc)
получаю ошибку

Exception Message: An XML comment cannot contain '--', and '-' cannot be the last character. Line 92, position 7.
...

при попытке добавить ServiceReference в VS:

There was an error downloading 'http://hostName/1/ServiceModel/TestServiceBpm.svc/_vti_bin/ListData.svc/$metadata'.
The operation has timed out
Metadata contains a reference that cannot be resolved: 'http://hostName/1/ServiceModel/TestServiceBpm.svc'.
The remote server returned an unexpected response: (302) Found.
Too many automatic redirections were attempted.
If the service is defined in the current solution, try building the solution and adding the service reference again.

Подскажите пожалуйста, в чем моя ошибка!

Нравится

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

Добрый день!

Мы поддерживаем создание веб-сервисов только через конфигурацию.
Подробную информацию по настройке Вы найдете на нашей академии по ссылке - https://academy.terrasoft.ua/documents/technic-sdk/7-8-0/integraciya-s-…

Сергей, добрый день!
Не очень понимаю что вы имеете ввиду. Есть ссылки:
http://www.community.terrasoft.ua/forum/topic/16414
http://www.community.terrasoft.ua/forum/topic/16393
из которые понятно, что создавать веб-сервисы в 7.х можно так, как пытаюсь я.

Добрый день!
Первое:
..\Terrasoft.WebApp\ServiceModel\TestServiceBpm.svc:

<%@ ServiceHost Language="C#" Debug="true" Service="Namespace.TestServiceBpm" Factory="System.ServiceModel.Activation.ServiceHostFactory" %>

Далее, вы обращаетесь в конфигурацию под номером 1, реализация сервиса в точно в этой конфигурации?

Ошибка

Exception Message: An XML comment cannot contain '--', and '-' cannot be the last character. Line 92, position 7.
...

говорит о том, что где-то в конфиге есть ошибка

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

Здравствуйте! В схеме карточки редактирования заказа в системном методе setValidationConfig() регистрирую метод-валидатор для одного из полей. Внутри этого метода делаю запрос к таблице заказов с помощью EntitySchemaQuery и провожу проверку на корректность данных. Как известно, запрос на выборку данных запускается с помощью метода EntitySchemaQuery.getEntityCollection(function(result) { ... }). По-видимому, данный метод работает асинхронно, поэтому метод-валидатор заканчивает свою работу, не дожидаясь результата выборки. В итоге, валидация всегда получается успешной вне зависимости от результата проверки.

Как можно решить эту проблему? Есть ли способ выполнить выборку из базы синхронно?

Нравится

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

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

Предоставьте, пожалуйста, полный листинг Вашего кода.

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

подскажите пожалуйста вам Валидацию когда требуется производить в момент заполнения формы или перед сохранением? если к примеру требуется сделать перед сохранением, то ваша задача решаема. За это отвечает метод  asyncValidate . Если у вас конфигурация Sales, пример можно подсмотреть в схеме  ContractPageV2 , там как раз перед сохранением идет проверка Уникальности номера, при проверке выполняется запрос к Базе данных.

для сведения на клиентской стороне все SQL запросы выполняются Асинхронно. И это правильно. Это увеличивает производительность программы. Плюс чтобы вы понимали на клиентской стороне должны быть построены самые элементарные запросы. Если запрос нетривиальный, его требуется строить и выполнять уже на стороне сервера, т.е писать код на C#.

будут вопросы с радостью на них отвечу

Вот код функции, отвечающей за валидацию (упрощенный пример):

actNumberValidator: function() {	
	var invalidMessage = "";
 
	// Получаем список заказов
	var orderEsq = Ext.create("Terrasoft.EntitySchemaQuery", {
		rootSchemaName: "Order",
		isDistinct: true
	});
	orderEsq.addColumn("Number");
	orderEsq.addColumn("UsrActNumber", "ActNumber");
 
	orderEsq.getEntityCollection(function(result) {
		var orderCollection = result.collection.collection;
		var isActNumberExists = orderCollection.items.some(function(item) {
			return item.get("ActNumber") === this.get("UsrActNumber");
		}, this);
 
		if (isActNumberExists) {
			invalidMessage = "Заказ с таким номером акта уже существует";
 
			return {
				invalidMessage: invalidMessage, 
				fullInvalidMessage: invalidMessage
			};
		}
	}, this);
 
	return {
		invalidMessage: invalidMessage,
		fullInvalidMessage: invalidMessage
	};
}

Я понимаю, что такой тяжелые запросы к базе лучше не выполнять на клиенте, но валидацию необходимо проводить перед сохранением изменений объекта. Насколько я знаю, сделать это возможно только на клиенте.
Михаил, не могли бы вы объяснить, как работает валидация с использованием метода asyncValidate?

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

какой минус я вижу сразу в вашем запросе. Это вы делаете запрос к БД и получаете весь список Заказов, и далее перебираете их и сравниваете их. А если в БД будет Миллион записей? то все клиент ваш подвиснет навсегда или надолго. Давайте идти по порядку. Опишите задачу, какое поле проверяем (при Валидации) какой правильно должен отрабатываться запрос к БД и цель этого запроса. и далее я вам помогу составить и запрос и приведу как этот запрос Асинхронный будет работать при валидации полей. И еще пока незабыл данная валидация когда должна работать при Заполнение полей или при сохранение карточки редактирования. Спасибо!!!

Опишу задачу. Для каждого заказа заполняется поле [Номер акта]. Нумерация актов идет отдельно для каждого контрагента, указанного в прикрепленном к заказу договоре в поле [Наша компания]. Соответственно, в контрагенте есть поле [Номер последнего заказа]. При добавлении нового заказа с указанным договором (поле [UsrContract]) запускается процесс для увеличения номера последнего заказа. Поля [Номер акта] и [Номер последнего акта] должны быль редактируемы. Поэтому при заполнении номера акта необходимо проверять его уникальность.
Может быть, предложите другое, более оптимальное решение данной задачи?

"Дмитрий Д." написал:Нумерация актов идет отдельно для каждого контрагента, указанного в прикрепленном к заказу договоре в поле [Наша компания].

Вопрос где хранится данный номер Акта? в отдельной таблице или где? так как по умолчанию в конфигурации Sales Актов выполненных работ нет. Данная сущность создана с нуля? это отдельный раздел и таблица? если так то как Акт и договор связаны, какой связью "1 ко многим"? Далее вопросы как Заказ связан с Актом выполненных работ и для чего это сделано? я просто немного не понял как у вас сейчас это все Дмитрий реализовано. Поясните поподробнее пожалуйста. Я скажу вам свое мнение правильно или нет. И как бы я реализовал. Так как данную задачу в своей конфигурации я уже выполнил. спасибо!!!

Отдельной сущности Акт нет. Акт распечатывается на объекте Заказ и содержит в шапке примерно такой текст: "Акт №<номер_акта> от <дата_окончания_отчетного_периода> выполненных работ и оказанных услуг к Приложению №<номер_приложения> договора №<номер_договора> от <дата_подписания_договора>". Номер акта хранится в кастомном поле Order.UsrActNumber. Сейчас это поле заполняется руками. Нужно, чтобы это поле заполнялось автоматически. Для этого у контрагента было заведено поле Account.UsrActLastNumber для хранения номера последнего акта. При добавлении нового заказа данное поле инкрементируется и заносится в Order.UsrActNumber.

Хорошо Дмитрий если развивать вашу идею, то вам достаточно при сохранение заказа обновлять поле "UsrActLastNumber" в Контрагентах, а при создании (именно при создании) нового Заказа и при выборе Контрагента из БД заполнять поле "UsrActNumber" + 1 и все. Цель Валидации я просто тогда далее не вижу. Или я чего-то не понял. Поясните пожалуйста еще раз спрашиваю Дмитрий для какого поля вы желаете проводить валидацию и в какой момент в момент Заполнения или в момент Сохранения. Спасибо!!!

Поле UsrActNumber доступно для редактирования. При редактировании этого поля хотелось бы проверить его значение на уникальность.

"Дмитрий Д." написал:Сейчас это поле заполняется руками. Нужно, чтобы это поле заполнялось автоматически.

Выше именно это вы Дмитрий писали о поле "UsrActNumber". Т.е. вы желаете чтобы пользователь заполнил номер акта вручную, а программа проверила Равняется или нет введенный новый номер акта ("UsrActNumber") последнему номеру контрагента ("UsrActLastNumber"). И если номера равны выдать предупреждение об этом. Данную задачу вы желаете решить? я правильно вас понял? если до то еще раз повторюсь как вам требуется провести Валидацию в момент ввода или перед сохранением? спасибо!!!

Михаил, давайте подойдем к вопросу с другой стороны. Расскажите, как это реализовано у вас? Как вы работаете с актами?

Дмитрий я к данному вопросу подошел следующим образом. Я разделил сущности Договор на 2 части, хозрасчетные договора, данные договора закрываются реализациями и счет-фактурами. И договоры об оказании услуг, вот данные договора закрываются Актами выполненных работ. все разделено на отдельные сущности. У каждой сущности своя нумерация, свои отчетные документы, свои бизнес-процессы. Это маленькое начало большого айсберка :) А в целом полностью закрыл Складской учет, работа с поставщиками, работа с покупателями, управление денежными потоками. Получилось очень даже неплохо. Вот по какому пути я пошел изначально.

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

"Дмитрий Д." написал:Михаил, насколько я понял, у вас Счет-фактура и Акты являются отдельными сущностями, которые отображаются наряду с такими разделами, как заказы и счета?

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

да все верно Дмитрий вы поняли. Но смысл есть всегда, во первых данные сущности хранятся отдельно чтобы для данной сущности были свои Отчетные формы, свои бизнес-процессы. Так как BPMOnline изначально создавалась и позиционирует себя как система BPMN позволяющая пользователю помощь в работе и недопустить ошибок и увеличить его производительность. Это первая цель. Вторая цель выгрузка результативных документов из BPMOnline в 1С. Так как бухгалтерия работает в 1С. Пока в BPMOnline бухгалтерия не работает. Но и над этим вопросом я сейчас занимаюсь. Я не пытаюсь скопировать и клонировать 1С. Я сейчас проектирую и разрабатываю систему, на платформе BPMOnline которая закроет все вопросы. Но будет гораздо удобнее, быстрее и т.д. Вот моя цель и задача на сегодня.

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

Після оновлення з SVN при переході на розділ і натиснення на кнопку "Добавить" не прогружається сторінка. Структуру об єктів оновляв, дані встановлював, компілював. Фото з помилкою показано на рис.1 та рис.2. Підкажіть в чому може бути проблема.

Нравится

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

Добрый день, Роман!

Для проведения анализа прошу направить на support@terrasoft.ru читабельные скриншоты и подробное описание сути вопроса с указанием продукта и версии.

Спасибо.

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

Добрый день.
Подскажите как из BPMOnline 7.5 выгрузить Id, Code(кастомное поле) Контрагентов(

SELECT [Id], [Code] FROM [Account]
) в файл. Есть ли стандартные средства для этого или надо писать самим?

Нравится

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

настройте внешний вид списка контрагентов (лучше в виде списка) соответствующим образом и выгрузите по кнопке "Экпорт" в действиях секции

"Дмитрий Степанов" написал:настройте внешний вид списка контрагентов (лучше в виде списка)

Только там не возможности вывести поле Id.
Или я ошибаюсь?

"Маланчак Василий Тарасович" написал:Только там не возможности вывести поле Id.
Или я ошибаюсь?

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

нет вы не ошибаетесь, системное поле Id вывести в список раздела нет возможности. Если вам к примеру разово требуется получить список Контрагентов с определенными полями, то я бы сделал следующим образом:
1. Сформировать в SQL Server Management Studio правильный SQL запрос
2. Исполнить в консоли запрос
3. Полученные результат выборки скопировать и вставить в Эксель документ.

все а далее уже в Экселе к примеру обрабатываете как вам требуется. По данному пути бы я пошел если мне требуется получить список контрагентов с их "Id" идентификаторами.

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

"Власов Михаил Викторович" написал:2. Исполнить в консоли запрос

а это как? объясните пожалуйста поподробнее.
Там ~60000 записей.

Дайте почту, я вам пошлю инструкцию

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

Добрый день!

Подскажите, пожалуйста, примерную (или еще лучше точную) инструкцию изменения стандартного процесса корпоративной продажи в 7.8.

1) Изменение одной из стадий
2) Удаление одной из стадий из процесса
3) Добавление новой стадии в процесс

Спасибо!

Нравится

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

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

Как и раньше в базовый процесс нет возможности вносить правки пользовательскими средствами. Изначально необходимо заместить его и уже свой можно править. В версии 7.8 это делать гораздо легче - по нажатию на кнопку "Действия" - "Копировать диаграмму". Прикрепил для наглядности скриншот 1.
Что касается отдельной стадии, то здесь никаких изменений по сравнению с предыдущей версией нет. Аналогично можно найти в разделе "Конфигурация" схему (так как отдельные стадии идет как отдельными схемами процесса), заместить и редактировать в зависимости от потребностей. Прикрепил скриншот 2 для наглядности. Что касается удаления существующей/добавления новой, то в версии 7.8 изменен справочник "стадии продаж" и теперь там есть возможность проставлять признак "Показывать на индикаторе стадий". Соответственно, нужно убрать из нужной стадии этот признак, чтоб у пользователей не было возможности переходить на эту стадию по клику на прогресбар. Также, в самом процессе необходимо внести некоторые исправления, например, в в элементе процесса, который идет перед удаляемым нами в последнем элементе "изменение данных" необходимо указать, что при выполнении условий нужно переходить уже на другую стадию (действия аналогичны как для добавления своей стадии, так и для отмены использования уже существующей).

Владимир, добрый день! Я бы советовал свой создать :)

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

Добрый день.
Решил разобраться с DataService(https://academy.terrasoft.ua/documents/technic-sdk/7-8-0/veb-sluzhba-dat...), пробую сделать выборку с бд, например передать номер телефона, и получить ФИО контакта, или наоборот передать ФИО/ID и получить все его номера.
Не получилось.

На SDK все как-то очень не ясно и запутано, и нет примера нормального json запроса.
Есть ли у кого нормальные(простые) примеры json body?
Может кто смог бы написать запрос по тексту выше?
Использую обыкновенные REST клиенты(из хрома и фаерфокса).
Буду очень благодарен.

Нравится

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

Неужели никто не знает как работать с DataService(

Здравствуйте.
Попробуйте смоделировать ситуацию и посмотреть запрос, например, при помощи fiddler. Пример прикрепил.

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

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

Помогите пожалуйста разобраться:

В запросе добавила параметр CreditTypeID и фильтр с тем же именем (рис. sq)
Передала значение параметру CreditTypeID (рис. sq_Parametr)
Присвоила филтру значение параметра (рис. sq_Where)
Сохранила запрос и посмотрела в Preview (рис. sq_Preview)
На рисунке видно условие where. Но когда работает запрос, в профайлере нет условия where(рис. Profiler), и данные не фильтруются.

Спасибо.

Нравится

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

Добрый день Марина!!!

вопрос. В базе данных  CreditTypeID.Type какой имеет тип? Так как называете вы параметр CreditTypeID, по логике данный параметр должен иметь тип  uniqueidentifier , а в вашем случае данный параметр имеет Числовой тип. Это не ошибка?

Не ошибка, имена параметра и условия неудачно написала, в базе данных CreditDetails.Type типа int.

Версия программы 3.2.0.90

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

function RefreshWorkspace() {

var GridDataset = BaseWorkspace.GridDataset;
if (!GridDataset) {
return;
}
try {
GridDataset.Close();
GridDataset.Open(); // здесь profiler захватывает запрос(без фильтра)

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

function dlDataOnDatasetBeforeOpen(Dataset, DoOpen)
{
ApplyDatasetFilter(Dataset, 'CreditDetailType', 52, true);
}

но фильтр все еще не работает

после моей фильтрации работает следующая функция написанная в scr_ContactCreditWorkspace

function dlContactCreditOnDatasetBeforeOpen(Dataset) {
var IsInSingleRowMode = GetIsInSingleRowMode();
if (IsInSingleRowMode != true) {
ApplyStandardWorkspaceFilter();
}
}

и грид не фильтруется. Но если писать мой фильтр прямо в этой функции, после ApplyStandardWorkspaceFilter()

function dlContactCreditOnDatasetBeforeOpen(Dataset) {
var IsInSingleRowMode = GetIsInSingleRowMode();
if (IsInSingleRowMode != true) {
ApplyStandardWorkspaceFilter();
ApplyDatasetFilter(Dataset, 'CreditDetailType', 52, true);
}
}
то работает.

Вопрос, можно ли так писать?

Добрый день Марина!!!

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

Спасибо Михаил.

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

Я создал новый стандартный раздел(3 объекта и 3 страницы) в котором отображаю выборку данных из БД. Задаю фильтр и у меня выбираются определенные данные. Но когда я делаю двойной клик по этим данным, мне открывается новая вкладка с ошибкой. Возможно ли отключить открытие новой вкладки(возможно разрешить только чтение)? И как это сделать? Спасибо...

Нравится

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

Чтобы на странице реестра отключить обработку двойного клика, достаточно в БП страницы в функции GetRegisterTreeGridDblClickScript заменить содержимое на:

return string.Empty;

"Зверев Александр" написал:

Чтобы на странице реестра отключить обработку двойного клика, достаточно в БП страницы в функции GetRegisterTreeGridDblClickScript заменить содержимое на:

return string.Empty;


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

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

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

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

Нравится

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

Добрый день, Елена!

На версии продукта 7.8 последней сборки, данный функционал отрабатывает автоматически, при условии корректной настройки группы системных настроек "Отправка e-mail сообщений" и произведена корректная интеграция с почтой.
И при заполненой системной настройки "Категория обращения по умолчанию".

"Михайленко Михаил" написал:И при заполненой системной настройки "Категория обращения по умолчанию".

Я ведь правильно понимаю, что это в Дизайнер системы -> Настройка системы -> Системные настройки? Просто в этом разделе настройки "Категория обращения по умолчанию" я не нашла.

Добрый день Елена!!!

Михаил в своем посте указал, обратите внимание, " На версии продукта 7.8 последней сборки ". Если у вас версия 7.8 именно последней сборки то данный функционал у вас должен работать. У себя ради эксперимента проверил, все работает.

"Власов Михаил Викторович" написал:На версии продукта 7.8 последней сборки

указывали бы номер сборки :)

"Власов Михаил Викторович" написал:данный функционал у вас должен работать

Нет письма и, как я понимаю, оно даже не создается.

Некоторые попадают в bpm в "Черновики" с состоянием отправки "Не начата" и, соответственно, не уходят клиенту на почту. Например, при создании обращения в bpm письмо о регистрации обращения попадает в "Черновики", НО иногда бывает уходит клиенту.

Может кто-либо сталкивался с такой проблемой уже? Или может знаете почему так происходит?

Елена, добрый день!
Данное поведение системы может свидетельствовать о двух вещах:

1) Не проставлен признак в настройках почтового ящика: "Отправлять сообщения, используя почтовый ящик" и "Использовать по умолчанию при отправке".

2) Не настроены системные настройки в группе "Отправка e-mail сообщений", а именно:
E-mail службы поддержки;
Пароль пользователя SMTP-сервера;
Порт SMTP-сервера;
Имя или IP-адрес SMTP-сервера;
Имя пользователя SMTP-сервера.

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

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

На 7.7 попробовал - процесс завершается с ошибкой (можно посмотреть в Process Log). Текст ошибки:

Terrasoft.Common.ItemNotFoundException: Value "Status" was not found.
at Terrasoft.Core.Entities.Entity.SetColumnValue(String valueName, Object value)
at Terrasoft.Core.Process.SendEmailToCaseStatusChangedProcess.ScriptTaskExecute(ProcessExecutingContext context)
at Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

Владимир, добрый день!
На данный момент последние релизные сборки продукта 7.8:
7.8.0.1135_ServiceEnterprise_Softkey_MSSQL_RUS
7.8.0.1135_CustomerCenter_Softkey_MSSQL_RUS

Что касается ошибки "Value "Status" was not found.", то она указывает на то, что не задано значение в колонке "Состояние"... Странная ошибка, в "коробке" нет возможности создать обращение без статуса.

Необходимо смотреть. (возможно есть какя-то доработаная логика)

"Михайленко Михаил" написал:Что касается ошибки "Value "Status" was not found.", то она указывает на то, что не задано значение в колонке "Состояние"... Странная ошибка, в "коробке" нет возможности создать обращение без статуса.

Необходимо смотреть. (возможно есть какя-то доработаная логика)

Нет, доработанной логики пока нет. При создании обращения сразу ставится статус New. Ок, если в ближайшее время не будет перехода на 7.8, то обратимся в поддержку для анализа

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