diff --git a/clearing-parent/backend-api/pom.xml b/clearing-parent/backend-api/pom.xml
index ba7ad975c..f3b247036 100644
--- a/clearing-parent/backend-api/pom.xml
+++ b/clearing-parent/backend-api/pom.xml
@@ -323,6 +323,31 @@
+
+
+ java
+
+ transform
+
+
+
+
+ src/main/resources/meta
+
+ meta.xml
+
+ src/main/resources/meta/xsl/java.xsl
+
+
+ java_classes.java
+
+
+
+
+
+
diff --git a/clearing-parent/backend-api/src/main/resources/meta/xsl/java.xsl b/clearing-parent/backend-api/src/main/resources/meta/xsl/java.xsl
new file mode 100644
index 000000000..0b4c78501
--- /dev/null
+++ b/clearing-parent/backend-api/src/main/resources/meta/xsl/java.xsl
@@ -0,0 +1,467 @@
+
+
+
+
+abcdefghijklmnopqrstuvwxyz
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+_0123456789
+
+
+
+// JAVA classes for DB version:
+
+
+
+/* Dictionaries */
+
+
+
+
+/* Business objects */
+
+
+
+
+ // Data types
+
+
+
+
+ // . : -
+ ,
+
+
+
+// ----------------- -
+
+
+
+package ru.clearing.platform.dictionary;
+
+
+/**
+ *
+ *
+ * Dictionary DB table:
+ **/
+public class Dictionary extends AbstractDictionary {
+ private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
+
+
+
+
+}
+
+
+// -- mapstore --
+package ru.spcex.clearing.imdg.dictionary;
+
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Component;
+import ru.clearing.platform.dictionary.Dictionary;
+import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
+import ru.spcex.clearing.imdg.IMDGDistributedNames;
+
+@Component
+public class DictionaryMapStore extends DictionaryTMapStore<Dictionary> {
+
+ public DictionaryMapStore(JdbcTemplate jdbcTemplate) {
+ super(jdbcTemplate);
+ }
+
+ @Override
+ public String getMapName() {
+ return IMDGDistributedNames.Map_Dictionary;
+ }
+
+ @Override
+ public String getTableName() {
+ return "";
+ }
+
+ @Override
+ public Dictionary getDictionaryObject() {
+ return new Dictionary();
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+ !! Нестандартное поле !! // FIXME Нестандартный словарь! Требуется писать код вручную.
+
+
+
+
+
+// ------------------ -
+
+
+package ;
+
+import ru.clearing.classes.ConstSerializable;
+import ru.spcex.platform.classes.base.SpcexObjectBase;
+/**
+ *
+ *
+ * DB table:
+ **/
+public class extends SpcexObjectBase {
+ private static final long serialVersionUID = ConstSerializable.serialVersionUID;
+
+
+
+}
+
+
+//mapstore
+
+// -- mapstore --
+package ru.spcex.clearing.imdg.object;
+
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Component;
+import ru.spcex.clearing.imdg.IMDGDistributedNames;
+import ;
+import ru.spcex.clearing.imdg.base.TemplateMapStore;
+import ru.spcex.platform.utils.time.TimeUtil;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.*;
+
+@Component
+public class MapStore extends TemplateMapStore<> {
+
+ public MapStore(JdbcTemplate jdbcTemplate) {
+ super(jdbcTemplate);
+ }
+
+ @Override
+ public String getMapName() {
+ return IMDGDistributedNames.Map_;
+ }
+
+ @Override
+ public String getTableName() {
+ return "";
+ }
+
+ @Override
+ public String[] getFields() {
+ return new String[]{
+
+ };
+ }
+
+ @Override
+ public objectReader(ResultSet resultSet) throws SQLException {
+ object = new ();
+ return object;
+ }
+
+ @Override
+ public Object[] objectToField( object) {
+ Object[] args = new Object[]{
+ };
+ return args;
+ }
+
+}
+
+// todo добавить класс History
+package ;
+
+import ru.clearing.classes.ConstSerializable;
+import ru.clearing.classes.objects.BusinessEvent;
+import java.io.Serial;
+/**
+ * Изменение состояния объекта
+ *
+ * DB table: _HISTORY
+ **/
+public class History extends BusinessEvent<> {
+ @Serial
+ private static final long serialVersionUID = ConstSerializable.serialVersionUID;
+
+ private object;
+
+ @Override
+ public getObject() {
+ return object;
+ }
+
+ @Override
+ public void setObject( object) {
+ this.object = object;
+ }
+}
+
+// -- History mapstore для журналирования --
+package ru.spcex.clearing.imdg.businessevent;
+
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Component;
+import ru.spcex.clearing.imdg.IMDGDistributedNames;
+import ;
+import History;
+import ru.spcex.clearing.imdg.base.TemplateEventMapStore;
+import ru.spcex.platform.utils.time.TimeUtil;
+
+@Component
+public class HistoryMapStore extends TemplateEventMapStore<History> {
+
+ public HistoryMapStore(JdbcTemplate jdbcTemplate) {
+ super(jdbcTemplate);
+ }
+
+ @Override
+ public String getMapName() {
+ return IMDGDistributedNames.Map_History;
+ }
+
+ @Override
+ public String getTableName() {
+ return "_HISTORY";
+ }
+
+ @Override
+ public String[] getFields() {
+ return new String[]{"ID","EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE",
+ _
+ };
+ }
+
+ @Override
+ public Object[] objectToField(History historyLog) {
+ object=historyLog.getObject();
+ Object[] args = new Object[]{
+ historyLog.getId(),
+ TimeUtil.toDateFromInstant(historyLog.getEventTime()),
+ historyLog.getUserId(),
+ historyLog.getEventType(),
+
+ };
+ return args;
+ }
+
+}
+
+
+, "
+
+
+"
+
+
+
+
+object.set(getInstantFromTimestamp(resultSet, "
+
+
+"))
+
+object.set(getLocalDateFromSqlDate(resultSet, "
+
+
+"))
+
+object.set(getLocalTimeFromSqlTime(resultSet, "
+
+
+"))
+
+object.set(resultSet.getObject("
+
+
+", .class))
+;
+
+,
+
+
+
+
+TimeUtil.toDateFromInstant(object.get())
+
+TimeUtil.toDateFromLocalDate(object.get())
+
+TimeUtil.toDateFromLocalTime(object.get())
+
+object.get()
+
+
+
+
+
+
+
+
+
+ // (in parent) private ;
+
+ // DB field:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ private ;
+
+ // DB field:
+
+
+ // (linked to )
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public get() {
+ return ;
+ }
+ public void set( value) {
+ this.=value;
+ }
+
+
+
+
+
+
+
+
+
+
+ public get() {
+ return ;
+ }
+ public void set( value) {
+ this.=value;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ upper
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+