В числовых полях, для которых назначено округление (и для которых оно не назначено тоже) в Creatio, и которые не заполнены (например, пользователь импортирует из excel свои данные заполняя карточку какую-нибудь, и там не все ячейки заполнены), отображается ЦИФРА, а не пустое поле. Сейчас обратила внимание на данную проблему, есть ли какое-либо решение?
 

Нравится

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

Здравствуйте, столкнулся с проблемой в модуле

 

фильтрую отображаемый справочник, ссылаясь на значение ProductPrice называемое IptRegionStr. Но при раскрытии списка страница зависает, при этом в консоли нет ошибок.

Нравится

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

Фильтр составлен не правильно. Не льзя создавать фильтр, где сравнивается колонка (Name) с другим фильтром (idRegFilters).

Какой именно фильтр нужен? Стоит переделать этот код.

-

Владислав Литвинчук,

Здравствуйте, понял что делаю не так, решил переделать, но никак не могу понять. Я убрал все фильтры для IptRegionDirectory и пошел в метод PriceList, который от него зависит. Создаю логику. где прайслист выбирается исходя из выбранного региона в 

IptRegionDirectory(сейчас существует несколько регионов для 1 прайслиста), пример:

 

код(таблица регионов в базе называется IptRegionStr):

 

Хотел чтобы на выходе прайс лист ссылался на регион(справочник) в который я укажу и на его основании я вытащил определенную цену.

Страница редактирования продукта

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

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

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

Нравится

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

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

Нравится

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

Логи по обновлению хранятся в той директории, в которую вы распаковали архивы обновления. Файл с логами называется  UpdateExtendedLog, если я Вас правильно понял.

Логи обновления пишутся в папку Log для каждой версии из \InstallPackages. Например, \InstallPackages\7_17_3\Log.

 

Что касается ошибки со скриншота - такая ошибка может возникнуть в случае, если в конфигурации нет пакета CustomerCenterSofkey. Проверьте компиляцию после обновления, если она завершается без ошибок, то ошибку обновления можно игнорировать.

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

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

Нравится

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

Если "копнуть" и посмотреть, как работает ShowBodyMask, то можно увидеть, что маска применяется к элементу, переданному в конфиге. Если таковой не указан, то к body. Потому для решения Вашей задачи достаточно примерно такой конструкции:

this.showBodyMask({
	selector: "#MiniPageContentContainer"
});

 

Добрый день, Александр!

Опишите, пожалуйста, более детально (возможно на скриншотах или видео) как воспроизводится кейс, который Вы хотите обойти.

ч 

Жмурко Сергей Николаевич,

Есть мини карточка, есть вызов сервиса и ожидание его ответа
. Пока ожидаем, нужно заблокировать карточку от изменений (как это делаем в обычных карточках "MaskHelper.ShowBodyMask()"). Но при вызове "MaskHelper.ShowBodyMask()" блокировку и затенение получаем за миникарточкой а не поверх нее.

Если "копнуть" и посмотреть, как работает ShowBodyMask, то можно увидеть, что маска применяется к элементу, переданному в конфиге. Если таковой не указан, то к body. Потому для решения Вашей задачи достаточно примерно такой конструкции:

this.showBodyMask({
	selector: "#MiniPageContentContainer"
});

 

Если нужно заблокировать и кнопки, то id будет уже AlignableMiniPageContainer

Лопатин Константин,

спасибо большое. В принципе так и пробовал, но упустил что нежно еще слово "Container"

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

Добавляю в игнор лист по кнопке "Не считать дублями".

Но что делать если нажал нечаянно и хочу вернуть обратно?

Нравится

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

Удалить запись из таблицы AccountDuplicateSearchGroupExclusions.

