Добрый день.

В приложении Advanced excel reports for Creatio не удается добавить колонку в отчет. Колонка "Название" обязательна для заполнения.

На версии 7.17.2 обновленный интерфейс выбора колонок. Предварительно причина в этом.

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

 

https://marketplace.terrasoft.ru/app/advanced-excel-reports-creatio

http://joxi.ru/p279QRwuK4z6zr

Нравится

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

Вот решение, вдруг кому пригодится. Добавил флаг использования старого интерфейса выбора колонок. Нужно создать замещающий клиентский модуль с кодом:

define("BpmReportColumnDetail", ["terrasoft", "sandbox", "ModalBox", "ConfigurationGrid", "ConfigurationGridGenerator",
	"ConfigurationGridUtilities", "StructureExplorerUtilities"],
		function(Terrasoft, sandbox, ModalBox) {
	return {
		entitySchemaName: "BpmReportColumn",
		messages: {},
		attributes: {},
		mixins: {},
		diff: /**SCHEMA_DIFF*/[
		],/**SCHEMA_DIFF*/
		methods: {
			/**
            *@override
            */
			openStructureExplorerClick: function() {
				var reportConfig = this.sandbox.publish("GetReportConfig");
				var path = this.get("BpmPath");
				Terrasoft.StructureExplorerUtilities.open({
					scope: this,
					moduleConfig: {
						columnPath: path,
						useBackwards: false,
						schemaName: reportConfig.reportEntitySchemaName,
						displayId: true,
                      	useOldStructureExplorer: true //Добавлен параметр, т.к. открывался новый интерфейс выбора колонок и ломал логику.
					},
					handlerMethod: function(selectedColumns) {
						var path = selectedColumns.leftExpressionColumnPath;
						var pathCaption = selectedColumns.leftExpressionCaption;
						if (!this.get("BpmCaption") && selectedColumns.caption) {
							this.set("BpmCaption", selectedColumns.caption[selectedColumns.caption.length - 1]);
						}
						this.set("BpmPath", path);
						this.set("BpmPathCaption", selectedColumns.leftExpressionCaption);
						this.set("BpmName", path.replace(".", "_"));
						this.set("BpmPathLookup", {
							value: pathCaption,
							displayValue: pathCaption
						});
					}
				});
				ModalBox.setSize(580, 450);
			}
		}
	};
});

 

Вот решение, вдруг кому пригодится. Добавил флаг использования старого интерфейса выбора колонок. Нужно создать замещающий клиентский модуль с кодом:

define("BpmReportColumnDetail", ["terrasoft", "sandbox", "ModalBox", "ConfigurationGrid", "ConfigurationGridGenerator",
	"ConfigurationGridUtilities", "StructureExplorerUtilities"],
		function(Terrasoft, sandbox, ModalBox) {
	return {
		entitySchemaName: "BpmReportColumn",
		messages: {},
		attributes: {},
		mixins: {},
		diff: /**SCHEMA_DIFF*/[
		],/**SCHEMA_DIFF*/
		methods: {
			/**
            *@override
            */
			openStructureExplorerClick: function() {
				var reportConfig = this.sandbox.publish("GetReportConfig");
				var path = this.get("BpmPath");
				Terrasoft.StructureExplorerUtilities.open({
					scope: this,
					moduleConfig: {
						columnPath: path,
						useBackwards: false,
						schemaName: reportConfig.reportEntitySchemaName,
						displayId: true,
                      	useOldStructureExplorer: true //Добавлен параметр, т.к. открывался новый интерфейс выбора колонок и ломал логику.
					},
					handlerMethod: function(selectedColumns) {
						var path = selectedColumns.leftExpressionColumnPath;
						var pathCaption = selectedColumns.leftExpressionCaption;
						if (!this.get("BpmCaption") && selectedColumns.caption) {
							this.set("BpmCaption", selectedColumns.caption[selectedColumns.caption.length - 1]);
						}
						this.set("BpmPath", path);
						this.set("BpmPathCaption", selectedColumns.leftExpressionCaption);
						this.set("BpmName", path.replace(".", "_"));
						this.set("BpmPathLookup", {
							value: pathCaption,
							displayValue: pathCaption
						});
					}
				});
				ModalBox.setSize(580, 450);
			}
		}
	};
});

 

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