100% в браузъра · файлът никога не напуска компютъра ви · безплатно, без регистрация

Речник на грешките · пълно ръководство

„Missing child element(s)“ — липсващо задължително съдържание

Елементът е отворен и затворен, но вътре няма нищо — а схемата изисква съдържание. Фактура без редове и счетоводна операция без записи са безсмислени, и схемата го знае.

КатегорияСхемна грешка (XSD)

Кога се хващаПри XSD валидация, при затварящия таг на непълния елемент

Типичен сигналcvc-complex-type.2.4.b: The content of element … is not complete

Какво значи

За всеки съставен елемент схемата определя не само реда на децата, но и минималния им брой (minOccurs). Когато задължително дете липсва изцяло и родителят „свършва“ преждевременно, валидаторът докладва, че съдържанието не е пълно:

Примерно съобщение от валидатор (Xerces)cvc-complex-type.2.4.b: The content of element 'Transaction' is not complete. One of '{TransactionLine}' is expected.

Типичните случаи в SAF-T: Invoice без нито един InvoiceLine, или Transaction без TransactionLine. Документ без редове не носи никаква информация — затова схемата изисква поне един ред. Разликата с „this element is not expected“: там валидаторът среща неочакван елемент по средата; тук стига до края на родителя, без да е срещнал очакваното.

Защо се случва

  • Филтър на експорта е отрязал редовете, но не и заглавната част. Софтуерът записва „шапката“ на документа от една таблица, а редовете — от друга. Ако филтърът по период/тип засегне само редовете, остават празни обвивки.
  • Записи с нулеви суми се прескачат. Някои експорти пропускат редове с нулева стойност „за икономия“. Ако всички редове на документа са нулеви, той остава празен — а схемата изисква поне един ред, включително с нулеви стойности, щом документът присъства.
  • Прекъснат или частичен експорт. Генерирането е спряло по средата (грешка, недостиг на памет, timeout) и последният отворен елемент е останал без съдържание — често това личи и по размера на файла.
  • Данните реално липсват. Документът е осчетоводен „на общо основание“ без аналитични редове в системата-източник. Тогава проблемът не е в експорта, а в данните преди него.

Как се поправя

  1. От съобщението вземете елемента-родител и очакваното дете, намерете реда във файла и вижте какво реално има вътре.
  2. Проверете същия документ в системата-източник: има ли редове там? Ако има — проблемът е във филтрите или логиката на експорта. Ако няма — данните трябва да се допълнят преди експорт.
  3. Прегледайте настройките на експорта за опции от типа „пропускай нулеви редове/празни секции“ и ги изключете за задължителните структури. Схемата иска стойностите да присъстват изрично — включително празни или нулеви, там където ги изисква.
  4. Регенерирайте целия файл наведнъж и валидирайте пак. Не „дозаписвайте“ липсващото на ръка — следващият месец грешката ще се върне.

Пример

Грешно (операция без редове)
<Transaction>
  <TransactionID>2026-0117</TransactionID>
  <TransactionDate>2026-01-15</TransactionDate>
</Transaction>
<!-- cvc-complex-type.2.4.b: The content
     of element 'Transaction' is not
     complete. One of '{TransactionLine}'
     is expected. -->
Вярно (поне един ред)
<Transaction>
  <TransactionID>2026-0117</TransactionID>
  <TransactionDate>2026-01-15</TransactionDate>
  <TransactionLine>
    <RecordID>1</RecordID>
    <AccountID>411</AccountID>
    ...
  </TransactionLine>
</Transaction>
Кои деца са задължителни за всеки елемент можете да проверите в справочника на елементите — за всяко от 347-те полета е отбелязано дали е задължително и какво съдържание приема.
Не гадайте — проверете

Пуснете файла през безплатната проверка: всяка грешка идва с ред, обяснение и съвет. Проверете файла — безплатно, в браузъра.

Провери файла