База знаний Одина – Одинэсника Форумы ODIN – Форум по 1С Предприятию Как исправить ошибку XDTO MaxLength=255 при подписании?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33444
      Телеграм группа https://t.me/odineskiOdineski
      Участник

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

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

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

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

      имеет длину, превышающую 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 ветки ответов
  • Для ответа в этой теме необходимо авторизоваться.