Skip to content
Snippets Groups Projects
Commit 64a30b7d authored by Benjamin Ulrich's avatar Benjamin Ulrich :speech_balloon:
Browse files

Merge branch 'cm_1081572_revisionExport' into '2021.2.0'

Cm 1081572 revision export

See merge request xrm/basic!1307
parents c216d5fc 4d25c558
No related branches found
No related tags found
No related merge requests found
Showing
with 223 additions and 15 deletions
import("system.vars");
import("system.result");
result.string(vars.get("$field.FIELD"));
\ No newline at end of file
import("system.result");
import("system.neon");
import("system.vars");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
{
result.string(vars.get("$sys.date"));
}
\ No newline at end of file
import("system.result");
import("system.neon");
import("system.vars");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
{
result.string(vars.get("$sys.date"));
}
\ No newline at end of file
import("system.result");
import("system.neon");
import("system.vars");
import("Util_lib");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
if(Utils.isNotNullOrEmptyString(vars.getString("$param.ExportTemplateId_param")) && Utils.isNullOrEmptyString(vars.getString("$this.value")))
{
if(vars.exists("$param.ExportTemplateField_param") && vars.get("$param.ExportTemplateField_param") != null)
result.string(vars.getString("$param.ExportTemplateField_param"));
}
\ No newline at end of file
result.string(vars.getString("$param.ExportTemplateId_param"));
}
\ No newline at end of file
import("system.vars");
import("system.result");
result.string(vars.get("$param.ExportTemplateId_param"))
\ No newline at end of file
import("system.vars");
import("system.result");
result.string(vars.get("$param.ExportTemplateId_param"))
\ No newline at end of file
import("system.result");
import("system.project");
import("Util_lib");
import("system.vars");
import("system.entities");
import("Context_lib");
if (Utils.isNotNullOrEmptyString(vars.getString("$this.value")))
{
let type = vars.getString("$field.placeOfUse");
if (Utils.isNotNullOrEmptyString(type))
{
var fields = project.getEntityStructure(ContextUtils.getEntity(type)).fields;
result.string(fields[vars.getString("$this.value")].title);
}
}
\ No newline at end of file
import("ExportTemplate_lib");
import("Util_lib");
import("system.vars");
import("system.entities");
import("Context_lib");
import("system.project");
import("system.result");
import("Placeholder_lib");
import("system.text")
import("system.text");
let type = vars.getString("$field.placeOfUse");
//The current selection of Exportfields is created by using the Placeholder function "PlaceholderUtils.getPlaceholders()".
//if you want to add more fields, you just have to add the function "CustomPlaceholderUtils.getPlaceholders()" to the dropDownProcess
//and add the desired Fields as placeholders in the CustomPlaceholder_lib.
if (!Utils.isNullOrEmpty(type))
{
var resultFields = [];
var entity = ContextUtils.getEntity(type);
var fields = project.getEntityStructure(entity).fields;
var excludeFields = ExportTemplateUtils.excludedFields()[entity] || [];
for (var field in fields)
{
if (fields[field].fieldType == project.ENTITYFIELDTYPE_FIELD && excludeFields.indexOf(field) == -1)
{
let title = fields[field].title ? fields[field].title : fields[field].name;
resultFields.push([fields[field].name, title]);
}
}
var placeholders = PlaceholderUtils.getPlaceholders(null, true).map(function (placeholder){
return [placeholder.getFormattedName(), placeholder.title || placeholder.getFormattedName()];
})
result.object(placeholders);
\ No newline at end of file
result.object(resultFields);
}
import("Util_lib");
import("system.vars");
import("system.result");
import("system.neon");
if (Utils.isNullOrEmptyString(vars.get("$field.EXPORTTEMPLATEPLACEOFUSE_ID"))
&& vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
{
result.string(neon.COMPONENTSTATE_INVISIBLE);
}
else
{
result.string(neon.COMPONENTSTATE_EDITABLE);
}
import("system.vars");
import("Sql_lib");
import("system.neon");
// The sorting value of the following field is set to the current sorting value
newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID"))
.and("EXPORTTEMPLATEFIELD.SORTING", parseInt(vars.get("$field.SORTING")) + 1)
.updateFields({"SORTING":vars.get("$field.SORTING")}, "EXPORTTEMPLATEFIELD");
// The sorting is increased by one for the current field
newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID"))
.and("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID", vars.get("$field.EXPORTTEMPLATEFIELDID"))
.updateFields({"SORTING":(parseInt(vars.get("$field.SORTING")) + 1)}, "EXPORTTEMPLATEFIELD");
neon.refreshAll();
\ No newline at end of file
import("Sql_lib");
import("system.result");
import("system.vars");
import("system.neon");
let maxSorting = newSelect(new SqlMaskingUtils().max("SORTING"))
.from("EXPORTTEMPLATEFIELD")
.where("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID"))
.cell();
if (vars.get("$field.SORTING") == maxSorting)
{
result.string(neon.COMPONENTSTATE_DISABLED);
}
\ No newline at end of file
import("system.vars");
import("Sql_lib");
import("system.neon");
newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID"))
.and("EXPORTTEMPLATEFIELD.SORTING", parseInt(vars.get("$field.SORTING")) - 1)
.updateFields({"SORTING":vars.get("$field.SORTING")}, "EXPORTTEMPLATEFIELD");
newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID"))
.and("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID", vars.get("$field.EXPORTTEMPLATEFIELDID"))
.updateFields({"SORTING":(parseInt(vars.get("$field.SORTING")) - 1)}, "EXPORTTEMPLATEFIELD");
neon.refreshAll();
\ No newline at end of file
import("Util_lib");
import("system.result");
import("system.vars");
import("system.neon");
if (vars.get("$field.SORTING") == 1 || Utils.isNullOrEmpty(vars.get("$field.SORTING")))
{
result.string(neon.COMPONENTSTATE_DISABLED);
}
\ No newline at end of file
import("Util_lib");
import("system.vars");
import("Context_lib");
import("system.project");
import("system.result");
if (Utils.isNotNullOrEmptyString(vars.getString("$this.value")))
{
let title = ContextUtils.getTranslatedTitle(vars.getString("$this.value")) || vars.getString("$this.value");
result.string(title);
}
\ No newline at end of file
import("Util_lib");
import("system.result");
import("system.entities");
import("system.vars");
let loadConfig = entities.createConfigForLoadingConsumerRows()
.consumer("ExportTemplatePlacesOfUse")
.fields(["PLACEOFUSE", "#UID"]);
let filtertConsumerRows = entities.getRows(loadConfig).find(_findUIDRow, {
UID: vars.get("$field.EXPORTTEMPLATEPLACEOFUSE_ID")
});
if (!Utils.isNullOrEmpty(filtertConsumerRows))
{
result.string(filtertConsumerRows["PLACEOFUSE"]);
}
function _findUIDRow (pRow)
{
return pRow["#UID"] === this.UID;
}
\ No newline at end of file
import("system.result");
import("system.neon");
import("system.vars");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
{
result.string(vars.get("$sys.user"));
}
\ No newline at end of file
import("system.result");
import("system.neon");
import("system.vars");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
{
result.string(vars.get("$sys.user"));
}
\ No newline at end of file
......@@ -2,6 +2,6 @@ import("system.vars");
import("system.result");
import("Sql_lib");
var cond = newWhereIfSet("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", "$param.ExportTemplateField_param");
var cond = newWhereIfSet("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", "$param.ExportTemplateId_param");
result.string(cond);
import("system.vars");
import("Sql_lib");
import("system.db");
let updateStatements = [];
let sorting = vars.get("$field.SORTING");
let fields = newSelect("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID")
.from("EXPORTTEMPLATEFIELD")
.where("EXPORTTEMPLATEFIELD.SORTING",sorting, SqlBuilder.GREATER())
.and("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID"))
.orderBy("EXPORTTEMPLATEFIELD.SORTING").arrayColumn();
fields.forEach(function (pFieldId, pIndex){
updateStatements.push(newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID", pFieldId)
.buildUpdateStatement({"SORTING" : parseInt(sorting) + pIndex }, "EXPORTTEMPLATEFIELD"));
});
db.updates(updateStatements);
\ No newline at end of file
import("system.vars");
import("Sql_lib");
let sorting = newSelect([new SqlMaskingUtils().max("EXPORTTEMPLATEFIELD.SORTING")])
.from("EXPORTTEMPLATEFIELD")
.where("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID"))
.cell();
sorting = parseInt(sorting);
// The field is only sorted in the onInsert, so I can make sure that it is very likely that there are not two identical numbers.
newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID", vars.get("$local.uid"))
.updateFields({"SORTING" : ((sorting ? sorting : 0) +1) }, "EXPORTTEMPLATEFIELD")
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment