Вопрос

Добрый день!

Есть БП с элементом преднастроенная страницы. Список параметров страницы в процессе работы изменился. Часть параметров была удалена (знаю, что так нельзя, но уже свершившийся факт). Тем не менее в процессе удаленные параметры закешировались и при настройке отображения страницы отображаются. Но при добавлении нового параметра на страницу, в списке параметров в БП новые параметры не отображаются. При создании нового элемента процесса новые параметры подтягиваются, но при попытке сохранения выдает ошибку.

Открываю метаданные страницы и вижу что с этим ID как раз прописан удаленный параметр данной страницы. Вопрос: как решить данную проблему и обновить список параметров для страницы?

У меня такой же вопрос

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

Добрый день, Дмитрий!

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

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!

В процессе использую параметр с типом Коллекция объектов. Значение данного параметра передается в процесс из родительского процесса. Далее в элементе с типом задание сценарий происходит некая работа с коллекцией (по сути коллекция передается в другой метод, сами ее значения не меняются). После чего по условию БП либо идет дальше, либо возвращается в данный же кубик задание сценарий и должен снова вызвать метод и передать данную коллекцию в качестве параметра. Однако, при повторном заходе в задание сценарий, БП падает с ошибкой 

Terrasoft.Common.ItemNotFoundException: Элемент с идентификатором "00000000-0000-0000-0000-000000000000" не найден
   в Terrasoft.Core.ManagerItemCollection`1.GetByUId(Guid uid)
   в Terrasoft.Core.Manager`2.GetInstanceByUId(Guid uid)
   в Terrasoft.Core.Process.GetGoldWarrantyAmountProcess.get_ProductConditionCollection()
   в Terrasoft.Core.Process.GetGoldWarrantyAmountProcess.ScriptTask1Execute(ProcessExecutingContext context)
   в Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

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

У меня такой же вопрос

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

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

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

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

День добрый.

пишу сюда так как техподдержка не реагирует....

Досталась в управления древняя версия 7.2
Не могу настроить доступ по https
На сайте у вас документация полько с 7.8

Соответственно не работают рекомендации.

Как мне с ней быть?
Как вариант я пытался через nginx c https запустить, тоже не работает. Точнее вроде работает, но как то криво, некоторые пункты меню не открываются вообще.

Посоветуйте как со всем этим быть?
Обновляться? Или может дадите документацию на настройку https для этой версии.
Спасибо.

У меня такой же вопрос

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

Добрый день. А в чем именно возникли сложности? 

Для перевода сайта для работы по протоколу https, после настройки IIS, необходимо внести изменения в конфигурационные файлы.

В секции <system.serviceModel> файла web.config загрузчика, заменить ServiceModel\http на ServiceModel\https:

<system.serviceModel>

    ...

    <behaviors configSource="Terrasoft.WebApp\ServiceModel\<strong>https</strong>\behaviors.config" />

    <bindings configSource="Terrasoft.WebApp\ServiceModel\<strong>https</strong>\bindings.config" />

</system.serviceModel>

 

В секции <system.serviceModel> файла web.config приложения (который находится в папке Terrasoft.WebApp), убрать <bindings configSource="ServiceModel\http\Bindings.config" /> (если есть) и заменить ServiceModel\http на ServiceModel\https:

<system.serviceModel>

    ...

    <services configSource="ServiceModel\<strong>https</strong>\services.config" />

    -------<bindings configSource="ServiceModel\http\Bindings.config" />-------

</system.serviceModel>

 

В файле Terrasoft.WebApp\ServiceModel\https\bindings.config из секции <webHttpBinding> убрать  maxReceivedMessageSize (если есть) и добавить новую секцию для <basicHttpBinding>:

<basicHttpBinding>

    <binding>

        <security mode="Transport">

            <transport clientCredentialType="None" />

        </security>

    </binding>

    <binding name="ReportServiceBinding">

        <security mode="Transport">

            <transport clientCredentialType="None" />

        </security>

    </binding>

</basicHttpBinding>

<webHttpBinding>

    <binding>

        <security mode="Transport" -------maxReceivedMessageSize="10485760"------->

            <transport clientCredentialType="None" />

        </security>

    </binding>

</webHttpBinding>

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

 

