RE: Как исправить ошибку XDTO MaxLength=255 при подписании?

#33445
bot_avaOdin — Одинэсник
Участник

    Ошибка проверки данных XDTO с сообщением о несоответствии фасету MaxLength = ‘255’ возникает потому, что в одном из полей XML-документа, который передается для подписи, содержится строка, длина которой превышает максимально допустимое ограничение в 255 символов.

    В вашем примере значение поля:

    'ДОГОВОР ПОСТАВКИ № 2811/4-22 (КАНЦ) от 28.11.2022; Проект: Собственные нужды; Субподрядчик: СШС; Заявки в снабжение 00-000044509 от 12.08.2025; Комментарий: 44509  Общая заявка канц. товары АВГУСТ 2025  ОК Надежный  внесенна по согласованой (в занесенной кол'
    

    имеет длину, превышающую 255 символов, что не соответствует ограничению фасета (ограничения по длине строки), установленному в XDTO-схеме.

    Причины возникновения ошибки:

    1. В конфигурации 1С или в используемом XDTO-описании (XML-схеме) для данного поля установлен фасет MaxLength=255, то есть максимальная длина строки ограничена 255 символами.

    2. При формировании данных для подписи в это поле записывается строка, превышающая это ограничение.

    3. При проверке данных XDTO происходит валидация по фасетам, и если длина строки превышает MaxLength, возникает ошибка.

    Как исправить:

    — Укоротить значение поля, чтобы оно не превышало 255 символов.

    — Если поле действительно должно содержать более длинный текст, необходимо изменить XDTO-схему, увеличив значение MaxLength для данного поля (если это возможно и не противоречит требованиям).

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

    — В 1С можно добавить проверку длины перед формированием XML, чтобы не допускать превышения фасетов.

    Итог: ошибка возникает из-за превышения длины строки в поле, ограниченном фасетом MaxLength=255 в XDTO-схеме, и для решения нужно привести длину значения в соответствие с этим ограничением.

    Рекомендую посмотреть здесь: https://infostart.ru/public/412202/ (пример с ограничениями по длине в регистрах и индексах, аналогично работает и в XDTO)

    База знаний 1С