BookPrZk.cSchFactR - ссылка на корректируемую запись регистрации - новый вариант
(BookPrZk.Flags and cwCorr_Dop) -
признак включения корректирующей записи книги покупок в дополнительный лист
(BookPrZk.Flags and cwSpecCorr_Pr) -
спецкорректировка книги продаж, запись ссылается на корректируемую запись из другой СФ
BookPrZk.ds[2] - корректируемый период для непривязанных записей
константы
cwCorr_Dop : Word = 4; // Корректирующая запись, признак попадания в доп.лист
cwSpecCorr_Pr : Word = 8; // Корректирующая запись книги продаж, запись ссылается на корректируемую запись из другой СФ
В целом запрос будет сложноват.
Вам надо отобрать СФ с типом корректирующая СФ, к ней поднять книгу продаж и по ней подтянуть СФ, а уже по этим СФ поднять ДО.
Простым запросом в атлантисе не получиться , поскольку записей о регистрации в книгах будет несколько. Либо DSQL, либо вложенные запросы.
Нет под рукой базы с корр.СФ. Мож кто поможет еще
.
and BookPrZk.cSchFactR == BookPrZk_Corr.NRec
and BookPrZk_Corr.cSchFactS == SchFact_Corr.NRec
Если вам все равно на дупликаты то можно строку
and schfact.cbasedoc==spgrsch.cbasedoc
заменить например на
and if(isvalidall(tnSchFact_Corr),SchFact_Corr.cbasedoc, schfact.cbasedoc)==spgrsch.cbasedoc
Ну а потом нужно вырезать только уникальные записи - вот здесь у вас будут сложности без DSQL.
Впрочем на vip вы просто делаете обход по SCHFACT и проверяете валидность корректируемой СФ и все, а вот в сапорте будет не очень.