Ash,

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

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

сертификат самоподписанный. И добавил исключение....

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

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

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!

При сохранении записи в детали средства связи возникают странные ошибки. Метод сохранения вызывает BatchQuery для Update сохраняемой записи. 

Однако при исполнении данного скрипта возникает следующая ошибка:

Конфликт инструкции DELETE с ограничением REFERENCE "FK4eIKa4vC33vluosjyKmFjgDPk3o". Конфликт произошел в базе данных "ArdshinBank7102-2", таблица "dbo.AppFormCommunication", column 'ContactCommunicationId'. ↵Выполнение данной инструкции было прервано."

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

Посмотрел событийные процессы объекта ContactCommunication, нигде нет удаления.

Подскажите, в какую сторону смотреть для решения ошибки.

 

У меня такой же вопрос

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

вот вам скрипт поиска зависимостей по ключу
 

SELECT
    C.CONSTRAINT_NAME,
    PK.TABLE_NAME,
    CCU.COLUMN_NAME,
    FK.TABLE_NAME,
    CU.COLUMN_NAME,
    C.UPDATE_RULE,
    C.DELETE_RULE
FROM
    INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C INNER JOIN
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME INNER JOIN
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME INNER JOIN
    INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME INNER JOIN
    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE CCU ON PK.CONSTRAINT_NAME = CCU.CONSTRAINT_NAME
WHERE
    FK.CONSTRAINT_TYPE = 'FOREIGN KEY' AND c.[CONSTRAINT_NAME] like '%KEY'
ORDER BY
    PK.TABLE_NAME, 
    FK.TABLE_NAME;

Вместо '%Key' -> '%FK4eIKa4vC33vluosjyKmFjgDPk3o' и смотрите какая колонка от какой зависит.

И насколько я понимаю update = delete->insert в sql

Так откуда зависимость, как раз понятно из сообщения: в другой таблице AppFormCommunication есть ссылка ContactCommunicationId. Но почему при изменении ContactCommunication связь сломалось — надо разбираться.

Update — это не Delete с Insert. Ведь при переименовании какого-нибудь контакта система не ругается на связи с ним.

Тут одно из двух: либо скрипт автора темы затирает первичный ключ Id в этих записях новыми значениями (что маловероятно), либо есть какая-то логика на изменении этой таблицы в виде отдельного БП, встроенного БП объекта или триггера в базе.

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

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!

На странице настройки синхронизации с LDAP одно из обязательных полей [Уникальный идентификатор пользователя]. По умолчанию заполняется значением ObjectSid. У меня возник вопрос: значения данного атрибута из AD хранятся где-нибудь в системе BPM Online? Если да, то в каком объекте и в каком поле. Насколько я понял, данные о пользователе AD хранятся в системе в объекте LDAPElement.

У меня такой же вопрос

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

Добрый день, Дмитрий.

Верно, это значение хранится в таблице LDAPElement - колонка LDAPEntryId.

Антон Малий,

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

Добрый день, Дмитрий.

В LDAPEntryDN хранится полный путь к пользователю в AD. Оно заполняется автоматически при синхронизации. Пустым оно не должно быть, так как по этому пути BPM ищет пользователя в AD.

Войдите или зарегистрируйтесь, чтобы комментировать

Добрый день!

На кастомной странице редактирования в БП разместил обычную деталь с карточкой редактирования (наследует от Базовая схема детали с реестром). На onRender карточки повесил метод updateDetails(). Однако при добавлении записи в деталь обновления не происходит. Добавленная запись отображается в гриде только после настройки колонок. Подскажите, пожалуйста, как решить проблему обновления грида детали.

У меня такой же вопрос

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

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

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

Александр, добрый день!
С способами по ссылкам ознакомился до того, как задавать этот вопрос. В моем случае они не помогли. Собственно вопрос к поддержке, обновление детали по добавлении записи не является базовым функционалом? Обязательно нужно дописывать какие-либо костыли, чтобы штатный функционал работал?

subscriber пробовали повесить?

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

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

Пробовал, не попадает в отладчике в метод, указанный в subscriber.

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

