diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java
new file mode 100644
index 000000000..3fd8f9d11
--- /dev/null
+++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java
@@ -0,0 +1,28 @@
+package ru.clearing.classes.statics.data.account;
+
+import ru.clearing.classes.ConstSerializable;
+import ru.clearing.classes.objects.BusinessEvent;
+
+import java.io.Serial;
+
+/**
+ * Изменение состояния объекта Счета
+ *
+ * DB table: ACCOUNT_BALANCE_HISTORY
+ **/
+public class AccountBalanceHistory extends BusinessEvent {
+ @Serial
+ private static final long serialVersionUID = ConstSerializable.serialVersionUID;
+
+ private AccountBalance object;
+
+ @Override
+ public AccountBalance getObject() {
+ return object;
+ }
+
+ @Override
+ public void setObject(AccountBalance object) {
+ this.object = object;
+ }
+}
diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountBalanceHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountBalanceHistoryMapStore.java
new file mode 100644
index 000000000..9e081556d
--- /dev/null
+++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountBalanceHistoryMapStore.java
@@ -0,0 +1,73 @@
+package ru.spcex.clearing.imdg.businessevent;
+
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Component;
+import ru.clearing.classes.statics.data.account.AccountBalance;
+import ru.clearing.classes.statics.data.account.AccountBalanceHistory;
+import ru.spcex.clearing.imdg.IMDGDistributedNames;
+import ru.spcex.clearing.imdg.base.TemplateEventMapStore;
+import ru.spcex.platform.utils.time.TimeUtil;
+
+@Component
+public class AccountBalanceHistoryMapStore extends TemplateEventMapStore {
+
+ public AccountBalanceHistoryMapStore(JdbcTemplate jdbcTemplate) {
+ super(jdbcTemplate);
+ }
+
+ @Override
+ public String getMapName() {
+ return IMDGDistributedNames.Map_AccountBalanceHistory;
+ }
+
+ @Override
+ public String getTableName() {
+ return "ACCOUNT_BALANCE_HISTORY";
+ }
+
+ @Override
+ public String[] getFields() {
+ return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID",
+ "ACCOUNT_BALANCE_ID", "COMPANY_ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT_ID", "ACCOUNT_TYPE",
+ "ACCOUNT", "OPEN_BALANCE_AMOUNT", "START_BALANCE_AMOUNT", "CLOSE_BALANCE_AMOUNT",
+ "TRADE_BALANCE_AMOUNT", "FREE_BALANCE_AMOUNT", "CHANGE_BALANCE_AMOUNT",
+ "CREDIT_AMOUNT", "DEBIT_AMOUNT", "BALANCE_AMOUNT", "BALANCE_ACCOUNT_TYPE",
+ "CLEARING_DATE", "CURRENCY_CODE", "TRADING_CODE", "SHORT_NAME", "FULL_NAME"
+ };
+ }
+
+ @Override
+ public Object[] objectToField(AccountBalanceHistory updateLog) {
+ AccountBalance object = updateLog.getObject();
+ Object[] args = new Object[]{
+ updateLog.getId(),
+ updateLog.getEventTime(),
+ updateLog.getUserId(),
+
+ object.getId(),
+ object.getCompanyId(),
+ TimeUtil.toDateFromInstant(object.getCreated()),
+ TimeUtil.toDateFromInstant(object.getUpdated()),
+ object.getAccountId(),
+ object.getAccountType(),
+ object.getAccount(),
+ object.getOpenBalanceAmount(),
+ object.getStartBalanceAmount(),
+ object.getCloseBalanceAmount(),
+ object.getTradeBalanceAmount(),
+ object.getFreeBalanceAmount(),
+ object.getChangeBalanceAmount(),
+ object.getCreditAmount(),
+ object.getDebitAmount(),
+ object.getBalanceAmount(),
+ object.getBalanceAccountType(),
+ TimeUtil.toDateFromLocalDate(object.getClearingDate()),
+ object.getCurrencyCode(),
+ object.getTradingCode(),
+ object.getShortName(),
+ object.getFullName()
+ };
+ return args;
+ }
+
+}
diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java
index 78db13e26..26e7c9295 100644
--- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java
+++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java
@@ -14,6 +14,7 @@ public final class IMDGDistributedNames {
public static final String Map_Account = "Map_Account";
public static final String Map_AccountBalance = "Map_AccountBalance";
public static final String Map_AccountHistory = "Map_AccountHistory";
+ public static final String Map_AccountBalanceHistory = "Map_AccountBalanceHistory";
public static final String Map_Relation = "Map_Relation";
public static final String Map_ClearingAccount = "Map_ClearingAccount";
public static final String Map_ClearingAccountHistory = "Map_ClearingAccountHistory";