Добрый день.

 

У нас есть раздел "Заказы" с несколькими страницами.

Нужно для определенной страницы скрыть поле.

 

Как это сделать?

Нравится

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

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

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

Алексей Следь, и потом я могу его снова восстановить, если понадобится?

Койкова Ольга,

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

Спасибо большое! Как-то не подумала про это. Сразу в коде пошла искать.

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

Добрый день

Система требует заполнить поле "Заголовок". При заполнении “Заголовка” далее требует заполнить поле “Название”, но поле “Название” нет на детали.
При заполнении детали, если заполнять поля рандомно, то всплывающее окно мешает и не дает заполнить другие поля. В декабре еще таких проблем не было, переустановка приложения не помогла. Есть предположение что приложение marketplace не поддерживает 7.17.1

Нравится

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

Александр,

 

спасибо за уведомление. Действительно настройка колонок в приложении перестала работать на версии 7.17.1. Передала информацию ответственной команде. Уведомлю, когда подготовим обновленный пакет дополнения.

 

 

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

Всем добрый день!

Возник такой вопрос:

Существуют в системе Directum Типовые маршруты где необходимо работать с документами, то есть есть возможность прямо на серверном уровне открывать документ Word и Excel и его редактировать, затем после редактирования  все правки сохраняются в тех же файлах. А есть ли подобный функционал в Creatio или плагин.

Нравится

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

Анатолий, интеграции с Directum в маркете нет, но есть ряд других дополнений для работы с файлами в браузере в самой системе или коннекторов со сторонними системами документооборота. Например:

  • File X (Расширенная работа с файлами: просмотр, редактирование и версионность);
  • File core (Расширенные возможности работы с файлами через интеграцию с Google Suite. Создание / редактирование / просмотр файлов в интерфейсе Creatio);
  • Sharepoint connector (Хранение и совместная работа с файлами с помощью SharePoint);
  • Files extended (Предпросмотр, совместное онлайн-редактирование и версионность файлов);
  • Docs (Система управления корпоративной информацией на платформе Creatio).

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

Анатолий, интеграции с Directum в маркете нет, но есть ряд других дополнений для работы с файлами в браузере в самой системе или коннекторов со сторонними системами документооборота. Например:

  • File X (Расширенная работа с файлами: просмотр, редактирование и версионность);
  • File core (Расширенные возможности работы с файлами через интеграцию с Google Suite. Создание / редактирование / просмотр файлов в интерфейсе Creatio);
  • Sharepoint connector (Хранение и совместная работа с файлами с помощью SharePoint);
  • Files extended (Предпросмотр, совместное онлайн-редактирование и версионность файлов);
  • Docs (Система управления корпоративной информацией на платформе Creatio).

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

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

При установке приложения Data binding tool for Creatio на 7.17.1 выходит ошибка:

2021-01-12 16:19:07,505 При компиляции конфигурационной библиотеки возникли ошибки и (или) предупреждения
2021-01-12 16:19:07,545 Autogenerated\Src\GlbDataBindingHelper.GlbDataBinding.cs(323,47) ошибка CS0246: The type or namespace name 'EntityDataSource' could not be found (are you missing a using directive or an assembly reference?)

 

Нравится

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

Ещё и при его использовании в 7.17 появляются ошибки, которые в итоге открывают старые формы привязки данных 

Алексей, Владимир,

 

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

По срокам устранения ошибки смогу сориентировать в понедельник. Извините за причиненные неудобства.

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

Добавление кнопки звонка к полю, как в средствах связи, что бы можно было при звонке привязать в "Связи" запись раздела из которого был произведен звонок

Нравится

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

Добрый день! что касается добавления кнопки к полю, то подобное описано в данной статье. Что касается осуществление звонка, то Вам нужно подключить миксин CommunicationOptionsMixin в своем модуле откуда будете осуществлять звонок и привязать на кнопку метод обработчик, в результате выполнения которого будет вызываться один из методов миксина: callContact(number, contactId) или же callAccount: function(number, accountId)

Нигрескул Алексей,

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

Александр, эта функция в CommunicationOptionsMixin в конечном счёте посылает сообщение через «песочницу»:

this.sandbox.publish("CallCustomer", {
	number: number,
	customerId: customerId,
	entitySchemaName: entitySchemaName,
	callRelationFields: relationFields
});

А обработчик — в CtiPanelModelUtilities:

/**
 * Handler of call to the subscriber event.
 * @param {Object} numberInfo Call parameters information.
 * @param {String} numberInfo.number Subscribers phone number.
 */
onCallCustomer: function(numberInfo) {
	if (!this.get("IsConnected")) {
		this.sandbox.publish("SelectCommunicationPanelItem", {selectedItem: "CtiPanel"});
		this.logInfo(this.getResourceString("NotConnectedMessage"));
		return;
	}
	var phoneNumber = numberInfo.number;
	if (numberInfo.customerId) {
		this.set("AdvisedIdentifiedSubscriberInfo", numberInfo);
	}
	this.callByNumber(phoneNumber);
},

То есть параметр «customerId» не является обязательным и можно попробовать вызвать с одним лишь номером. А о добавлении связей, нужно смотреть, в каком формате при нормальном звонке передаётся callRelationFields и заполнить аналогичным.

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

CustomerId не обязательный, так как cti все равно определяет по номеру контакт , но если надо привязать ещё ссылку на запись раздела (в деталь связи) то обязательно как оказалось. Другими словами - что бы к звону привязать запись какого-то раздела, нужно что бы в системе обязательно существовал контакт которому звоните, так как если контакт не существует то и привязать к звонку нельзя не запись контакта не запись раздела из которого звоните. Ограничение зачем такое сделано не знаю, так как у меня рассмотрение анонимных обращений, и контакта нет, но звонки делают и привязать обращение к звонку надо, а нельзя

