Обмен данными
09.08.2013
Стандарт обмена данными "1С:Предприятие - Клиент банка"
Область применения:
Система "1С:Предприятие" позволяет подготавливать и учитывать различные платежные документы (согласно Положению ЦБР от 19 июня 2012 г. N 383-П "О правилах осуществления перевода денежных средств"). Для проведения платежей эти документы предоставляются в банк, а из банка получают выписки проведения платежей и зачисления на расчетный счет организации.
Для передачи платежных документов в банк могут использоваться системы класса "Банк – Клиент". Эти системы обеспечивают ввод информации (платежных документов) в модуль, установленный на рабочем месте бухгалтера (модуль "Клиент банка") и передачу этой информации в банк по телекоммуникационным каналам. Системы "Банк – Клиент" обладают развитыми средствами криптозащиты и имеют механизм электронной подписи. Недостатком таких систем является необходимость повторного ввода платежных документов в модуль "Клиент банка". Это приводит к лишним трудозатратам и может привести к ошибкам. Поэтому становится актуальным использование существующих технологий передачи данных для непосредственной передачи информации прямо из бухгалтерской программы. Фирма "1С" предлагает стандарт обмена данными платежных документов между системами "1С:Предприятие" и модулем "Клиент банка".
Цели и назначение:
Основной целью создания стандарта передачи данных является выработка единых правил обмена информацией, описание структуры и форматов данных.
Стандарт обмена данными между системой "1С:Предприятие" и модулем "Клиент банка" предназначен для разработчиков программного обеспечения систем класса "Банк - Клиент" и разработчиков конфигураций системы программ "1С:Предприятие".
Использование стандарта делает возможным реализовать следующую примерную схему дистанционного финансово-платежного обслуживания:
Термины и определения
Система "1С:Предприятие" - любая произвольная конфигурация системы программ "1С:Предприятие" (далее "1С:Предприятие"), в которой реализовано оформление платежных документов, учет операций по расчетным счетам.
Модуль "Клиент банка" (далее "Клиент банка") - программа, установленная на рабочем месте пользователя. Обеспечивает формирование, контроль, шифрование/дешифрование данных, электронную подпись, обмен данными с "Банком" через систему телекоммуникаций.
Модуль "Банк" - программа, установленная в банке. Осуществляет автоматическую обработку транзакций и запросов клиента, обмен информацией с информационной системой банка, формирование и отправку модулю "Клиент банка" ответных пакетов сообщений.
Передача данных - передача данных от "1С:Предприятие" в "Клиент банка".
Прием данных - передача данных от "Клиент банка" в "1С:Предприятие".
Перечень видов документов при обмене
- платежное поручение;
- заявление на аккредитив;
- платежное требование;
- инкассовое поручение;
- прочие документы движения по расчетному счету (документы выписки).
Модуль обмена данными системы "1С:Предприятие" позволяет запоминать выбор значений основных реквизитов выгрузки (перечни видов документов и расчетных счетов и другие реквизиты), которые используются в следующем сеансе передачи данных.
Подготовка платежных документов
Пользователь "1С:Предприятия" вводит в программу (исправляет, удаляет) платежные документы: поручения, требования и т. д. Предполагается, что состав документов и их полей может отличаться в различных конфигурациях системы "1С:Предприятие".
Передача данных из системы "1С:Предприятие" в модуль "Клиент банка"
Передача данных осуществляется в два этапа.
На первом этапе пользователь подготавливает данные и с помощью модуля обмена данными "1С:Предприятие" формирует текстовый файл.
На втором этапе с помощью "Клиент банка" этот текстовый файл читается и обрабатывается. Результат обработки передается по телекоммуникационным каналам в "Банк".
При инициализации пользователем "1С:Предприятие" модуля выгрузки данных в диалоге указываются:
- Виды выгружаемых документов. Перечень видов определяется функциональными возможностями "1С:Предприятие" и "Клиент банка".
- Перечень расчетных счетов, по которым происходит выгрузка платежных документов. Предполагается, что у пользователя может быть несколько расчетных счетов, а выгружаться могут не все (чтобы уменьшить объем передаваемой информации при повторной выгрузке, чтобы передавать документы по разным счетам в разные банки и т. д.).
- Период выгрузки платежных документов. В этом интервале дат будут выгружены все платежные документы указанных видов по указанным расчетным счетам. Период выгрузки выбирается таким образом, чтобы были выгружены все документы, введенные (измененные) после предыдущей выгрузки данных. Если период охватывает ранее выгруженные документы, - это не считается ошибкой.
Результатом выгрузки данных является текстовый файл. В нем хранится следующая информация:
- Служебная информация: сведения о формате файла, о времени его создания и т. д.
- Период, за который выгружались документы.
- Перечень расчетных счетов, по которым выгружены платежные документы.
- Перечень видов выгруженных документов.
- Информация о платежных документах.
В Клиент банка" пользователем инициируется загрузка данных из созданного с помощью "1С:Предприятие" текстового файла. При этом:
- Если документ данного вида не может обрабатываться "Клиент банком" (в силу функциональных возможностей), процедура загрузки информирует об этом пользователя.
- Если загружаемый документ уже присутствует в "Клиент банке" и не отличается по содержанию, он не обрабатывается.
- Если загружаемый документ уже присутствует в "Клиент банка", но отличается по содержанию, он считается исправленным; если документ (в соответствии с логикой модуля "Клиент банка") может быть изменен (еще не подписан, не передан в банк и т. д.), он перезаписывается в базе данных
- Если загружаемый документ отсутствует в базе данных модуля "Клиент банка" - он считается новым; если документ (в соответствии с логикой модуля "Клиент банка") может быть передан в "Банк" (не просрочен и т. д.) - он заносится в базу данных.
- Во всех остальных ситуациях (например, загружаемый документ уже присутствует в "Клиент банке" и отличается по содержанию, но уже передан в "Банк" и проведен) считается, что документ не может быть обработан, и процедура загрузки информирует об этом пользователя
- Все существующие в "Клиент банке" (на момент загрузки), но отсутствующие в файле обмена (отсутствующие в "1С:Предприятие") документы указанных видов по указанным расчетным счетам в интервале обмена считаются удаленными из "1С:Предприятие". При этом:
- Если документ (в соответствии с логикой "Клиент банка") может быть удален (еще не подписан, не предан в банк и т. д.), он удаляется из базы данных
- В других случаях, если документ не может быть удален, процедура загрузки информирует об этом пользователя.
Таким образом, происходит синхронизация данных в "Клиент банке" по данным "1С:Предприятия".
В "Клиент банка" выполняется вся необходимая работа по подготовке и отправке документов в "Банк" и получении оттуда информации (результатов обработки переданных документов, выписки по счетам и т. д.).
Прием данных в систему "1С:Предприятие" из модуля "Клиент банка"
Прием данных также осуществляется в два этапа.
На первом этапе пользователем инициируется прием данных из "Банка" и формирование текстового файла.
На втором этапе с помощью модуля обмена данными "1С:Предприятие" этот текстовый файл читается и обрабатывается.
В "Клиент банке" пользователем инициируется выгрузка данных - операций по расчетному счету в текстовый файл установленного формата. При этом:
- Пользователь указывает перечень расчетных счетов, по которым происходит выгрузка операций. Предполагается, что у пользователя может быть несколько расчетных счетов, а выгружаться могут не все (чтобы уменьшить объем передаваемой информации при повторной выгрузке, чтобы передавать документы по разным счетам в разные банки и т. д.).
- Пользователь указывает период выгрузки операций. В этом интервале дат будут выгружены все операции по указанным расчетным счетам. Период выгрузки выбирается таким образом, чтобы были выгружены все данные (измененные) после предыдущей выгрузки. Если период охватывает ранее выгруженные операции, это не считается ошибкой.
В результате выгрузки данных создается текстовый файл. В нем хранится следующая информация:
- Служебная информация: сведения о формате файла, о времени его создания и т. д.
- Перечень расчетных счетов, по которым выгружены операции.
- Период, за который выгружались операции.
- Остатки и обороты по счетам.
- Содержание полей каждого документа, дата его проведения по расчетному счету.
В "1С:Предприятии" пользователем инициируется загрузка данных из текстового файла. При этом:
- Если загружаемый документ уже присутствует в "1С:Предприятии" и не отличается по содержанию, он не обрабатывается.
- Если загружаемый документ уже присутствует в "1С:Предприятии", но отличается по содержанию, он считается исправленным; процедура загрузки информирует об этом пользователя и предлагает ему изменить существующий документ.
- Если загружаемый документ отсутствует в "1С:Предприятие", он считается новым и заносится в базу данных.
- Все существующие в "1С:Предприятии" (на момент загрузки), но отсутствующие в файле обмена (отсутствующие в "Клиент банке") по указанным расчетным счетам в интервале обмена считаются удаленными из "Клиент банка" - они удаляются из базы данных.
Таким образом, происходит синхронизация данных в "1С:Предприятии" по данным "Клиент банка".
Соглашения об обмене информацией
Имена файлов настраиваются в процедурах выгрузки и загрузки. По умолчанию используется:
- при передаче - 1c_to_kl.txt;
- при приеме - kl_to_1c.txt.
Формат файла - текстовый.
Кодировка (DOS, Windows, UTF) настраивается в процедурах выгрузки.
Порядок следования строк/секций файла:
- В первой строке файла должна содержаться специальная последовательность символов - внутренний признак файла обмена данными между "1С:Предприятием" и "Клиент банком".
- Далее следуют строки, содержащие необходимую служебную информацию.
- Далее следуют строки, содержащие условия отбора документов (интервал дат, расчетные счета, виды документов).
- Далее (только при приеме данных из "Клиент банка" в "1С:Предприятие") следуют секции, содержащие остатки и обороты по расчетным счетам. Порядок следования секций остатков по расчетным счетам - произвольный.
- Внутри каждой секции следуют строки, содержащие необходимую информацию о расчетном счете. Порядок следования строк внутри секции - произвольный.
- Далее следуют секции, содержащие информацию о документах. Порядок следования секций - произвольный.
- Внутри каждой секции следуют строки, содержащие необходимую информацию о документе. Порядок следования строк внутри секции - произвольный.
- Каждая секция начинается и заканчивается строкой предопределенного вида.
Строка (как строка секции, так и служебная строка) состоит из двух полей (частей):
<ИдентификаторРеквизита>=<ЗначениеРеквизита>.
- Первое поле - ИдентификаторРеквизита - описывает, какой реквизит записан в данной строке.
- Второе поле - ЗначениеРеквизита содержит его значение.
- Поля разделяются знаком "=".
Настоящий стандарт устанавливает набор используемых идентификаторов реквизитов.
- Идентификаторы не должны содержать пробелов и прочих символов-разделителей. Перед идентификатором, перед знаком "=" и после него (до первого значащего символа) не могут содержаться пробелы или иные символы-разделители.
- Реквизиты (а, следовательно, и строки) могут быть обязательными и необязательными.
Идентификация документов производится по расчетному счету (откуда исходит документ), виду документа, дате и номеру. Предполагается, что по одному расчетному счету не может быть нескольких исходящих документов одного вида за одну дату с одинаковыми номерами. Для документов, передаваемых из "1С:Предприятия" в "Клиент банка" это обязательное правило.
Перейти на Приложение 1. Структура файлов обмена данными (Российская Федерация)
Перейти на Приложение 2. Передаваемые документы