diff --git a/plugins/ru.runa.gpd/src/ru/runa/gpd/extension/handler/XmlBasedConstructorProvider.java b/plugins/ru.runa.gpd/src/ru/runa/gpd/extension/handler/XmlBasedConstructorProvider.java index 8207d0e41..64f560295 100644 --- a/plugins/ru.runa.gpd/src/ru/runa/gpd/extension/handler/XmlBasedConstructorProvider.java +++ b/plugins/ru.runa.gpd/src/ru/runa/gpd/extension/handler/XmlBasedConstructorProvider.java @@ -183,7 +183,7 @@ protected Control createDialogArea(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout()); GridData gridData = new GridData(); - gridData.widthHint = 700; + gridData.widthHint = dialogEnhancementMode.is(DocxDialogEnhancementMode.DOCX_SHOW_INPUT) ? 500 : 700; composite.setLayoutData(gridData); ScrolledComposite scrolledComposite = new ScrolledComposite(composite, SWT.V_SCROLL); diff --git a/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/custom/ProcessFileComposite.java b/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/custom/ProcessFileComposite.java index 8e99e03c7..99f5bb057 100644 --- a/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/custom/ProcessFileComposite.java +++ b/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/custom/ProcessFileComposite.java @@ -36,7 +36,7 @@ public ProcessFileComposite(Composite parent, IFile file, DialogEnhancementMode if (null != dialogEnhancementMode && (dialogEnhancementMode.checkBotDocxTemplateEnhancementMode() || dialogEnhancementMode.checkScriptDocxTemplateEnhancementMode())) { GridData gridData = new GridData(); - gridData.widthHint = 333; + gridData.widthHint = 280; setLayoutData(gridData); } rebuild(); diff --git a/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/enhancement/DocxDialogEnhancement.java b/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/enhancement/DocxDialogEnhancement.java index 3979c28e5..0e03f44cb 100644 --- a/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/enhancement/DocxDialogEnhancement.java +++ b/plugins/ru.runa.gpd/src/ru/runa/gpd/ui/enhancement/DocxDialogEnhancement.java @@ -207,14 +207,21 @@ public static Boolean checkScriptTaskParametersWithDocxTemplate(Delegable delega || baseVar.getFormat().compareTo("ru.runa.wfe.var.format.ActorFormat") == 0) ? actorFieldsMap : (baseVar.getFormat().compareTo("ru.runa.wfe.var.format.GroupFormat") == 0 ? groupFieldsMap : null); - // for Lists and UserTypes + // for Lists/Maps and UserTypes, List/Maps of standard types if (null == fieldsMap) { VariableUserType userType = baseVar.getUserType(); - if (null == userType && baseVar.getFormat().startsWith("ru.runa.wfe.var.format.ListFormat")) { + if (null == userType && (baseVar.getFormat().startsWith("ru.runa.wfe.var.format.ListFormat") + || baseVar.getFormat().startsWith("ru.runa.wfe.var.format.MapFormat"))) { embeddedTypeName = ru.runa.gpd.util.VariableUtils.getListVariableComponentFormat(baseVar); userType = processDefinition.getVariableUserType(embeddedTypeName); + + if (null == userType) { // try standard type in list + if (!attrName.contains(".")) { + check = false; + } + } } - if (null != userType) { + if (null != userType && check) { String[] attrs = attrName.split("[.]"); for (int index = 0; index < attrs.length; index++) { boolean finded = false; diff --git a/workspace/Demo - Bots/officeDocx/bots.xml b/workspace/Demo - Bots/officeDocx/bots.xml index a02b19ad9..cb341456f 100644 --- a/workspace/Demo - Bots/officeDocx/bots.xml +++ b/workspace/Demo - Bots/officeDocx/bots.xml @@ -5,14 +5,15 @@ + + - - - + - + + diff --git a/workspace/Demo - Bots/officeDocx/processdefinition.xml b/workspace/Demo - Bots/officeDocx/processdefinition.xml index 938e24a86..b531b1799 100644 --- a/workspace/Demo - Bots/officeDocx/processdefinition.xml +++ b/workspace/Demo - Bots/officeDocx/processdefinition.xml @@ -4,9 +4,9 @@ - - + + @@ -33,6 +33,8 @@ + + @@ -40,6 +42,8 @@ + + diff --git a/workspace/localbotstation/src/botstation/UniversalBot/Generate DOCX.conf b/workspace/localbotstation/src/botstation/UniversalBot/Generate DOCX.conf index 7931a69b3..5209550c4 100644 --- a/workspace/localbotstation/src/botstation/UniversalBot/Generate DOCX.conf +++ b/workspace/localbotstation/src/botstation/UniversalBot/Generate DOCX.conf @@ -4,21 +4,21 @@ - - - - - + + + + + - + - - - + + + diff --git a/workspace/localbotstation/src/botstation/UniversalBot/Generate_DOCX.embedded.docx b/workspace/localbotstation/src/botstation/UniversalBot/Generate_DOCX.embedded.docx new file mode 100644 index 000000000..1b13f5f29 Binary files /dev/null and b/workspace/localbotstation/src/botstation/UniversalBot/Generate_DOCX.embedded.docx differ