Если штатными API звонков не получится, можно вычислить Id нового звонка и создать записи или заполнить поля связей как обычные данные, заполнив поля по аналогии. Более подробно увидеть, что создаётся, можно, отловив уходящие к серверам HTTP или SQL-запросы.

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

Добрый день!

Помогите разобраться.

Обращение регистрируется по письму на системный почтовый ящик 2, уведомления по работе с обращением уходят с основного ящика 1.

В итоге уведомления уходят с основного ящика контакту обращения и системному почтовому ящику 2.

Поддержка ничего не может ответить внятного :(

В поле "кому" указываю емаил контакта в бизнес процессе, отправитель = системная настройка. Отправку делаю так:

var activityId = Get<Guid>("activityId");//AddActivityDataUserTask.RecordId;
var emailClientFactory = ClassFactory.Get<EmailClientFactory>(new ConstructorArgument("userConnection", UserConnection));
var activityEmailSender = new ActivityEmailSender(emailClientFactory, UserConnection);
activityEmailSender.Send(activityId);
return true;

 

Нравится

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

Добрый день.

В каком состоянии у вас настройка "AutoNotifyOnlyContact"? попробуйте поставить в True, после перезапустить приложение, и почистить редис. т.к. настройка кэшируется.

Добрый день.

В каком состоянии у вас настройка "AutoNotifyOnlyContact"? попробуйте поставить в True, после перезапустить приложение, и почистить редис. т.к. настройка кэшируется.

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

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

Пытался ставить шаблон процесса для связки с джирой. 

Установка закончилась ошибкой. 

Откатиться тоже не удалось - ошибка. 

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

42703: column "labJiraTask" of relation "Case" does not exist (на скриншоте). 

 

Что делать, как быть?

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

Нравится

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

Сергей, добрый день!

 

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

 

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

CRM bundle

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

Сергей, добрый день!

 

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

 

Ошибка при удалении пакета будет исправлена в версии 7.17.1. Для исправления в текущей версии необходимо сгенерировать исходных код для всех схем и скомпилировать все приложение.

Генерировал исходный код для всех схем. 

Пришлось залезть в пакеты и почистить вручную всё, что касалось приложения. 

Устанавливать повторно не рискнул.

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

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

Вопросы:

1. Допустима ли работа кластера серверов приложений при схеме: 1 и более серверов CRM, 1 и более серверов клиентского Портала, 1 сервер Портала с отключенными вебсокетами и СУБД?

2. Читал, что при отключении веб-сокетов не будут работать, кроме всего прочего, и пользовательские бизнес-процессы. Можете подробнее рассказать о том, что именно не будет работать?

 

 

Нравится

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

Во-первых, не «пользовательские бизнес-процессы», а действия пользователя в бизнес-процессах: открытие ему разных страниц.

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

 

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

 

Более подробно об этой технологии и её настройке есть в статье.

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

 

Ясно. Будем тестировать работу Портала с отключенной поддержкой веб-сокетов.

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

Здравствуйте! Возник такой вопрос: Как добавить отображение ещё одного поля для справочника. Допустим, к примеру, нужно отобразить Id напротив каждого значения Name, ну или любую другую колонку. Можно ли это сделать прям при выборе в справочнике? 

Версия мобильного приложения:7.16.5 основного:7.14

 

Нравится

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

Есть Terrasoft.sdk.LookupGridPage. Работает по аналогии с sdk реестра.

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

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

Есть Terrasoft.sdk.LookupGridPage. Работает по аналогии с sdk реестра.

Николай Кузьмин пишет:

Есть Terrasoft.sdk.LookupGridPage. Работает по аналогии с sdk реестра.

 

 Благодарю за подсказку. Помогло.

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

Добрый день

 

Поставлена задача контролировать статус активностей по обращению на момент перехода в статус "IsResolved". Сделал на CasePage в methods 2 функции:

asyncValidate: function(callback, scope) {
	this.callParent([function(response) {
		if (!this.validateResponse(response)) {
			return;
		}
		Terrasoft.chain(
			function(next) {
				this.validateActivities(function(response) {
					if (this.validateResponse(response)) {
						next();
					}
				}, this);
			},
			function() {
				callback.call(scope, response);
			}, this);
	}, this]);
},
validateActivities: function(callback, scope) {
	var result = {success: true};
	if (this.get("Status").IsResolved===true) {
		var esq = Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Activity" });
		esq.addColumn("Status.Finish", "Isfinished");
		esq.filters.addItem(esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, 
			"Status.Finish", "0"));
		esq.filters.addItem(esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, 
			"Case", this.get("Id")));
		esq.getEntityCollection(function(response) {
			if (response.success && response.collection.getCount() > 0) {
					result.message = this.get("Resources.Strings.CantChangaStatus");
					result.success = false;
			}
			callback.call(scope || this, result);
		}, this);
	}
}

Если обращение существует, то все отлично. Проверка идет, сохранять обращение не дает.

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

Нравится

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

Алексей, не пробовали отладку в этом коде и просмотр уходящих к серверу HTTP-запросов. Зависание может означать или цикл, или рекурсию, когда эта логика будет повторяться снова и снова.

 

А если заменить проверку с ESQ на заглушку, тоже зависает? Может, дело в асинхронности получения ответа от него, а выполнение проверки в asyncValidate ожидало результата сразу?

 

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

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