Обязательные колонки сделать необязательными при импорте из Excel
Предлагаю дать возможность пользователю самому решать, нужны ли обязательные колонки при импорте из Excel.1) При добавлении записей, могут быть колонки обязательные, но при этом заполняемые значениями по-умолчанию. Сейчас их приходится добавлять в файл импорта всегда 2) При изменении записей могут быть колонки обязательные, но уже заполненные, и при этом в них не вносятся изменения. Сейчас их тоже надо добавлять в файл импорта всегда Если же файл будет составлен не достаточно полно - ошибка упадет на отдельно взятой записи уже при ее сохранении. Надо добавить вопрос (см скрин, код) и обработать эти ситуации в процессе импорта (туда я не полез) define("FileImportColumnsMappingPage", ["FileImportColumnsMappingPageResources", "ConfigurationEnums", "ConfigurationConstants", "ConfigurationItemGenerator", "ColumnMappingViewModel", "CommunicationDestinationViewModel", "AddressDestinationViewModel", "ContainerList"], function(resources, ConfigurationEnums, ConfigurationConstants) { return { methods: { getValidationResult: function(wizardInfo, callback) { if (wizardInfo.newStepIndex wizardInfo.currentStepIndex) { return true; } var validationResult = this.getColumnMappingValidationResult(); if (!validationResult.success) { var messageTemplate = this.get("Resources.Strings.ValidationMessageTemplate"); var messageText = this.Ext.String.format(messageTemplate, validationResult.columnCaption); //this.showInformationDialog(messageText); messageText = messageText + "\nВы уверены, что хотите продолжить без заполнения этих колонок?"; this.showConfirmationDialog(messageText, function(result) { validationResult.success = result === this.Terrasoft.MessageBoxButtons.YES.returnCode callback.call(this, validationResult.success); }, [this.Terrasoft.MessageBoxButtons.YES.returnCode, this.Terrasoft.MessageBoxButtons.NO.returnCode], null); } else { callback.call(this, validationResult.success); } //return validationResult.success; }, validateStep: function(wizardInfo) { this.getValidationResult(wizardInfo, function(validationResult) { this.sandbox.publish("ValidationResult", validationResult, [this.sandbox.id]); }); } }/*, diff: []*/ }; });
Понравилась ли вам эта идея?
Здравствуйте, Дмитрий!
Ваши пожелания переданы в отдел разработки для анализа возможности внедрения данного функционала в будущих версиях.
Большое спасибо за Ваши идеи для более удобного пользования функционалом.