Добрый день. Подскажите пожалуйста, не как не могу решить данный кейс (причем когда-то такой решал давно но не могу не как вспомнить как).

Есть кнопка в группе кнопок "Действие" - "Отправить на визирование", она запускает процесс визирования. Данная кнопка должна быть активна если в таблице визирования уже есть как минимум одна положительная запись (автор согласовал). Для этого сделал запрос к базе данных и получил результат. Через свойство "Enabled" нужно реализовать доступность кнопки.

Код кнопки:

actionMenuItems.addItem(this.getButtonMenuItem({
	"Caption": VisaHelper.resources.localizableStrings.SendToVisaCaption,
	"Tag": VisaHelper.SendToVisaMenuItem.methodName,
	"Enabled": {"bindTo": "canEntityBeOperated"}
}));

"Enabled": {"bindTo": "canEntityBeOperated"} - сюда и надо отправить true и false.

Код запроса к базе данных:

var opportunityId = this.get("Id");
var ownerContact = "";
if (this.get("Owner")) {
	ownerContact = this.get("Owner").value;
}
var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
	rootSchemaName: "KtOpportunityVisa"
});
esq.addColumn("VisaOwner.Contact", "VisaOwnerContact");
esq.addColumn("KtOpportunity", "KtOpportunity");
esq.addColumn("Status", "Status");
var esqOwnerContactFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
	"VisaOwner.Contact", ownerContact);
var esqOpportunityFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
	"KtOpportunity", opportunityId);
var esqVisaСanceledFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
	"Status", KtConfigurationConstantsKarTel.VisaStatus.Positive);
esq.filters.add("esqOwnerContactFilter", esqOwnerContactFilter);
esq.filters.add("esqOpportunityFilter", esqOpportunityFilter);
esq.filters.add("esqVisaСanceledFilter", esqVisaСanceledFilter);
esq.getEntityCollection(function (result) {
	if (result.success && result.collection.getCount() === 0) {
		return false;
	} else {
		return true;
	}
}, this);

Так как запрос асинхронный то на сколько помню решается это через Terrasoft.chain с Callback, но как это сделать хоть убейте не помню.

Нравится

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

По поводу упомянутого механизма Вы недавно задавали вопрос в этой теме. Также см. публикацию.

По поводу упомянутого механизма Вы недавно задавали вопрос в этой теме. Также см. публикацию.

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

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

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

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

 

При добавлении детали в раздел консоль браузера отображает ошибку: uncaught exception: Terrasoft.InvalidOperationException: UnauthorizedAccessException. Отказано в доступе по пути "Supervisor".

 

Подскажите, пожалуйста, что можно с этим сделать.

Нравится

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

Добрый вечер.

 

Опишите подробнее на каком этапе возникает ошибка?

Вы добавляете деталь через мастер раздела и при сохранении возникает ошибка?

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

 

На самой веб-странице, не в консоли, никаких сообщений не показало?

 

Попробуйте открыть в «инструментах разработчика» вкладку «Network» и посмотреть, какой при этом идёт запрос к веб-сервисам сайта из браузера и получает в ответ ошибку или запрет. Так можно будет понять, чего именно не хватает.

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

 Установлено локально. Есть еще такая запись из логов -

ERROR IIS APPPOOL\Creatio Client.ClientLogger InternalPost - user: Supervisor/7f3b869f-34f3-4f20-ab4d-7480a5fdf647

 file: http://localhost:82/core/057665f97324038f6c7c326b6734de6b/requirejs/req…

На вкладке Network не обнаружил запросов с ошибкой или запретом

А где такое видите, в браузере или в логах сайта?

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

Это. я обнаружил в логах сайта

Приведите полный текст сообщения.

Возможно, поможет перезапуск сервера и чистка Redis, как тут.

 

 

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

Добрый день!

 

Подскажите пожалуйста, возможно ли сделать ширину вертикального реестра настраиваемой (управлять шириной) ?

 

Заранее спасибо за ответ!

Нравится

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

Добрый день! Вы имеете в виду плиточное представление? Если да то на данный момент такой возможности нет.

Спасибо за ответ!

 

Имею в виду вот эту вот область:

 

А возможно ли тогда просто изменить ее ширину на постоянной основе?

Алексей имел в виду другое, впрочем, по поводу управления шириной этого элемента я тоже не уверен.

 

Если просто поменять ширину, то посмотреть, где менять, можно так, как я недавно писал тут. В Вашем случае этот размер (30em) задан в CSS схемы SectionModuleV2:

.schema-wrap.two-el .left-el {
	position: fixed;
	left: 24em;
	top: 10.5em;
	bottom: 0;
	overflow-y: hidden;
	width: 30em;
	border-right: solid 1px #e1e8f2;
	z-index: 11;
	background-color: white;
}

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

Можно ли менять CSS-стиль какого-то элемента программно, обсуждали тут, увы, неясно, получилось ли у автора темы в итоге.

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

Спасибо за ответ!

 

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

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

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

Сумел все таки увеличить эту зону, там одним элементом дело не обходится :)

 

