Была поставлена задача : Что при условии отсутствия обратной связи по визе, т.е. отсутствии реакции визирующего (Положительной или отрицательной) за определенный промежуток времени (3 часа), сменить статус визы на "Нет обратной связи".  

Для этого в справочнике "Состояния визы" добавил новый пункт "Нет обратной связи" и сделал его конечным.

Для этого в БП добавил элемент "Обработка таймера" задал время 3 часа, по истечении которого с помощью элемента "Изменить данные" меняю состояние визы на "Нет обратной связи". По данной логике все работает, состояние соответствующей записи меняется на "Нет обратной связи", однако уведомление о визе на коммуникационной панели не пропадает.  

Кто-нибудь сталкивался с такой проблемой или же может посоветовать решение ?

Нравится

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

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

 

Данный пункт "Нет обратной связи" - пользовательський и для системы он не имеет должных настроек для взаимодействия с СТІ-панелью (на уровне UX).

 

Данную задачу можно решить только методами разработки.

 

На форуме есть обсуждение, в котором косвенно упоминаются настройки оповещений: https://community.terrasoft.ua/questions/vizirovanie-otobrazhenie-v-uve…

 

К сожалению, готового протестированного решения сейчас пока что нет.

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

Добрый день, 

Подскажите, пожалуйста, возможно ли скрыть кнопки Reject, Change approver для определенного объекта и как это сделать? 

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

Нравится

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

Это возможно, для реализации можно создать замещающую схему VisaNotificationsSchema со следующим содержимым:

 

define("VisaNotificationsSchema", function() {
   return {
      methods: {

         getVisaActionButtonMenu: function() {
            const menu = this.get("VisaActionButtonMenu");
            if (menu.getCount() > 3) {
               menu.removeByIndex(1);
               menu.removeByIndex(1);
               menu.removeByIndex(1);
            }
            return menu;
         }
      },
      diff: [
         {
            "operation": "merge",
            "name": "VisaActionButton",
            "parentName": "NotificationItemTopContainer",
            "propertyName": "items",
            "values": {
               "itemType": Terrasoft.ViewItemType.BUTTON,
               "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
               "classes": {"wrapperClass": ["visaActionButtonWrap-class"]},
               "caption": {"bindTo": "Resources.Strings.VisaActionButton"},
               "prepareMenu": {"bindTo": "selectNotificationItemOnActionButtonClick"},
               "menu": {
                  "items": {"bindTo": "getVisaActionButtonMenu"}
               }
            }
         }
      ]
   };
});

Олег Нефедьев,

 

спасибо, будем пробовать!

Олег Нефедьев,

 

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

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

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

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

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

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

Версия 7.18

Нравится

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

Добрый день!

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

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

 

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

Как наследовать ApprovalDashboardItemViewModel или переопределить onApproveButtonClick?

Нравится

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

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

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

 Добрый день!

 Подскажите, пожалуйста, а что-нибудь в этом роде можно сделать?

1. дополнить ссылающийся модуль ссылкой на оверврайт.

2. сделать оверврайт ApprovalDashboardItemViewModel

define("SectionActionsDashboard", ["UsrVisaViewModel"],
function(ConfigurationConstants) {
	return {
        methods: {},
        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
        diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
    };
 
});
define("UsrVisaViewModel", ["ApprovalDashboardItemViewModel"],
 
	function(resources, VisaHelper, ConfigurationEnums, ConfigurationConstants) {
		Ext.define("Terrasoft.UsrVisaViewModel", {
			override: "Terrasoft.ApprovalDashboardItemViewModel",
 
			/**
				 * Approve button click handler.
				 */
 
			onApproveButtonClick: function() {
					***
			}
 
		});
	}
);

 

Можно путём замещения при помощи override и прописывания нового в схеме BootstrapModulesV2. См. нижний комментарий тут.

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

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

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

 

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

 

Такой вопрос – как запретить утверждение визы, если необходимые поля не заполнены?

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

Нравится

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

Добрый день.

Недавно подобная проблема обсуждалась в этом посте.

Добрый день.

Недавно подобная проблема обсуждалась в этом посте.

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

Добрый день!

