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