Спасибо за помощь!

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

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



Возникла проблема при разработке клиентского модуля - необходимо динамически менять "родителя" детали в зависимости от условий.



В случае, если на карточке редактирования присутствует вкладка с определенным ключом - необходимо "привязать" к ней деталь из diff (код ниже)

В случае, если вкладка найдена не была - добавить вкладку с привязкой детали (то есть выполнить процедуру вставки на основе diff)



Есть ли возможность динамически изменить свойство "parentName" у детали? (или как получить объектное представление детали для изменения свойства)

define("SomeModuleName", [], function() {
    return {
    details: {
        "DetailName": {
            "schemaName": "schemaName",
            "entitySchemaName": "entitySchemaName",
            "filter": {
                "detailColumn": "detailColumn",
                "masterColumn": "Id"
            }
        }
    },
    diff: /**SCHEMA_DIFF*/[ 
        {
            "operation": "insert",
            "name": "AddedTabName",
            "values": {
                "items": [],
                "caption": {
                    "bindTo": "Resources.Strings.AddedTabNameCaption"
                },
            },
            "parentName": "Tabs",
            "propertyName": "tabs",
            "index": 1
        },
    {
        "operation": "insert",
        "name": "CardDetail",
        "values": {
            "itemType": this.Terrasoft.ViewItemType.DETAIL,
            "visible": { "bindTo": "CardDetailVisible" }
        },
        "parentName": "AddedTabName",
        "propertyName": "items",
        "index": 0
        },
    ]/**SCHEMA_DIFF*/,
    methods: {
        onEntityInitialized: function() {
            this.callParent(arguments);
            // myMethodToUpdateVisibility();
        },
        }
    };
});

Вкладка (tab) на которую надо перенести деталь также динамически (также из кода клиентского модуля) добавляется сторонним пакетом.



Спасибо

Нравится

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

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

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

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

Спасибо за ваш вариант, попробую такой подход.

или как предложил Лопатин Константин или технически есть возможность закидывать и изымать элемент через ext, если вам вдруг не хватает геморроя в вашем проекте)

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

Добрый день! 

 

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

 

Изображение удалено.

Нравится

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

Параметр index вам должен помочь

должен, но не помогает. метод добавленный через bindTo к index-у не срабатывает

Вы же не говорили, что хотите менять динамически, когда карточка уже открыта. Скорее всего, он учитывается только на момент открытия, когда по коду схемы генерируется вёрстка страницы.

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

Добрый день!

 

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

 

Заранее спасибо

Нравится

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

Такое настраивается в CSS. Чтобы узнать, в каком именно, открываете раздел, в нём нужную мини-карточку и нажимаете F12. В «инструментах разработчика» браузера можно найти этот элемент вёрстки, его размеры и название схемы с CSS, где оно задаётся. Затем в своём пакете переопределять с нужной шириной.

Например, для активности:

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

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

Каким образом можно экспортировать созданный FastReport'ом отчет из .pdf, который идет по умолчанию в .xlsx или .doc?

Точнее, чтобы файл генерировался с нужным расширением

Нравится

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

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



К сожалению, на данный момент такой возможности нет.

Мы зафиксировали Ваши пожелания для реализации данной опции в будущих версиях.

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

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

Установил приложение Advanced excel reports for Creatio, но при его настройке обнаружилась проблема с Пользовательскими фильтрами: после настройки встроенных фильтров пропадает Путь к полю фильтра. При этом повторно указать Путь получается только после перезагрузки страницы, а встроенные фильтры при этом пропадают. И так по кругу...

Изображение удалено.

В чем может быть проблема и как ее решить?

 

Спасибо.

Нравится

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

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

Sales Enterprise версия 15.3. Но сейчас система обновилась до 15.4 и проблема ушла. Спасибо, что отозвались.

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

Не понимаю как настроить валидацию в созданном разделе, оно и обо это системные настройки отклонения от базовой валюты.

Настроить валидацию:

  • курс наличной покупки должен быть в диапазоне от ("Курс"– ОНО) до "Курс",
  • курс наличной продажи должен быть в диапазоне от "Курс" до ("Курс" + ОНО),
  • курс безналичной покупки должен быть в диапазоне от ("Курс" – ОБО) до "Курс",
  • курс безналичной продажи должен быть в диапазоне от "Курс" до ("Курс" + ОБО)

Нравится

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

Пётр, о механизме валидации есть статья.

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

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

Добрый день, уважаемые коллеги! Для нас представляет большой интерес приложение  Field surveys for Creatio (приложение с MarketPlace). Но к сожалению, при работе с мобильным приложением в режиме off-line, возникают ошибки синхронизации. Мы обращались в техническую поддержку Terrasoft, где приложение проверили на чистой сборке и подтвердили, что  возникают ошибки синхронизации. Может кто-то уже сталкивался и решал подобную проблему?

Нравится

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

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

 

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

Ирина Лазоренко,

Добрый день, Ирина! Прошу прощения за задержку. Нет, больше никаких дополнений не установлено. 

Марина,

 

уточните, еще актуален вопрос?

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