Добрый день!

 

Подскажите, пожалуйста, возможно ли добавление новых полей в system settings при помощи создания замещающего объекта или другим способом? Пробую добавить поле в замещающий объект, но тогда в system settings слетают все заполненные записи, поле не появляется.

 

Нравится

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

Добрый день,

 

У Вас не отображаются значения для полей, потому что, скорее всего, сваливается с 500 ошибкой SelectQuery на VwSysSettings. То есть, Вы добавили новую колонку в таблицу SysSettings, но не отобразили изменение во Vw по этой таблице. Еще необходимо поменять структуру Vw. Как трафарет, можете использовать SQL сценарий "VwSysSetting" из конфигурации (их там три, каждый для разной СУБД, все в пакете UIv2), в сценарий нужно добавить Вашу кастомную колонку. После выполнения сценария можно не перелогиниваться в систему и не обнолвять страницу, запросы должны проходить после этого.

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

Добрый день!

Пытаюсь по инструкции https://community.terrasoft.ua/articles/kak-sozdat-polzovatelskii-eleme… добавить кастомный элемент управления (задача - сделать поле textEdit, которое будет парсить введенную строку и возвращать число)
Столкнулась с проблемой: не получается привязать логику к событию сhange.

Как привязываю:

Ext.define("Terrasoft.controls.ITdsDataControl", {
	/*extend: "Terrasoft.Component",*/
	extend: "Terrasoft.controls.TextEdit",
init: function() {
		this.callParent(arguments);
		this.addEvents(
			"myMethod",
			"onChange" //пытаюсь привязать стандартный метод к событиям
		);
	},
onChange: function(event){
        var value = this.getTypedValue();
        value = value+"ttt";
        this.setValue(value); //пытаюсь увидеть изменилось ли значение
        this.setReadonly = true;//или хотя бы изменилась ли редактируемость поля
        this.setTimeString(value);
        this.reRender();
        this.callParent(arguments);
        };

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

 

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

Нравится

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

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

Из вашей бизнес задачи могу предположить, что вам достаточно будет в схеме страницы написать атрибут, примером:

attributes: {
			"UsrText": {
                dataValueType: Terrasoft.DataValueType.TEXT,
                dependencies: [
                    {
						columns: ["UsrText"],
                        methodName: "calculateNumber"
                    }
                ]
            }
		},

При изменении поля UsrText будет запускаться метод calculateNumber и уже в нём вы можете сделать всё, что вам необходимо.

Дима Вовченко,

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

 

 

В статье-примере события wrap-элемента отслеживались, насколько я поняла, после привязки их в функции:

initDomEvents: function() {
        this.callParent(arguments);
        var wrapEl = this.getWrapEl();
        if (wrapEl) {
            wrapEl.on("click", this.onClick, this);
        }
    },

У меня (если я правильно поняла логику) нужно событие change самого textEdit а не wrap-элемента. Но может быть мне нужно его включить для отслеживания таким же способом?

 

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

Добрый День, как устранить данную ошибку?

Скриншот прилагается.

Нравится

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

Содержимое окна сообщения не видно.

 

Текст сообщения об ошибке не виден.

UnauthorizedAccessException. Отказано в доступе по пути "C:\bpmonline\Terrasoft.WebApp\conf\content\_FileContentDescriptors.js". Остальные ошибки могут быть найдены в логе приложения

Здравствуйте, рекомендую проверить и при необходимости раздать права уровня Full control для пользователя, под которым запущен пул в iis, на \Terrasoft.WebApp и рекурсивно выдать права на все подпапки и файлы.

Добрый День, помогло выдача полных прав для пользователя, под которым запущен пул в iis, на \Terrasoft.WebApp и на все подпапки/ файлы.

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

Виникають труднощі з оновленням актуальної версії кейсів.

Зміни внесені в дизайнері кейсу не розповсюджуються на всі угоди кейсу, тому доводиться вручну оновлювати версію до актуальної в кожній угоді окремо, що ускладнено їх кількістю. Скріни додаю.

Нравится

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

Добрий день.

У базовій версії Creatio немає механізму, який би дозволив масово актуалізувати Кейси.
Рішення про зміну версії кейсу повинен приймати користувач самостійно, оскільки за деякими записами можуть виконуватись процеси.

У команди розробників Creatio зареєстровано завдання, щодо додавання даного механізму в базову логіку додатка.

На цей момент змінювати версію Кейса можна лише вручну в кожному записі окремо.

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

Был у нас объект (с наследованием от Base lookup) UsrTlsVersion. Был объект UsrConnectionSetting, в котором была Lookup колонка TLS Version, ссылающаяся на объект UsrTlsVersion. В какой-то момент необходимость в UsrTlsVersion отпала, и сначала была удалена соотвествующая колонка из UsrConnectionSetting, а потом и сам объект UsrTlsVersion. Оба удаления прошли без ошибок. После этого любые изменения в UsrConnectionSetting и последуюзий паблишинг начали ломаться с ошибкой:
 

Error while saving: No lookup workspace item reference specified for lookup type column "TLS Version".

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

Нравится

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

Александр, здравствуйте!
Чтобы предоставить корректный сценарий решения данной проблемы необходимо проанализировать базу данных вашего приложения и найти какие именно ссылки и взаимосвязи вызывают данную ошибку.
Обратитесь, пожалуйста, в поддержку.
С уважением, Алексей.

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

Добрый день!

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

Как будет правильно реализовать данный процесс?

Через исходный код и вызвать его через БП или сразу в БП реализовать данный процесс?

Релиз 7.16.4.1731

Нравится

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

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

 

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

 

С уважением,
Анастасия 

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

Вот так выглядит старовый сигнал бизнес-процесса:

Вот так выглядит код, добавляющий записи в Incoming Queue Messages:
 

public void SetMessageInToTable(string message) {
            UsrIncomingQueueMessage incomingQueueMessage = new UsrIncomingQueueMessage(UserConnection);
            incomingQueueMessage.SetDefColumnValues();
            incomingQueueMessage.UsrMessage = message;
            incomingQueueMessage.UsrName = $"Incoming Message_{DateTime.Now:yyyy-MM-dd hh:mm:ss}";
            incomingQueueMessage.InsertToDB();
}

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

В чем причина того, что процесс не запускается ? Надо добавлять записи не через InsertToDB(), а как-то по-другому ?

Нравится

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

Добрый день!

В данном случае вы создаете запись напрямую в бд. Любое создание записи на серверной стороне не будет сопровождаться необходимым сигналом для старта бп. Если же вам необходимо создавать записи таким образом и при этом применять дополнительную логику при добавлении, то следует использовать событийные подпроцессы в самом объекте. Они будут работать при любом раскладе.

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

Создаю в пакете новую Schema of the Edit Page View Model, добавляю в неё нужный код и сохранаю, получаю ошибку:
 

Error while saving: Item with the "id" schema identifier was not found

В самом пакете схему после этого видно, а код в ней сохранился. В метаданных сохраняемой схемы вижу этот Id в ParentSchemaUId. Но у схемы не заполненно поле Parent Object.

При попытке создать новую клиентскую схему(Module), получаю ту же ошибку, id тоже есть в ParentSchemaUId.

В таблицах SysSchema и SysModule по этому id ничего не находится.
Что это за айди такой ? Какой-то объект, от которого наследуются все схемы ? В какую сторону копать, чтобы исправить это ?

Нравится

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

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

 

Этот Id, видимо, UId или Id какой-то из базовых схем. Попробуйте поискать эту схему в БД запросом вида:

SELECT * FROM "SysSchema" WHERE "Id" = 'Id под вопросом' OR "UId" = 'Id под вопросом'

Есть еще вариант, что нарушена иерархия схем, где родителем является эта схема.

 

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

 

Еще в старой конфигурации была колонка Last error message text. Можно попробовать вывести эту колонку и отсортировать по ней, возможно в какой-то из схем будет ошибка.

 

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

 

С уважением,

Олег

Oleg Drobina,

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

В SysSchema, кстати, искали и по всем Id, и по всем UId, ничего не находилось. С SysModule тоже самое.

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

Имеем схему UsrRabbitConnectionSettingsViewModel, при попытке открыть страницу, где используется данная схема, получаем ошибку "Uncaught Error: Script error for "UsrRabbitConnectionSettingsViewModelStructure". Схемы UsrRabbitConnectionSettingsViewModelStructure у нас нет, но, я так понял, что это может быть автоматически сгенерированнная схема, как, например, [НазваниеСхемы]Resources. Так ли это ?

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

Перед этой ошибкой ещё были
 

GET https://{hostName}/0/UsrRabbitConnectionSettingsViewModelStructure.js?hash=88bb8816528f40c99df4c1145edfbd9e

с результатом 404.

И

The resource from “https://{hostName}/0/UsrRabbitConnectionSettingsViewModelStructure.js?hash=88bb8816528f40c99df4c1145edfbd9e” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).

 

Нравится

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

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

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

Нужно добавить в дизайнер системы новую кнопку. Для этого создаю Replacing Client Module, в родительском объекте указываю System designer ( UIv2 ), ну и добавляю туда кнопку через diff. После сохранения схемы на странице дизайнера системы пропали все кнопки, в консоли появилась ошибка:

Uncaught TypeError: e is undefined

Стектрейс ведёт в all-combined.js.

В коде я причин тому не нашёл, поэтому сначала избавился от ошибки, удалив свой замещающий файл, и запустил из конфигурации Generate и Compile. 

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

define("SystemDesigner", ["SystemDesignerResources", "PackageHelper",
	"ConfigurationConstants", "ConfigurationEnums", "ServiceHelper", "ProcessModuleUtilities", "ChangeLogUtilities",
	"WizardUtilities", "SystemOperationsPermissionsMixin", "RightUtilities"
], function(resources, RightUtilities, PackageHelper, ConfigurationConstants, ConfigurationEnums, ServiceHelper,
		ProcessUtilities, ChangeLogUtilities) {
	return {};
});

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

Нравится

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

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

Владислав Литвинчук, к сожалению, не помогло.

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