1C-Company / DirectBank

DirectBank (прямой обмен с банком) – новая технология системы "1С:Предприятие 8"
51 stars 18 forks source link

1C-Bank_Settings.xsd: вопросы по GroupSignatures и по RuleSignatures #4

Open ksolovyev-alfabank opened 8 years ago

ksolovyev-alfabank commented 8 years ago

В файле 1C-Bank_Settings.xsd описан элемент CustomerSignature, содержащий группу электронных подписей GroupSignatures (группа имеет атрибут numberGroup) и содержит перечень сертификатов уполномоченных лиц. Вопрос: для чего нужна такая группировка подписей, где эти группы подписей будут использоваться? В этом же файле есть описание тэга edo:Document, содержащий тег RuleSignatures и в примере этот тег заполнен так edo:RuleSignatures(0)/edo:RuleSignatures. Вопрос: Что означает «(0)», каким образом формируются правила подписи, почему используются скобки?

SevrD commented 8 years ago

Правила, задающее схему подписей для вида электронного документа формируются следующим образом (Data.Document.Signed.RuleSignatures): 1) при описании правила используется цифровой шифр; 2) шифр содержит столько символов, сколько групп подписантов обозначено в настройках; 3) каждая цифра в шифре означает количество подписантов из группы N, где N – номер места цифры в шифре; 4) каждый шифр заключает в скобки "()" (без кавычек); 5) для вида документа можно указать несколько правил, каждое из них описывается отдельно между собой правила отделяются символами "||" (без кавычек). Примеры: а) Шифр "(120)" означает, что для этого вида документа требуется "одна подпись из 1-ой группы подписантов", "две подписи из 2-ой группы подписантов" и "не требуется подпись подписантов из 3-ей группы". б) Шифр "(120)||(111)" означает, что для этого вида документа может быть использовано любое из 2-х правил: 1) см.п.(а) или 2) требуется "одна подпись из 1-ой группы подписантов", "одна подпись из 2-ой группы подписантов", "одна подпись из 3-ой группы подписантов".

GlebovAndrei commented 8 years ago

Вопрос: Что означает «(0)», каким образом формируются правила подписи, почему используются скобки? Значение "(0)" означает, что правило подписания задается без учета групп (функционал сложных правил подписания в решениях 1С только в процессе обсуждения). Пока рекомендуем заполнять, как в примере.

ksolovyev-alfabank commented 8 years ago

Хотелось бы подытожить: т.е. правила вида (1), (12) или (11111) – являются допустимыми или ограничиваемся только тремя группами, как указанно в примере выше?

SevrD commented 8 years ago

Количество групп не ограничено.

BSSAnalytics commented 5 years ago

Добрый день. В описании поля RuleSignatures указано:

Сложные правила подписания применяются только для платежных поручений и требований. Все запросы подписываются одной подписью.

Подскажите, значит ли это, что для документов с кодами 04 (Запрос об отзыве электронного документа), 14 (Запрос выписки) и 05 (Запрос-зонд) справедливо следующее:

SevDmitry commented 5 years ago

Правила подписания учитываются только для платежных документов. Все остальные запросы подписываются и отправляются с одной подписью того сертификата, который указал пользователь при выполнении операции.

BSSAnalytics commented 5 years ago

Подскажите, что необходимо передавать в файле настроек в элементе RuleSignatures для не платежных документов, если требуется их подпись (1 подпись любым сертификатом при выполнении операции), при том, что в настройках передается несколько сертификатов клиента?

SevDmitry commented 5 years ago

передавайте (0)

BSSAnalytics commented 5 years ago

Добрый день. В описании поля RuleSignatures указано на разделитель "||": https://github.com/1C-Company/DirectBank/blob/master/doc/common-section/type-tables.md#edo-Settings_Data_Document На тестовом стенде в облаке для настройки с правилами вида "(100)||(011)" для документа 10 выдается сообщение об ошибке "Некорректный файл настроек обмена. Неправильно заданы правила подписания документов...". А правила вида "(100)|(011)" загружаются успешно. Подскажите, разделитель для правил где-то настраивается или в описании поля ошибка и необходимо всегда применять разделитель "|"?

SevDmitry commented 5 years ago

Ошибка в конфигурации. Нужно использовать || На стенде исправили. В прикладных решениях исправление будет со следующим обновлением.

BSSAnalytics commented 5 years ago

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

SevDmitry commented 5 years ago

Да. либо обратиться на линию консультаций для получения локального способа исправления