Подскажите как добавить набор полей на страницу "Обращения", ниже кейса и выше панели вкладок?Изображение удалено.

Нравится

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

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



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

 

define("ContactPageV2", [],
	function() {
		return {
			entitySchemaName: "Contact",
			details: /**SCHEMA_DETAILS*/{
				"ConfItem": {
					"schemaName": "ConfItemInContactDetail",
					"entitySchemaName": "ConfItemUser",
					"filter": {
						"masterColumn": "Id",
						"detailColumn": "Contact"
					}
				}
			}/**SCHEMA_DETAILS*/,
			diff: /**SCHEMA_DIFF*/[
				{
				"operation": "insert",
				"parentName": "TabsContainer",
				"propertyName": "items",
				"index":0,
				"name": "TestContainer",
				"values": {
					"itemType": Terrasoft.ViewItemType.CONTAINER,
					"layout": {
						"column": 0,
						"row": 0,
						"colSpan": 24
					},
					"items": []
				}
			},
				{
				"operation": "insert",
				"name": "UsrTest",
				"parentName": "TestContainer",
				"propertyName": "items",
				"index": 0,
				"values": {
					"caption": "Test",
					"layout": {"column": 1, "row": 1},
					"items": []
					}
				}
			]/**SCHEMA_DIFF*/
		};
	});

 

Mykhailo Storozhuk, Спасибо!

Mykhailo Storozhuk,

А как их сгруппировать в 2 колонки? Пытаюсь менять column, row. Но ничего не получается. 

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

Также если вы хотите разместить колонки на одной строке, необходимо указывать один и тот же row.

{
				"operation": "insert",
				"parentName": "GeneralInfoTab",
				"name": "ContactGeneralInfoControlGroup",
				"propertyName": "items",
				"values": {
					"itemType": Terrasoft.ViewItemType.CONTROL_GROUP,
					"items": []
				}
			},
			{
				"operation": "insert",
				"parentName": "ContactGeneralInfoControlGroup",
				"propertyName": "items",
				"name": "ContactGeneralInfoBlock",
				"values": {
					"itemType": Terrasoft.ViewItemType.GRID_LAYOUT,
					"items": [],
					"collapseEmptyRow": true
				}
			},

 

Mykhailo Storozhuk,

Спасибо!

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

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

Устал искать, инфоромации нигде не нашел.

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

Нашел в QuickFilterModuleV2 метод initCustomFilterConfig, в котором существует свойство allowedColumns, но если я туда что либо пишу, пропадают вообще все поля без исключения (пробовал писать как-то так:

this.filtersConfig.customFilterConfig.allowedColumns = ["Name", "Owner"];

Нигде использований не нашел. Может кто нибудь пользовался\знает?

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

Нравится

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

Ответ оказался прост

Ответ оказался прост

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

Помогите решить тривиальную проблему новичку:

Есть сущность, которая имеет разные поля.

Задача: при очистке значения "ПОЛЕ1" автоматически очищать "ПОЛЕ2". Данные поля хранят в себе ссылки на значения разных таблиц.

С чего начинать? Куда смотреть?

Нравится

4 комментария
attributes: {
	"ChangeManager": {   //название колонки "менеджер изменения"
		dependencies: [
			{
				columns: ["ChangePath"],     //Название колонки "Направление изменения"
				methodName: "onPathChanged"
			}
		]
	}
},
methods: {
	onPathChanged: function {
		if (Ext.isEmpty(this.get("ChangePath"))) {
			this.set("ChangeManager", null);
		}
	}
}

а параметр "autoClean": true не работает?

Владимир, здравствуйте.

Данный параметр применяется в бизнес-правилах типа FILTRATION. Допустим, фильтрация города по стране. autoClean при смене страны очищает значение поля город, autocomplete при заполнении города автоматически заполняет страну. Отдельно от данного правила они вроде не работают.

Отработало! Спасибо огромное...

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

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

Имеется БП построенный на задачах.
Требуется закрыть для редактирования поля всех задач в одном бизнес-процессе. Поля необходимо закрыть все кроме дата завершения и ответственный.
Подскажите, более подробно, реализацию метода описанного в этой теме: https://community.terrasoft.ua/forum/topic/3864.
Как я понял из этой же темы через действия БП такой функционал не реализовать?

Нравится

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

Здравствуйте!
В tbl_Task есть поле WorkflowItemID, которое ссылается на таблицу tbl_WorkflowItem, в таблице tbl_WorkflowItem есть поле WorkflowID, которое является записью в tbl_Workflow
В tbl_Workflow есть поля DiagramServiceID,Name, по одному из которых мы можем сделать привязку и понять с какого БП мы создали задачу.
По сути нужно выполнить следующий запрос

SELECT Name FROM dbo.tbl_Workflow
WHERE id = (
		SELECT WorkflowID FROM dbo.tbl_WorkflowItem 
		WHERE ID = (SELECT WorkflowItemID from tbl_Task
		WHERE id = '{ID Задачи}')
		)

В конфигурации данные действия нужно делать через сервисы Dataset:
ds_WorkflowItem
ds_Workflow
Но перед этим их нужно немного доработать, а именно добавить в sq_WorkflowItem, параметр ID и CompareFilter ID
1

2
Далее на OnPrepare, карточки задачи (wnd_TaskEdit) мы можем делать не активными (свойство IsEnabled) соотвествующие поля

function wnd_TaskEditOnPrepare(Window) {
...
	if (!IsEmpty(WorkflowItemID))
	{
	var WorkflowID = GetDatasetFieldValueByID('ds_WorkflowItem',WorkflowItemID,'WorkflowID');
	var WorkflowName = GetDatasetFieldValueByID('ds_Workflow',WorkflowID,'Name');
		if  (WorkflowName == 'wd_TestTask')
			{
//нужные поля которые необходимо отключить, для примера поле Контрагент edtAccount
		    edtAccount.IsEnabled = false;
		    }
 
	}
} //end of function 

Алексей спасибо, все работает!

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