Коллеги, добрый день.

 

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

 

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

Нравится

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

Не вполне понимаю, о какой кнопке речь.

Если речь о пункте меню на детали виз, то это логика в VisaDetailV2.

Вот добавление обработчика:

/**
 * @inheritdoc Terrasoft.BaseGridDetailV2#addRecordOperationsMenuItems
 * @override
 */
addRecordOperationsMenuItems: function(toolsButtonMenu) {
	this.callParent(arguments);
	toolsButtonMenu.addItem(this.getButtonMenuItem({
		Caption: {bindTo: "Resources.Strings.Approve"},
		Click: {bindTo: "approve"},
		Enabled: {bindTo: "getEditRecordButtonEnabled"},
		ImageConfig: this.get("Resources.Images.ApproveImage")
	}), 0);

И сама функция:

/**
 * Approval of the selected record.
 * @private
 */
approve: function() {
	var activeRow = this.getActiveRow();
	if (!this.checkState(activeRow)) {
		return;
	}
	VisaHelper.approveAction(activeRow, this.visaHelperActionsCallBack, this);
},

 

Зверев Александр, это будет работать для вот этой кнопки ?

Нет, это другая страница, ApprovalDashboardItemViewModel, а в ней есть обработчик onApproveButtonClick.

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

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

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

Добрый день!

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

В связи с этим вопрос: как настроить типы дробных полей, а именно, указать тип данных 0,0001 и 0,1. 

Буду благодарна за совет.

Нравится

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

Попробуйте открыть эту страницу в конфигураторе (action -> source code), затем найти требуемый параметр и поставить ему нужный тип данных.

Попробуйте открыть эту страницу в конфигураторе (action -> source code), затем найти требуемый параметр и поставить ему нужный тип данных.

Трефилов Павел Сергеевич,

Павел, спасибо, я эти действия сделала в самом начале и никаких изменений не произошло. Ранее данные действия выполнялись без проблем. Видимо, в последних версиях такая функциональность исчезла или это баг. Закрыла вопрос применением кода в Diff. Помогли коллеги :-)

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

Решал ли кто-то задачу смена типа результата активности? Поделитесь опытом.

Это цвет покраски кнопок результатов активности в задачах по БП.

Нравится

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

В справочнике Результат Активности, есть 3 категории.

В зависимости от того, какая категория указана, такой цвет кнопки и будет.

Нейтральный - серый

Отрицательный - красный

Успех - зеленый


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



Литвинко Павел,

это прозрачно.Может можешь подсказать где зашито?

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

Добрый день!

Подскажите, есть ли порядок в котором стартуют Бизнес-процессы в следующей ситуации (пример): 

Есть два БП. Один стартует по Сигналу от Объекта. Второй БП без стартового сигнала, но указан на одной из стадий динамического кейса объекта.

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

Оба запустятся одновременно или сначала отрабатывают БП на кейсе?

Нравится

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

Добрый день.

Подскажите пожалуйста по возможности реализации Детали с полями.