У нас возникла такая проблема - при нажатии на кнопку "утвердить" (на детали визы), процесс переходит на другую стадию, даже если не заполнены обязательные поля. Подскажите пожалуйста, можно ли как-нибудь это исправить?

Нравится

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

Меня процесс прослушивания событий визы.

И там уже добавить If колонки не заполнены и т.д.

Меня процесс прослушивания событий визы.

И там уже добавить If колонки не заполнены и т.д.

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

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

Подскажите пожалуйста, как на странице карточки отловить нажатие на кнопки Утвердить/Отклонить визы (на ActionsDashboardContainer, не детали)? Дело в том, что нужно запретить пользователю утверждать визу без сохранения карточки.

Нравится

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

Логика этих кнопок реализована в схеме VisaDetailV2 в функциях, которые так и называются approve и reject:

/**
 * @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);
	toolsButtonMenu.addItem(this.getButtonMenuItem({
		Caption: {bindTo: "Resources.Strings.Reject"},
		Click: {bindTo: "reject"},
		Enabled: {bindTo: "getEditRecordButtonEnabled"},
		ImageConfig: this.get("Resources.Images.RejectImage")
	}), 1);
 
.....
 
/**
 * Approval of the selected record.
 * @private
 */
approve: function() {
	var activeRow = this.getActiveRow();
	if (!this.checkState(activeRow)) {
		return;
	}
	VisaHelper.approveAction(activeRow, this.visaHelperActionsCallBack, this);
},
 
/**
 * Rejected approval.
 * @private
 */
reject: function() {
	var activeRow = this.getActiveRow();
	if (!this.checkState(activeRow)) {
		return;
	}
	VisaHelper.rejectAction(activeRow, this.visaHelperActionsCallBack, this);
},

 Там можно добавить интересующую проверку. А передача информации между карточкой и деталью делается через «песочницу».

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

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

Правда решил кейс другим способом: оверрайдом класса ApprovalDashboardItemViewModel, затем в SectionActionsDashboard указал зависимость от нового класса и передачу информацию в карточку реализовал через песочницу.

Видимо, мы с Вами имели в виду разные элементы интерфейса. Я как раз имел в виду кнопки детали, сходу не вижу разделов и с ActionsDashboard, и с деталью виз одновременно.

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

Здравствуйте, у нас такая проблема с визированием: в предприятии ввели новую должность, мы создали контакт, наделили всеми проваии. Теперь необходимо чтоб при визировании все документы проходили через этого человека. Где это настраивается?
На данный момент при нажатии отправить на визирование документ отправляется в определеной последовательности лицам на согласование, где изменить эту последовательность?

Нравится

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

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

Александр, эта логика с цепочками визирования разработана в ходе проекта. По её настройке уточните у тех, кто её разработали.

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

Доброго дня !

Коллеги, в продукте Bpm’online sales в разделах "Заказы" и "Документы" используется функциональность визирования.
В решениях на продукте Bpm'online service в процессе управления обращениями, управления изменениями, очень часто требуется получение виз (согласование на выполнение операций по процессу).

Рассматривается ли включение функциональности визирование в продукт Bpm'online service для разделов "Обращение" и "Изменения"?

Есть ли возможность, уже сейчас, пакетом выделить функциональность визирования из Bpm’online sales, и переиспользовать ее, выполнив донастройки разделов "Обращение" и "Изменения" в Bpm'online service ?

Нравится

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

Добрый день, Александр!
В базовой версии продукта функционал визирования обращений будет реализован. О сроках реализации сообщить сложно, сейчас подготавливается релиз 7.9, в который данный функционал еще не входит.

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

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

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

Коллеги, прошу помощи.
Создал новую визу - "Виза закупок" на основе Базовой визы, при крепил новое поле-справочник "Заявки на закупки". Визу назвал PurchasingVisa. Создал деталь, прикрепил к карточке заявки на закупку.
При сохранении новой визы закупки выдаёт ошибку "Недопустимое имя объекта "dbo.SysPurchasingVisaRight"" (см.скриншот). Как это побороть?

Нравится

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

Антон, попробуйте в объекте установить птичку "Администрируется по записям". После ее установки должна появиться указанная таблица ("dbo.SysPurchasingVisaRight)

Александр, Ваше решение работает, отлично. Большое спасибо!

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