Вводная часть
Задача, связанная с обеспечением импорта/экспорта выписок и платежных поручений между 1С: БП и ГИИС «Электронный бюджет» (далее - ЭБ), не такая уж частая. Однако она встречается, и в настоящее время импортозамещения и повышения внимания к финансированию проектов со стороны государства, наверное, стоит ожидать увеличения количества подобных задач.
Безусловно, есть уже готовые решения, например, это (//infostart.ru/marketplace/1309529/), но они либо не бесплатные, либо условно-платные, соответственно. Кроме того, есть 1С: БГУ, где обмен 1С<->ЭБ реализован. Вместе с тем, во-первых, пытливый ум, смею предположить, требует решения задачи обмена самостоятельно, во-вторых, не всегда есть возможность приобрести готовое решение, тем более, что его доработку тоже нельзя исключать. Поэтому навыки работы с обменом лишними не будут.
Разбираясь с подобной задачей, я не смог найти внятного и понятного описания структуры файлов, правил их наименования и вообще почему выгрузка выписки происходит так, как происходит? Ведь работая с банк-клиентом, например, мы получаем/передаем один текстовый файл, который содержит в себе всю необходимую информацию, а тут куча файлов и какой из них брать – сходу не разобраться. А в случае с ЭБ – это почти десяток ТФФ (требований к форматам файлов), в которых одно название располагается на пол страницы и не всегда очевидно описывает суть документа, а по объему - они в среднем страниц 500-800. Понятно, что разобраться с таким массивом информации крайне не просто. Это и побудило меня написать данный обзор.
Итак, хочу сразу очертить границы:
- Статья не предполагается как единственно верная или абсолютно верная. Допускаю, что тоже не до конца разобрался в вопросе, учитывая его объем, поиск в инете тоже не дает большого понимания. Буду признателен за дополнения и уточнения.
- Данный материал призван в первую очередь помочь хотя бы понять о чем идет речь, если это будет кому-то надо.
- Поэтому критика принимается, но только конструктивная. Не надо включать режим «мастер Йода»: «этот напиток не хочешь ты….» (С). Если и говорите, что не прав – будьте добры, поясните, а не воздушно, как небожитель заявлять, мол, «глупец», «учи матчасть», «неужто не понимаешь 2+2» и т.п. Не к чему это, если есть комплексы – это на другой ресурс вам надо.
- С загрузкой ЭБ->1С более-менее понятно, как сделать выгрузку, пока не разобрался. Как только разберусь, напишу отдельную статью.
Загрузка ЭБ->1С
После выгрузки выписки по лицевым счетам мы получаем архив, в котором содержится несколько файлов формата xml. Нас в рамках задачи загрузки интересуют файлы с маской TSE_04001060_D07_, TSE_04001060_D08_, TSE_TransOrderAcc_D091, TSE_TransOrderAcc_D092. Переводя на русский – это платежное поручение исходящее, платежное поручение входящее, платежный ордер исходящий, платежный ордер входящий, соответственно. Платежные поручения интерпретируем, как обычно: исходящее – это наше, по которому мы что-то платим со счета; входящее – по которому нам контрагент платит на счет. Платежные ордера следует рассматривать со стороны УФК: исходящий платежный ордер – это документ, содержащий информацию, что УФК перевело со своего счета на наш счет; входящий – что средства поступили на счет УФК. Именно эти документы мы и будем в последствии обрабатывать и загружать в 1С посредством.
Для загрузки можно использовать любой формат, который понимает 1С. Я брал «iBank 2 компании "БИФИТ"», но по опыту установлено, что программу в настройках загрузки можно указать любую, а можно вообще не указывать – выписка будет прочитана корректно.
Пишем конвертер из данных указанных выше файлов в формат txt. При этом, разбирая xml, надо понимать, что откуда брать. В таблице указаны такие соответствия.
Элемент ЭБ |
Поле файла txt |
TSE_0401060_D07 (тип документа) |
Платежное поручение (тип документа) |
BasicRequisites_DocNum |
Номер |
BasicRequisites_DocDate |
Дата |
BasicRequisites_PaySum |
Сумма |
PayerAndRecipient_Payer_INN |
ПлательщикИНН |
PayerAndRecipient_Payer_KPP |
ПлательщикКПП |
PayerAndRecipient_Payer_Name |
Плательщик |
PayerAndRecipient_Payer_CheckAcc |
ПлательщикРасчСчет |
PayerAndRecipient_Payer_BankName |
ПлательщикБанк |
PayerAndRecipient_Payer_BIK |
ПлательщикБИК |
PayerAndRecipient_Payer_CorrAcc |
ПлательщикКорсчет |
PayerAndRecipient_Recip_INN |
ПолучательИНН |
PayerAndRecipient_Recip_KPP |
ПолучательКПП |
PayerAndRecipient_Recip_Name |
Получатель |
PayerAndRecipient_Recip_CheckAcc |
ПолучательРасчСчет |
PayerAndRecipient_Recip_BankName |
ПолучательБанк |
PayerAndRecipient_Recip_BIK |
ПолучательБИК |
PayerAndRecipient_Recip_CorrAcc |
ПолучательКорсчет |
TranscriptPP_PayPurpose |
НазначениеПлатежа |
MSC_TransfOrderAcc (тип документа) |
Платежный ордер (тип документа) |
AccDoc_DocNum |
Номер |
AccDoc_DocDate |
Дата |
Payer_INN |
ПлательщикИНН |
Payer_KPP |
ПлательщикКПП |
Payer_Name |
Плательщик |
Payer_BIK |
ПлательщикБИК |
Payer_CorrAcc |
ПлательщикКорсчет |
Payer_BankName |
ПлательщикБанк |
Payer_CheckAcc |
ПлательщикРасчСчет |
Recip_INN |
ПолучательИНН |
Recip_KPP |
ПолучательКПП |
Recip_Name |
Получатель |
Recip_BIK |
ПолучательБИК |
Recip_CorrAcc |
ПолучательКорсчет |
Recip_BankName |
ПолучательБанк |
Recip_CheckAcc |
ПолучательРасчСчет |
DepInfo_PayPurpose |
НазначениеПлатежа |
Глобально, за редким исключением, нас интересует раздел xml файла до начала описательной части: для платежек – это элемент TSE_Tab04001060, для ордеров – OrderAcc. Однако, если потребуется дополнительная информация (данные реестра документов-оснований, код платежа, аналитический код, ИД контракта и пр), то следует обрабатывать все элементы соответствующего xml файла.
В соответствии с таблицей пишем конвертацию. Весь алгоритм можно посмотреть в прикрепленной обработке. Сама обработка может быть полезна для решения прикладных задач, однако, она предназначена в первую очередь для демонстрации возможностей обмена между ГИИС «Электронный бюджет» и 1С. И именно поэтому нельзя рассматривать ее, как стопроцентно верную, хотя ее возможности и были протестированы на реальном предприятии. Тестирование проводилось на платформе 8.3.23.1997, конфигурация Бухгалтерия предприятия 3.0.143.42
За сим откланяюсь. Было бы здорово, если бы появились внятные предложения по развитию обмена между рассматриваемыми в статье системами, конкретно в части выгрузки данных по схеме «1С->ЭБ».
Спасибо за внимание!
Готовое решение
Обмен с системами Казначейства: Электронный бюджет
Обработка предназначена для выгрузки и загрузки платежных документов из конфигураций 1С: Предприятие 8 в формате xml для Федерального казначейства в формате Электронного Бюджета.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.143.42