diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index 60c021ac7ba8e2346d20190ac87f81325a865dd7..8b3af6c8559617e7842a27bf0e3dc875726432e4 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -118,6 +118,7 @@
       <name>MainDocuments</name>
       <title>Maindocuments</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <stateProcess>%aditoprj%/entity/Activity_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>Document_entity</entityName>
diff --git a/entity/Activity_entity/entityfields/maindocuments/stateProcess.js b/entity/Activity_entity/entityfields/maindocuments/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..fb349d978f74911958575fd56fcf2cce34dee071
--- /dev/null
+++ b/entity/Activity_entity/entityfields/maindocuments/stateProcess.js
@@ -0,0 +1,14 @@
+import("system.result");
+import("system.db");
+import("system.vars");
+import("system.neon");
+import("Sql_lib");
+
+if (0 == db.getBinaryCount("ACTIVITY", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT"))
+{
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+}
+else
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
\ No newline at end of file
diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index 8136cd6d2dc78eafd8bc2d5132e4906de381078d..f152d300ba86ed531c2c72ccb9aa56842f90339e 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -209,6 +209,7 @@
       <name>MainDocuments</name>
       <title>Maindocuments</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <stateProcess>%aditoprj%/entity/Contract_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>Document_entity</entityName>
diff --git a/entity/Contract_entity/entityfields/maindocuments/stateProcess.js b/entity/Contract_entity/entityfields/maindocuments/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d22f90760a8cc65ddc9c0752d92c11bb48cfe947
--- /dev/null
+++ b/entity/Contract_entity/entityfields/maindocuments/stateProcess.js
@@ -0,0 +1,14 @@
+import("system.result");
+import("system.db");
+import("system.vars");
+import("system.neon");
+import("Sql_lib");
+
+if (0 == db.getBinaryCount("CONTRACT", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT"))
+{
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+}
+else
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
\ No newline at end of file
diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 51dc0bd7bfd69c2c7c0234e4865cb7fe70415659..8eb0cd55594b9dc03df9911c4af906bf77251226 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -310,6 +310,7 @@
     <entityConsumer>
       <name>MainDocuments</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>Document_entity</entityName>
diff --git a/entity/Offer_entity/entityfields/maindocuments/stateProcess.js b/entity/Offer_entity/entityfields/maindocuments/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..5c640c079ddca224a84ea8fe108d10d39d0f926c
--- /dev/null
+++ b/entity/Offer_entity/entityfields/maindocuments/stateProcess.js
@@ -0,0 +1,14 @@
+import("system.result");
+import("system.db");
+import("system.vars");
+import("system.neon");
+import("Sql_lib");
+
+if (0 == db.getBinaryCount("OFFER", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT"))
+{
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+}
+else
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
\ No newline at end of file
diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index 92de79ba4fa97d6419751e7271a6bc246005e0b2..df53ce2634c44af5cc9ac01735311f1f258e8b35 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -263,6 +263,7 @@
     <entityConsumer>
       <name>MainDocuments</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <stateProcess>%aditoprj%/entity/Order_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>Document_entity</entityName>
diff --git a/entity/Order_entity/entityfields/maindocuments/stateProcess.js b/entity/Order_entity/entityfields/maindocuments/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9104233a61bb17be448f09b778adfa11c61162de
--- /dev/null
+++ b/entity/Order_entity/entityfields/maindocuments/stateProcess.js
@@ -0,0 +1,14 @@
+import("system.result");
+import("system.db");
+import("system.vars");
+import("system.neon");
+import("Sql_lib");
+
+if (0 == db.getBinaryCount("SALESORDER", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT"))
+{
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+}
+else
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
\ No newline at end of file
diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index f8474184d24ac58559ce37fe1aa4455afc5f16f4..c18c81539817cfb4a9a47c84b90f11bc9e29dc82 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -242,6 +242,7 @@
     <entityConsumer>
       <name>MainDocuments</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <stateProcess>%aditoprj%/entity/Product_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>Document_entity</entityName>
diff --git a/entity/Product_entity/entityfields/maindocuments/stateProcess.js b/entity/Product_entity/entityfields/maindocuments/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..2f286ec148c06d5119a1f7165eb867ccbdc6936f
--- /dev/null
+++ b/entity/Product_entity/entityfields/maindocuments/stateProcess.js
@@ -0,0 +1,14 @@
+import("system.result");
+import("system.db");
+import("system.vars");
+import("system.neon");
+import("Sql_lib");
+
+if (0 == db.getBinaryCount("PRODUCT", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias()))
+{
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+}
+else
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
\ No newline at end of file
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index a7c8206d47e7428825c0f1c5f304530f20e5f385..122da5bbb42e5b8908159ce9b647750d9b1038dc 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -348,6 +348,7 @@
     <entityConsumer>
       <name>MainDocuments</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/maindocuments/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>Document_entity</entityName>
diff --git a/entity/Salesproject_entity/entityfields/maindocuments/stateProcess.js b/entity/Salesproject_entity/entityfields/maindocuments/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..08207c042cac0a6a659b044a2572c39de7550047
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/maindocuments/stateProcess.js
@@ -0,0 +1,14 @@
+import("system.result");
+import("system.db");
+import("system.vars");
+import("system.neon");
+import("Sql_lib");
+
+if (0 == db.getBinaryCount("SALESPROJECT", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT"))
+{
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+}
+else
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
\ No newline at end of file