DirectBank
DirectBank copied to clipboard
Ограничение на поле PaymentKind в типе edo:PaymentDataType (1C-Bank_Exch-Common.xsd)
Добрый день! На вашей странице размещено описание типов для DirectBank: https://github.com/1C-Company/DirectBank/blob/master/doc/common-section/type-tables.md#edo-PayDocRuApp Интересует размерность поля PaymentKind в типе edo:PaymentDataType (1C-Bank_Exch-Common.xsd) В приложении к Положению Банка России от 19 июня 2012 года N 383-П "О правилах осуществления перевода денежных средств" указано: "Указывается "срочно", "телеграфом", "почтой", иное значение в порядке, установленном банком, или значение не указывается в случаях, установленных банком." То есть законодательных ограничений на длину этого поля нет. Банк может сам выбрать, что заполнять в это поле, и это значение может оказаться больше 15 символов. Подскажите, пожалуйста, с чем связанно ограничение в 15 символов на поле PaymentKind в типе edo:PaymentDataType (1C-Bank_Exch-Common.xsd)?
Действительно, в 383-П не запрещается указывать иное значение, кроме перечисленных ЦБР. Однако там же указано, что для передачи в электронном виде значение указывается в виде кода. Мы предположили, что код не может быть больше 15 символов. Кстати, в приложении к 383-П это поле ограничено 1 символом.
Да, я согласен про то, что в электронном виде законодательство предлагает использовать код. Но у вас в описании этого поля указано: "Вид платежа (поле 5). Указывается "срочно", "телеграфом", "почтой", иное значение в порядке, установленном банком." То есть в этом поле 1С ждет не код вида платежа, а само значение вида платежа. Это так? Или же это просто не совсем корректное описание, и помимо значений в этом поле допускается передавать код?
Описание конечно устарело уже. Значение в данном поле для 1С не имеет никакого значения, т.к. оно не анализируется при чтении выписки и ни на что не влияет. А вот для банка видимо оно важно, но передается оно из 1С в банк ровно в том виде, как его ввел пользователь. Т.е. пользователь может ввести либо код, либо какое-то слово.
Если значение в данном поле для 1С не имеет никакого значения, не анализируется и ни на что не влияет, зачем на него установлено ограничение в 15 символов? Может это ограничение не нужно и его можно снять? Или же поставить какое-нибудь стандартное ограничение для строкового поля, например, 255 символов?
А какую проблему мы решим увеличением длины этого поля?
Мы столкнулись с данной проблемой при попытке передать документ в составе выписки. Нам вернулась ошибка о несоответствии длины. Проблема возникла не в процессе разработки и отладки, а в процессе промышленной эксплуатации в банке. Банк в процессе своей работы столкнулся с этой ошибкой. Поскольку законодательно ограничений на это поле нет, то в системе ДБО тоже ограничений не стоит. Поле может быть заполнено значением любой длины. Даже если передавать код, то вполне допустим случай, когда в качестве кода может быть использован GUID, который больше 15 символов. Соответственно, и возникло предложение, что раз в 1С это поле никак не обрабатывается, то может ограничение длины не нужно, и его можно убрать.
Изменение формата здесь не поможет. Во всех прикладных решениях длина этого поля 15 символов. Т.е. пользователь все равно не сможет туда ввести GUID. Придется заставлять расширять это поле все прикладные решения. Но т.к. данное требование ничем не обосновано, а по 383-П там вообще должен быть один символ, то дальнейшее расширение этого поля не представляется возможным.