Здравствуйте, есть поля типа date (8) скажите как можно присвоить значение с помощью this.set()?

Варианты которые попробовал но не получился:

1) this.set("Test", "\"2023-09-06T00:00:00.000\"").

2) this.set("Test", '\"2023-09-06T00:00:00.000\"').

3) this.set("Test", "'2023-09-06T00:00:00.000'").

Нравится

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

Добрый день,

 

В этой колонке хранится не текст, а именно дата, поэтому нужно использовать подход вида:

var valueToSet = new Date("2023-07-28");
this.set("UsrTestDateTime", valueToSet);

а в valueToSet прокинуть нужную дату.

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

Добрый день, есть такая задача:

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

Я реализовала кнопку у детали "Документы по заказу", при нажатии на которую, обновляется значение определенной колонки у этой детали и должно обновляться значение определенной колонки (имя колонки прописано в коде, пусть будет "NameColumn") в детали "Позиции заказа".

Вопрос: Как обновить значение колонки (какой-либо) в первой детали "позиции заказа"? 

Пыталась сделать это так:

Колонка в детали "Документы по заказу" обновляется через UpdateQuery, нашла инструкцию в документации.

С обновлением колонок детали в первой вкладке наткнулась на трудность. 

Я пыталась сделать коллекцию через esq по позициям заказа. Устанавливаю значение через инструкцию this.set("NameColumn",value);

Однако это не работает. Подскажите, пожалуйста, как правильно в такой ситуации заполнить значение колонки? И возможно ли так вообще сделать?

Нравится

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

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

 

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

var value = this.get('UsrChange') – новое значение, которое вы хотите записать в необходимую колонку;

updateQuery.setParameterValue("Name", value, this.Terrasoft.DataValueType.TEXT) – в значение "Name" ("Notes" во втором запросе) подставьте название поля из объекта, в которое хотите записать изменения;

Удостоверьтесь, что вы добавили в дизайнере нужные поля на страницу. "detailColumn" - “Where detail column”, "masterColumn" - “Equals to page column”, "entitySchemaName"  - “Detail”.

 

...
details: /**SCHEMA_DETAILS*/{"UsrTabSecond": {
        "schemaName": "OpportunityHistoryActivityDetail",
        "entitySchemaName": "Activity",
        "filter": {
        "detailColumn": "Priority",
        "masterColumn": "UsrLookup2"
        }
    },
    "UsrTabFirst": {
        "schemaName": "AccountContactsDetailV2",
        "entitySchemaName": "Contact",
        "filter": {
        "detailColumn": "Job",
        "masterColumn": "UsrLookup1"
        }
    }
}/**SCHEMA_DETAILS*/,
    businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
        methods: {
             onMyButtonClick: function() {
                   var value = this.get('UsrChange');
                   var IdValue = this.get('UsrLookup1');
                   var updateQuery = Ext.create("Terrasoft.UpdateQuery", {
                       rootSchemaName: "Contact"});
                   var filters = updateQuery.filters;
                   filters.addItem(this.Terrasoft.createColumnFilterWithParameter(
                       this.Terrasoft.ComparisonType.EQUAL, "Job", IdValue));
                   updateQuery.setParameterValue("Name", value, this.Terrasoft.DataValueType.TEXT);
                   updateQuery.execute(function(result){
                       if(result.success) this.updateDetail({detail: "UsrTabFirst"});}, this);                                 
                                                          
                   var value1 = this.get('UsrChange');
                   var IdValue1 = this.get('UsrLookup2');
                   var updateQuery1 = Ext.create("Terrasoft.UpdateQuery", {
                       rootSchemaName: "Activity"});
                   var filters1 = updateQuery1.filters;
                   filters1.addItem(this.Terrasoft.createColumnFilterWithParameter(
                       this.Terrasoft.ComparisonType.EQUAL, "Priority", IdValue1));
                   updateQuery1.setParameterValue("Notes", value1, this.Terrasoft.DataValueType.TEXT);
                   updateQuery1.execute(function(result){
                       if(result.success) this.updateDetail({detail: "UsrTabSecond"});}, this);
        }
},
...

 

С уважением,

Ангелина

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

 

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

var value = this.get('UsrChange') – новое значение, которое вы хотите записать в необходимую колонку;

updateQuery.setParameterValue("Name", value, this.Terrasoft.DataValueType.TEXT) – в значение "Name" ("Notes" во втором запросе) подставьте название поля из объекта, в которое хотите записать изменения;

