diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/readers/template/SDf21Template.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/readers/template/SDf21Template.java index 7a0aa0c23..3a7b1c60c 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/readers/template/SDf21Template.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/readers/template/SDf21Template.java @@ -63,16 +63,20 @@ public class SDf21Template extends AbstractTemplate { currentPattern = hederPatterns.get(i); if (currentPattern.canRead(line)) { currentPattern.reed(line, currentRecord); - result = prepareNextLine(this::setLine); - if (!SUCSESS.equals(result)) return result; currentRecord.setNotEmpty(true); if (Tag18A.equals(currentPattern)) { String str18 = currentRecord.getValFor18ATag().trim(); if (StringUtils.hasText(str18)) { int count = Integer.parseInt(str18); oneDimensionalCount = oneDimensionalPatterns.size() * count; + if(count == 0){ + setReadEnded(true); + return SUCSESS; + } } } + result = prepareNextLine(this::setLine); + if (!SUCSESS.equals(result)) return result; } else { result = checkNotValue(line, "required teg: " + currentPattern.name() + ", but was: "); if (!SUCSESS.equals(result)) return result; @@ -85,8 +89,6 @@ public class SDf21Template extends AbstractTemplate { currentPattern = oneDimensionalPatterns.get(j % oneDimensionalPatterns.size()); if (currentPattern.canRead(line)) { currentPattern.reed(line, currentRecord); - result = prepareNextLine(this::setLine); - if (!SUCSESS.equals(result)) return result; currentRecord.setNotEmpty(true); if (Tag18A.equals(currentPattern)) { String str18 = currentRecord.getValFor18ATag().trim(); @@ -100,6 +102,8 @@ public class SDf21Template extends AbstractTemplate { groupRecords.addAll(currentRecords); currentRecords = new ArrayList<>(); } + result = prepareNextLine(this::setLine); + if (!SUCSESS.equals(result)) return result; } else { result = checkNotValue(line, "required teg: " + currentPattern.name() + ", but was: "); if (!SUCSESS.equals(result)) return result;