Василий, решение вашего запроса зависит от механизма дедупликации, который используется на сайте.
Для механизма поиска дублей на хранимых процедурах достаточно удалить записи  из таблиц AccountDuplicateSearchGroupExclusions/ContactDuplicateSearchGroupExclusions для очистки всех записей, которые были помечены как "Не считать дублями".
Для механизма поиска дублей с использованием сервиса дедупликации ( детальнее в статье https://academy.terrasoft.ua/docs/user/ustanovka_i_administrirovanie/ra…) для сброса признаков "Не являются дублями" всех помеченных пачек дублей на сервисе дедупликации необходимо почистить таблицу UniqueEntity в mongodb. 

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

Делаю форму фильтрации отчета фаст репорта, нужно сделать подписку на изменение поля(настройка видимости, доступности, автозаполнения)

Подписка не срабатывает. Кто сталкивался с подобным и какие есть варианты исправить?

return {
		messages: {},
        attributes: {
            "IsContract": {
                "dataValueType": Terrasoft.DataValueType.BOOLEAN,
                "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				"value": false,
                "dependencies": [
					{
						"columns": ["WiseSectionSettlements"],
						"methodName": "RecalcIsContract"
					}
                ]
            },
...
methods: {
			RecalcIsContract: function() {
				this.set("IsContract", (this.get("WiseSectionSettlements") &&
					this.get("WiseSectionSettlements").value === "5cfa748e-185e-40fa-ab0e-a29ab91aa10d"));
			},

 

Нравится

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

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

Либо через конвертер, в BasePageV2 есть пример

{
                "operation": "insert",
                "name": "CardContentWrapper",
                "values": {
                    "id": "CardContentWrapper",
                    "selectors": {"wrapEl": "#CardContentWrapper"},
                    "itemType": Terrasoft.ViewItemType.CONTAINER,
                    "wrapClass": ["card-content-container"],
                    "items": [],
                    "markerValue": {
                        "bindTo": "IsEntityInitialized",
                        "bindConfig": {
                            "converter": "getCardContentContainerMarkerValue"
                        }
                    }
                }
            }

 

getCardContentContainerMarkerValue: function() {
                return this.get("IsEntityInitialized") ? "EntityLoaded" : "EntityLoading";
            }

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

Добрый день. При добавлении обращения любым способом такая ошибка. Помогите! Что делать? Поддержка игнорит нас((( The INSERT statement conflicted with the FOREIGN KEY constraint "FKHt8lBgKfy2jprTXzDRFvnS56zg". The conflict occurred in database "bpmpredprod", table "dbo.Case", column 'Id'. The statement has been terminated. ---> System.Data.SqlClient.SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint "FKHt8lBgKfy2jprTXzDRFvnS56zg". The conflict occurred in database "bpmpredprod", table "dbo.Case", column 'Id'. The statement has been terminated.

Нравится

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

Уверены, что ошибка именно в коробочном функционале?

Скорее всего есть какая-то доработка на именно вашем сайте (напр. процесс), которая пытается добавить записи на деталь обращения, но подставляет неверный Id записи обращения.

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

Уверены, что ошибка именно в коробочном функционале?

Скорее всего есть какая-то доработка на именно вашем сайте (напр. процесс), которая пытается добавить записи на деталь обращения, но подставляет неверный Id записи обращения.

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

Владислав Литвинчук,

Ошибка возникла после обновления на версию 7.16.
До этого все работало стабильно. Мне кажется при таком раскладе дело не в логике.
Есть еще какие-то варианты?
Спасибо!

Надежда, это ссылка на Case из таблицы CaseLifecycle. Проверьте, нет ли у Вас  каких-то доработок в этом объекте или его страницах, которые могли сломаться при обновлении. Если нет и сломалось обновление системы без доработок, лучше обратиться к поддержке.

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

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

Добрый день, Александр!
Доработки ЖЦ были, переопределили схему в нашем пакете: добавлено поле в объект, и добавлено отслеживание изменений этого поля в объекте Case и его запись в ЖЦ. 
Как можно оперативно исправить ошибку? Спасибо за помощь!

Действительно проблемы были из-за доработок событийных процессов объекта Case. В новой версии 7.16 добавилась колонка CaseRecordId в объекте CaseLifeCycle, которая не обрабатывалась у нас.
Всем спасибо!

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

Здравствуйте, скажите пожалуйста есть ли в crm возможность выгрузки диаграмм в excel формате?

Нравится

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

Доброе утро.

 

Для некоторых типов диаграмм можно выгрузить через меню настройки для графика - сначала 'Показать данные', потом настроить нужные колонки и 'Экспорт в Excel':

 

 

 

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

 

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

Доброе утро.

 

Для некоторых типов диаграмм можно выгрузить через меню настройки для графика - сначала 'Показать данные', потом настроить нужные колонки и 'Экспорт в Excel':

 

 

 

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

 

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

Попробуйте с помощью дополнения https://marketplace.terrasoft.ua/app/excel-reports-builder-creatio выгружать данные в шаблон с графиками

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

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

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

Спасибо, ознакомлюсь с данным дополнением

Ещё вариант (пробовал как эксперимент, но не пробовал в реальных кейсах) - использовать Power BI, получая данные по ODATA

 

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

Добрый день!
Установили дополнение "Calculated metrics for Creatio" https://marketplace.terrasoft.ru/app/calculated-metrics-creatio?activity=marketplace-iframe
Но после установки дополнения в списке блоков итогов не добавился пункт "Расчетный показатель". Точнее, его видно было только под Supervisor, но после перезахода в приложение и у него пропал этот пункт меню в блоке итогов.

Замещений модуля BootstrapModulesV2 в системе нет.

Как победить проблему? Кто-то сталкивался?


Версия: Service Enterprise 7.16.2

Нравится

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

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

 

Уточните, какие еще решения с функциональностью, расширяющей дашборды, у вас установлены?

Ирина, добрый день!

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

В дебаггере js браузера не могу найти метод getWidgetTypes из схемы ViewModelSchemaDesignerSchema. Пытался понять, идёт ли вызов вообще.

 

define("ViewModelSchemaDesignerSchema", ["DFDashboardDesigner", "WidgetGridLayoutEditItemModel"],
	function() {
		return {
			messages: {},
			attributes: {},
			methods: {
				getWidgetTypes: function() {
					var types = this.callParent(arguments);
					types.CalculatedMetric = {
						"type": "DFCalculationIndicator",
						"caption": this.get("Resources.Strings.NewWidgetCalculatedMetricCaption")
					};
					return types;
				}
			},
			details: {},
			diff: [],
			infoDiff: []
		};
	});

 

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

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

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