Удостоверьтесь, что вы добавили в дизайнере нужные поля на страницу. "detailColumn" - “Where detail column”, "masterColumn" - “Equals to page column”, "entitySchemaName"  - “Detail”.

 

...
details: /**SCHEMA_DETAILS*/{"UsrTabSecond": {
        "schemaName": "OpportunityHistoryActivityDetail",
        "entitySchemaName": "Activity",
        "filter": {
        "detailColumn": "Priority",
        "masterColumn": "UsrLookup2"
        }
    },
    "UsrTabFirst": {
        "schemaName": "AccountContactsDetailV2",
        "entitySchemaName": "Contact",
        "filter": {
        "detailColumn": "Job",
        "masterColumn": "UsrLookup1"
        }
    }
}/**SCHEMA_DETAILS*/,
    businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
        methods: {
             onMyButtonClick: function() {
                   var value = this.get('UsrChange');
                   var IdValue = this.get('UsrLookup1');
                   var updateQuery = Ext.create("Terrasoft.UpdateQuery", {
                       rootSchemaName: "Contact"});
                   var filters = updateQuery.filters;
                   filters.addItem(this.Terrasoft.createColumnFilterWithParameter(
                       this.Terrasoft.ComparisonType.EQUAL, "Job", IdValue));
                   updateQuery.setParameterValue("Name", value, this.Terrasoft.DataValueType.TEXT);
                   updateQuery.execute(function(result){
                       if(result.success) this.updateDetail({detail: "UsrTabFirst"});}, this);                                 
                                                          
                   var value1 = this.get('UsrChange');
                   var IdValue1 = this.get('UsrLookup2');
                   var updateQuery1 = Ext.create("Terrasoft.UpdateQuery", {
                       rootSchemaName: "Activity"});
                   var filters1 = updateQuery1.filters;
                   filters1.addItem(this.Terrasoft.createColumnFilterWithParameter(
                       this.Terrasoft.ComparisonType.EQUAL, "Priority", IdValue1));
                   updateQuery1.setParameterValue("Notes", value1, this.Terrasoft.DataValueType.TEXT);
                   updateQuery1.execute(function(result){
                       if(result.success) this.updateDetail({detail: "UsrTabSecond"});}, this);
        }
},
...

 

С уважением,

Ангелина

Anhelina, 

большое спасибо за помощь!

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

Здравствуйте, Я установил пакет (Anketa2) и хочу изменить скрипт в клиентский модуль (UsrAnketa60f79456Section) но не получается. Что делать?Изображение удалено.Изображение удалено.

Нравится

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

Здравствуйте. Можете детально описать что не получается?

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

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

 

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

 

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

При установке E-Signature integration framework for Creatio ошибка

022-12-13 10:38:58,816 [52] ERROR IIS APPPOOL\Bulsite LogError - Ошибка выполнения операции на элементе "DigitalSignatureAbstractProvider", UId = 9c78d629-62ed-494d-af06-df47e41174b1.

2022-12-13 10:38:58,816 [52] ERROR IIS APPPOOL\Bulsite OnItemOperationError - System.IO.DirectoryNotFoundException: Could not find a part of the path 'metadata.json'.

подскажите, что может быть не так

Нравится

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

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

В решении обнаружены существенные ошибки.

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



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

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

После установки пакета, необходимо запустить сервис написанный на C#.

Может кто в курсе как можно это реализовать?

Нравится

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

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

Добрый день!



Вы можете запустить бизнес процесс по сигналу после установки пакета:





С уважением,

Богдан

Bogdan,

если установка задействует уровень entity

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

Добрый день

В чем может быть проблема? На локально развёрнутую систему не получается установить пакет из SVN.

При установке появляется ошибка "Working copy 'PACKAGE_NAME' locked."

Если попробовать установить в тестовой облачной среде то всё хорошо, всё устанавливается.

Другие пакеты устанавливаются на локалку без проблем

Нравится

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

Чеботов Никита, добрый день!

Проверьте, что пакет разблокирован в базе данных, то есть InstallType = 0 и Maintainer пакета совпадает с Maintainer в системе.



Также, возможно, поможет очистка папки рабочей копии, находящейся по пути прописанном в ConnectionStrings.config в секции "defPackagesWorkingCopyPath".

%TEMP%\%APPLICATION%\%APPPOOLIDENTITY%\%WORKSPACE%\TerrasoftPackages

Пример на веб сервере:\Windows\Temp\<номер сайта>\<пользователь IIS>\Default\TerrasoftPackages

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