"DepositInFinApplicationDetail": {
	"schemaName": "snGoldDepositDetail",
	"filter": {
		"masterColumn": "Id",
		"detailColumn": "Id"
	},
	"filterMethod": "goldDetailFilter",
	"subscriber": {
		"methodName": "updateGoldDetail"
	}
},
 
goldDetailFilter: function() {
	var finApplication =  this.get("Id");
	var goldType = ""
	var filterGroup = new this.Terrasoft.createFilterGroup();
	filterGroup.logicalOperation = this.Terrasoft.LogicalOperatorType.AND;
	filterGroup.add("DepositFilter", this.Terrasoft.createColumnFilterWithParameter(
			this.Terrasoft.ComparisonType.EQUAL, "[snDepositInFinApplication:Deposit:Id].FinApplication.Id", finApplication));
	filterGroup.add("DepositTypeFilter", this.Terrasoft.createColumnFilterWithParameter(
			this.Terrasoft.ComparisonType.EQUAL, "[snDepositInFinApplication:Deposit:Id].Deposit.Type.Id", this.goldTypeId));
	return filterGroup;
},
 
	updateGoldDetail: function() {
				var detailId = this.getDetailId("DepositInFinApplicationDetail");
				this.sandbox.publish("UpdateDetail", {
					reloadAll: true
				}, [detailId]);
	},

 

Может, вообще убрать дополнительный код, оставить только стандартную логику. В обычных разделах всё ведь работает.

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

Александр, дополнительная логика нужна для реализации бизнес-логики.

Бизнес-логику можно реализовать и на уровне объекта, серверной логикой.

Войдите или зарегистрируйтесь, чтобы комментировать

Добрый день!

Реализовал объект залог в заявке, у которого может быть 2 типа залога: Депозит и Недвижимость. Для каждого типа создал свою деталь, в котором выводятся только записи соотв. типа. Мне нужно, чтобы при редактировании записи из детали открывалась страница с типом залога, который в детали. Создал две разные страницы для редактирования сущности.
Далее выполнил привязку в таблицах SysDetail, SysModuleEntity, SysModuleEdit.

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

У меня такой же вопрос

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

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

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

Войдите или зарегистрируйтесь, чтобы комментировать

Добрый день!

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

У меня такой же вопрос

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

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

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

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!

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

 

 

У меня такой же вопрос

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

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

Дмитрий, здравствуйте!

Значение, которое у Вас выводится как undefined, берется из локализируемой строки в схеме LookupPageViewModelGenerator, название строки - CaptionLookupPage. Проверьте, возможно, там затерлось значение, или эта локализируемая строка вообще отсутствует.

Юлия, спасибо! Действительно, схема LookupPageViewModelGenerator была мной переопределена, а параметр LookupPageCaptionPrefix был не заполнен.

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!

Добавил на кастомную страницу базовую деталь FileDetailV2 из пакета UIv2.

При инициализации детали падает ошибка: 

user: Supervisor/7f3b869f-34f3-4f20-ab4d-7480a5fdf647
 file: undefined
 line: undefined
 column: undefined
 message: Cannot read property 'initDropzoneEvents' of undefined 
 date: Fri Apr 20 2018 10:17:45 GMT+0400 (RTZ 3 (зима))
 moduleId: CardModuleV2_fa04f9ca-d9d9-4c1e-bae9-ef23c8b24925_FinApplicationPage_detail_FileDetailV2snIntegrationLogFile
 moduleName: DetailModuleV2

При этом вручную добавить файлы на деталь невозможно.

В другом разделе деталь работает корректно, добавлена аналогично.

Подскажите, в чем может быть проблема?

 

У меня такой же вопрос

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

Дмитрий, добрый день! 

Попробуйте передобавить деталь согласно SDK - https://academy.terrasoft.ru/documents/technic-sdk/7-12/dobavlenie-deta…

Либо как во вложении https://www.dropbox.com/s/uhruk6kh04y0zjr/%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%B5%D1%82%D0%B0%D0%BB%D0%B8%20%D1%84%D0%B0%D0%B9%D0%BB%D1%8B%20%D0%B8%20%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8.docx?dl=0

Также в версии 7.12.1 появится возможность добавить деталь "Файлы и ссылки" пользовательскими средствами.

Войдите или зарегистрируйтесь, чтобы комментировать