Тема: А теперь (барабанная дробь) критическая ошибка ПДР 72535 через XML
В новой форме НН, налоговая потребовала кроме выгрузки базы налогообложения еще и сумму НДС.
Ну и... Мы просто добавили в запрос:
строку 294
ROUND((SD.SUMMA_07+IIF(DC.PNDS<>"+STR(P_NDS)+",SD.SUMMA_08,0))*DC.PNDS*0.01,6) AS NDS ;
И пофиг что есть это:
стр 327-364
DO WHILE .not. oSql:Eof()
nBaseSum7 += IF(oSql:dataArea:POL_07<>0,oSql:dataArea:POL_07A,0) + oSql:dataArea:POL_07
nRoundSum7 += ROUND(oSql:dataArea:POL_07, 2)
IF oSql:dataArea:POL_07 > nMaxSum7
nMaxSum7 := oSql:dataArea:POL_07
nMaxSD7 := oSql:dataArea:uniquesod
ENDIF
nBaseSum8 += IF(oSql:dataArea:POL_08<>0,oSql:dataArea:POL_07A,0) + oSql:dataArea:POL_08
nRoundSum8 += ROUND(oSql:dataArea:POL_08, 2)
IF oSql:dataArea:POL_08 > nMaxSum8
nMaxSum8 := oSql:dataArea:POL_08
nMaxSD8 := oSql:dataArea:uniquesod
ENDIF
nBaseSum9 += IF(oSql:dataArea:POL_09<>0,oSql:dataArea:POL_07A,0) + oSql:dataArea:POL_09
nRoundSum9 += ROUND(oSql:dataArea:POL_09, 2)
IF oSql:dataArea:POL_09 > nMaxSum9
nMaxSum9 := oSql:dataArea:POL_09
nMaxSD9 := oSql:dataArea:uniquesod
ENDIF
nBaseSum10 += IF(oSql:dataArea:POL_10<>0,oSql:dataArea:POL_07A,0) + oSql:dataArea:POL_10
nRoundSum10 += ROUND(oSql:dataArea:POL_10, 2)
IF oSql:dataArea:POL_10 > nMaxSum10
nMaxSum10 := oSql:dataArea:POL_10
nMaxSD10 := oSql:dataArea:uniquesod
ENDIF
IF oSql:dataArea:vidnds=5
nsum_naUkr0+=ROUND(oSql:dataArea:POL_10, 2)
ENDIF
IF oSql:dataArea:vidnds=4
nsum_osvb+=ROUND(oSql:dataArea:POL_10, 2)
ENDIF
oSql:skip()
ENDDO
nDelta7 := ROUND(nBaseSum7, 2) - nRoundSum7
nDelta8 := ROUND(nBaseSum8, 2) - nRoundSum8
nDelta9 := ROUND(nBaseSum9, 2) - nRoundSum9
nDelta10 := ROUND(nBaseSum10,2) - nRoundSum10
// расчет округлений до второго знака
Где меняется сумма базы налогообложения, НДС то уже посчитан, и мы просто его лупим в XML.
Зачем разбираться в проблеме, если есть собственные (пользовательские) маки расчета Экспорта. Напишите все сами и фиг с вами...