Комментарии по теме

«Ко­рре­кти­ро­вка таблиц базы данных с помощью ABAP»
Олег Точенюк:
Андрей а вам никто никогда не говорил, что обновлять таблицы базы данных SAP категорически запрещено, независимо от того чем обусловлены такие желания. Свои Z-таблицы, да сколько угодно, но......

База знаний

Вы можете подписаться на эту колонки этого автора, если авторизируетесь или зарегистрируетесь

Ограничиваем выбор метода выравнивания в SAP Finance

07 октября 2013, 17:18

Данная статья написана Дмитрием Кагликом и впервые опубликована на сайте http://www.sapexpert.co.uk на английском языке. Если вы хотите узнавать больше от экспертов из мира SAP раньше других, то, пожалуйста, подпишитесь на обновления на указанном сайте.


«Открытые позиции» и их выравнивание – одна из основополагающих концепций в SAP FI. Говоря простыми терминами, выравнивание есть соотношение позиций на противоположных сторонах бухгалтерского счета, например счет и оплата. Однако, в SAP есть возможность проводить выравнивание также на счете Главной Книги (ГК), например на счета ПМ/ПСч или перерасчетном банковском счете.

В SAP существует три типа выравнивания:

  1. Полное выравнивание – это когда дебитовая и кредитовая позиции, или сумма их набора, на счете равны. Все позиции на счете становятся «выровненными» в момент сохранения документа.
  2. Частичный платеж – это когда сумма одной из сторон в выравнивании превосходит другую. После выполнения такого выравнивания создается документ, который содержт в себе новую открытую позицию на меньшую сумму. Эта позиция имеет ссылку на позицию «большего» документа противоположной стороны счета, к которой относится. «Бóльшая» позиция также остается открытой.
  3. Позиция остатка – это когда, по аналогии с частичным платежом, выполняется выравнивание двух неравных сумм. В этом случае и «бóльшая» и «меньшая» позиции изначальных документов выравниваются, а в документе выравнивания появляется новая позиция на разницу между ними. Эта новая позиция содержит в себе ссылку на документ-источник.

Перед тем как продолжить, хочу еще кое-что напомнить. Хотя методы «частичный платеж» и «позиция остатка» доступны при выравнивании счетов ГК, их использование нежелательно. Дело в том, что в таком случае не будет возможность сохранить ссылку на оригинальный документ. Текст в остальной части данной статьи главным образом относится к выравниванию счетов дебиторов и кредиторов.

Несмотря на то, что SAP дает Вам возможность выбора метода выравнивания, не всегда желательно использовать оба метода на конкретном проекте.

Одна из причин лежит в организации бизнес-процесса. Пользователям системы проще отслеживать цепочки выравнивания с помощью одного набора правил, чем решать какой из наборов («частичный платеж» или «позиция остатка») нужен на конкретном шаге и потом применять его. Особенно это важно в «длинных» цепочках.

Другая причина кроется в использовании отложенного НДС, связанного с фактом оплаты. Несмотра на то, что правила бухгалтерского учета упростили учет НДС в этом отношении в России, принцип отложенного НДС до сих пор используется в некоторых других странах. Позиция остатка в этом случае неприменима, так как неправильно интерпретируется программой переноса отсроченного налога.

Таким образом, имеет смысл ограничить пользователей в выборе метода выравнивания непосредственно в момент выравнивания. Это проще, чем исправлять ошибки после сохранения документа.

Существует как минимум два способа сделать это. Оба они используют возможности OpenFI, поэтому потребуют от Вас написания и тестирования функциональных модулей.

 

1. OpenFI события 1025 и 1030

Оба события OpenFI Publish&Subscribe 1025 и 1030 содержат в себе информацию о выравнивании, если вызываются в момент сохранения документа выравнивания. Разница между данными событиями в том, что событие 1030 вызывается после присвоения документу номера, уже перед непосредственным сохранением в базе данных. Событие 1025 вызывается перед присвоением номера. Потому использование события 1025 в данном случае предпочтительнее.

Информация о выравнивании передаетс я в событие OpenFI через таблицу T_AUSZ3. Поле T_AUSZ3-CLRIN может содержать пустое значение, или быть равным 1 или 2, в зависимости от используемого метода выравнивания.

  • T_AUSZ3-CLRIN = ” ” (пусто) при полном выравнивании.
  • T_AUSZ3-CLRIN = ” 1 ” при выполнении выравнивания с позицией остатка.
  • T_AUSZ3-CLRIN = ” 2 ” при выполнении выравнивания с частичным платежом.

Если Вам требуется ограничить пользователя в выборе метода выравнивания, Вы можете проверять наличие «неправильных» значений поля T_AUSZ3-CLRIN и останавливать процесс сохранения документа. В данном случае имеет смысл выдать пользователю сообщение об ошибке с указанием причины, чтобы пользователь мог исправить ситуацию.

 

2. OpenFI событие 940

Событие OpenFI Publish&Subscribe 940 отрабатывает непосредственно в транзакциях выравнивания. По сравнению с событиями 1025 или 1030, использование события 940 минимизирует нагрузку на систему при сохранении других документов, не содержащих выравнивания.

Талица T_POSTAB в событиии 940 содержит в себе информацию о выравнивании непосредственно с экрана ввода пользователя. Все «активные» позиции имеют флаг T_POSTAB-XAKTP = “X”.

Позиции с неполным выравниванием имеют ненулевые значения в полях T_POSTAB-DIFHW и T_POSTAB-DIFFW.

Наконец, записи с позицией остатка имеют значение T_POSTAB-XVORT = “X”.

Таким образом, возможны три комбинации признаков среди позиций, помеченных к выравниванию:

 

T_POSTAB-XAKTP

T_POSTAB-DIFHW

T_POSTAB-XVORT

Полное выравнивание

X

= 0

 

Частичный платеж

X

<> 0

 

Позиция остатка

X

<> 0

X

 

Если Вам требуется ограничить пользователя в выборе метода выравнивания, Вы можете проверять наличие «неправильных» комбинаций полей и останавливать процесс сохранения документа. В данном случае имеет смысл выдать пользователю сообщение об ошибке с указанием причины, чтобы пользователь мог исправить ситуацию.

Таким образом Вы можете быть уверены, что неполное выравнивание в системе выполняется только «разрешенным» способом.

Вы хотите узнать больше о процессе выравнивания и других процессах в Вашей системе? SAP Expert готов помочь!

Комментарии:

Андрей Белобродский (Рейтинг: 1054) 09:59, 08 октября 2013

Еще бы было написано что такое Open Fi, в какой транзакции настраивается и какой конкретно программный код для решения данной задачи надо вставить.
16:58, 08 октября 2013

Каглик Дмитрий (Рейтинг: 5190)

Андрей, может быть Вам еще (©) ключ от квартиры где деньги лежат?
 
Если серьезно, то если Вы не знаете что такое OpenFI и с чем его едят, значит остальная часть текста Вам не поможет. Этот (да и прочие тексты) в данной колонке ориентированы на начинающих, но не на "нулёвых" консультантов.
17:43, 08 октября 2013

Олег Точенюк (Рейтинг: 10291)

Читайте про что такое BTE и как с этим работать.