Нашла пример реализации на академии (https://academy.terrasoft.ru/documents/technic-sdk/7-11/sozdanie-polzov…) , непонятно это будет работать только в банковских продуктах bpm'online ? Можно такой же функционал реализовать в Creatio Service?

 

Нужна именно деталь, потому что нам нужно разным сотрудникам на разные детали по отдельности раздавать права (на группу полей я так понимаю нельзя правами управлять, как с деталями), и нужны именно поля фиксированные, без добавления значений через +.

 

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

Нравится

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

Добавление можно убрать на схеме детали:         

diff: /**SCHEMA_DIFF*/[
            {
                "operation": "remove",
                "name": "AddRecordButton"
            }
        ]/**SCHEMA_DIFF*/,

 

Не в банковской «коробке» схемы BaseFieldsDetail не вижу.

 

Если нужно раздать права на поле или несколько полей в любой записи (а не для конкретной), то можно обойтись без детали, а настроить права на колонки.

Зверев Александр,спасибо за подсказку, настроили через колонки права.

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

Добрый день.

 

Создали портального пользователя. Пробуем зайти через ../login/SSPLogin.aspx

Пишет, что нужны лицензии. Пробовали выдавать лицензии Service Enterprise on-site. Не помогает.

 

Предполагалось, что сотрудники, обрабатывающие заявки, сидят под лицензией Service Enterprise on-site. 

Остальные (заведенные как портальные пользователи) - без лицензий. Так как функционал портал входит в пакет Service Enterprise. Насколько я понял, ограничений либо нет, либо 100 пользователей.

Сейчас не пускает даже 1го.

 

Прошу подсказать в чем может быть проблема.

 

P.S. На DEV среде (где совсем нет лицензий) такой проблемы нет.

Нравится

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

для пользователей портала нужны свои портальные лицензии. Запросите у вашего менеджера чтобы вам выписали эти лицензии. а затем сделайте запрос в техподдержку на лицензии. У вас должно быть 2 типа лицензий: для сотрудников и для портала.

На DEV ошибка не воспроизводится как раз по той причине, что там нет лицензий вообще.

для пользователей портала нужны свои портальные лицензии. Запросите у вашего менеджера чтобы вам выписали эти лицензии. а затем сделайте запрос в техподдержку на лицензии. У вас должно быть 2 типа лицензий: для сотрудников и для портала.

На DEV ошибка не воспроизводится как раз по той причине, что там нет лицензий вообще.

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

После установки пакета не добавляет раздел в Рабочее место.

Установил пакет на 15.2, попытался добавить раздел в рабочее место - раздел не добавился, но выбило эту ошибку:

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

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

Потом это пакет поставил на 15.3 и ошибка повторилась, полная компиляция не помогла. Кто сталкивался с таким? Если вручную добавить запись в SysModuleInWorkplace - раздел появляется на месте и работает, в чем может быть проблема?

Нравится

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

Добрый день. Вы добавляете раздел в рабочее место через данные?

Чубко Илья,

Я написал insert запрос в SQL. Оно успешно добавляется. Я спрашиваю у людей, почему вручную добавление работает нормально, а через рабочее место выбивает ошибку!?

Радчук Виталий Владимирович,

попробуйте и добавление раздела выполнить через привязку данных к пакету, предварительно привязав сопутствующие данные:

SysWorkplace - Рабочее место пользователя

SysModuleInWorkplace - Раздел в рабочем месте 

Вадим Косарев,

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

Судя по стеку, в функции sectionRepository.Get(sectionId) при получении информации по разделу возвращает пустое значение, когда при помощи .First(s => s.Id.Equals(sectionId)) к нему обращаются, происходит ошибка.

Значит, что-то не так с Вашим разделом, его регистрацией.

Если система развёрнута локально, можно в SQL-профайлере посмотреть, какой запрос с с получением списка разделов идёт в базу непосредственно перед ошибкой и возвращает среди результатов ни одного с GUID этого раздела. Сам запрос такой:

  protected Select GetSectionsSelect() {
   Select sectionSchemaSelect = GetClientUnitSchemaNameSelect("sm", "SectionSchemaUId");
   Select sectionModuleSchemaSelect = GetClientUnitSchemaNameSelect("sm", "SectionModuleSchemaUId");
   var select = new Select(UserConnection)
     .Column("sm", "Id")
     .Column("sm", "Caption")
     .Column("sm", "Type")
     .Column("sm", "Code")
     .Column("sm", "Attribute")
     .Column("sm", "SysModuleEntityId")
     .Column("smv", "VisaSchemaUId")
     .Column(sectionSchemaSelect).As("SectionSchema")
     .Column(sectionModuleSchemaSelect).As("SectionModuleSchema")
     .Column("sme", "SysEntitySchemaUId").As("EntityUId")
     .Column("sme", "TypeColumnUId").As("TypeColumnUId")
    .From("SysModule").As("sm")
    .InnerJoin("SysModuleEntity").As("sme")
     .On("sme", "Id").IsEqual("sm", "SysModuleEntityId")
    .LeftOuterJoin("SysModuleVisa").As("smv")
     .On("sm", "SysModuleVisaId").IsEqual("smv", "Id") as Select;
   return select;
  }

 

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

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

Нравится

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

Например, в разделе заказов используются БП «Визирование заказа» и его подпроцессе «Получение визы по заказу». Если нажать «Закрыть», выполнение процесса остановится на этом элементе, что можно увидеть в журнале процессов на диаграмме выполнения, а саму страницу можно снова открыть по кнопке на правой панели.

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

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

 У меня в среде разработки нет 1000 записей точно и активность не создаеться

Например, в разделе заказов используются БП «Визирование заказа» и его подпроцессе «Получение визы по заказу». Если нажать «Закрыть», выполнение процесса остановится на этом элементе, что можно увидеть в журнале процессов на диаграмме выполнения, а саму страницу можно снова открыть по кнопке на правой панели.

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

 вот именно то что я и не заметил. Спасибо большое

Хотел бы снова поднять эту тему, возможно ли скрыть кнопку "Закрыть" в Автогенерируемой странице, используя стандартные средства?

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

customDiff.push({
	"operation": "insert",
	"parentName": "LeftContainer",
	"propertyName": "items",
	"name": "AutoGeneratedPageV2CloseButton",
	"index": utils.length,
	"values": {
		"itemType": Terrasoft.ViewItemType.BUTTON,
		"caption": {
			"bindTo": "Resources.Strings.CloseButtonCaption"
		},
		"classes": {
			"textClass": "actions-button-margin-right"
		},
		"click": {
			"bindTo": "onCloseClick"
		},
		"layout": {
			"column": utils.length,
			"row": 0,
			"colSpan": 2
		}
	}
});

 

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

1. Изменяем пакет в дизайнере кейса.

2. Сохраняем

3. Выходим / заходим в схему кейса

В кейсе указан старый пакет.

Как перенести кейс между пакетами?

Нравится

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

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

 

Здравствуйте, Игорь!

 

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

 

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

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

При отправке запроса к удалённому серверу 

Получаю ошибку:

 The request was aborted: Could not create SSL/TLS secure channel.

Нравится

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

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

Обратите внимание сюда.

Мотков Илья,

Спасибо, но это не помогло.

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

Мой кейс:

Есть кнопка "прослушать"  в р. Звонки. При отправке запроса при клике на кнопку нельзя передать данные для аутентификации.

Поэтому ссылка для кнопки формируется к web-сервису bpmonline, который в свою очередь отправляет авторизованный запрос к удалённому серверу на получение потока.

CallStack ошибки не отображает вызов метода, который отправляет запрос к удалённому серверу, значит делаю вывод, что ошибка происходит на этапе вызова web-сервиса bpmonline.

Как обойти данную, ошибку ума не приложу.



 

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

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