Добрый день!

 

Пытаюсь установить обновления с разработческой среды на тестовую через установку и удаление пакетов.

Сам пакет на целевой стенд устанавливается корректно.

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

Анализируя логи, обнаружила записи типа



.....

2021-12-30 00:47:46,632 Сравнение пакетов

2021-12-30 00:47:46,901 Сохранена схема "SmaNeedSection" в пакете "SmaMain"

..... (тут идут записи про установку пакетов)

2021-12-30 00:47:49,241 Генерация исходного кода схемы "SmaNeedSection" из пакета "SmaMain"

 

В устанавливаемом пакете как раз содержались обновления схемы "SmaNeedSection" и именно их нужно было установить на стенд.

 

Вопрос:

- как происходит сравнение пакетов, что именно при этом сравнивается?

- на основании чего Creatio определяет, что какие-то схемы нужно отдельно сохранить, а потом их восстановить? 

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

Нравится

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

Если распаковать пакет через clio или выгрузить в файловую систему, то у каждой схемы есть файл descriptor.json, в нем есть свойство "ModifiedOnUtc", вот по этой дате, если она отличается, и определяется нужно ли обновить схему на целевой среде или нет. Так же на целевой среде у схем (таблицы в бд) "SysSchema",  "SysPackageSchemaData",  "SysPackageReferenceAssembly ",  "SysPackageSqlScript", должно быть установлено IsChanged =0 и IsLocked =0, где SysPackageId = id вашего пакета (таблица SysPackage)

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

При запуске системы после выполнения всех настроек  ,запускается окно авторизации в браузере после ввода логина и пароля Supervisor ни каких дальнейших действий не происходит(не ошибки ,не запуска системы Creation)

Нравится

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

Добрый день Андрей, у меня такая же ошибка возникла при первом запуске. Это связано с IIS. Вам нужно установить в IIS .Net Fraemwork(версия) ->  "Службы WCF".  После этого перезапустить IIS

Добрый день Андрей, у меня такая же ошибка возникла при первом запуске. Это связано с IIS. Вам нужно установить в IIS .Net Fraemwork(версия) ->  "Службы WCF".  После этого перезапустить IIS

Внимательно проверьте все настройки.

https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/ra…

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

Доброе время суток!

А могу я уточнить в чем разница между установкой пакетов с изменениями через Вас (@Terrasoft) и из приложения как показано на скрине: 

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

Буду благодарен за более глубокий ответ.

Нравится

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

Andrew Prymenko,

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

И как могут загружаться проектные доработки из Маркетплейса? 

 

Принципиально - ничем. Через Установить из файла вы загружаете свои проектные доработки. Ну а выбрать из Маркетплейс - очевидно их названия. 

Вы говорите принципиально - ничем, но все же есть отличия. Хочу узнать о них. Это может даже целый ряд моментов которые на первый взгляд не принципиальные, но все же имеют место быть. И в первом и во втором случае однозначно загружаються проектные доработки, а что под капотом? Может какие-то backup'ы........ 

Andrew Prymenko,

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

И как могут загружаться проектные доработки из Маркетплейса? 

 

Андрей, в случае выбора «установить из файла» делается бекап только тех пакетов, которые устанавливаются и если установка пройдет с ошибками, то можно сразу же откатить изменения на предыдущие версии. Бекап БД не делается.

 

А при автоматической установке пакетов обновлений вызывается операция WorkspaceConsole InstallFromRepository. Если в действии установлено соответствующее значение, делается бекап БД с последующим восстановлением в случае возникновения ошибки в ходе выполнения.

 

Также интересующий Вас вопрос описан в статье академии «Установка пакетов из приложения» и более новой «Раздел [Установка и удаление приложений]».

Сидоров Александр Валерьевич,

Александр, добрый вечер!

посмотрите внимательно на фото, которое я прикрепил. Я там обвел синим цветом "Установить из файла". Этим самым говорю, что я проектные доработки из Маркетплейса не загружаю))) А делаю это через пункт меню который обвел синим цветом "Установить из файла". Спасибо, что берете участие в обсуждении поднятых вопросов.

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

При запуске приложения всплывает такая ошибка. Собственно, как это фиксить? (установка была выполнена согласно туториалу по установке приложения on-site)Изображение удалено.

Нравится

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

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

Судя по ошибке проблема с redis, либо указаны некорректно параметры подключения, либо нет доступа к нему.

Рекомендую обратиться в тех. поддержку Террасофт - support@terrasoft.ru

 

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