Евгений Ваша ошибка имеет место на следующей строке:
FIELD->Sum3N += G_ROUND(MDOCM->Kol*FIELD->Cena3N)
Т.е. при попытке округлять по определенным позициям при учете по методу фактических цен в документах прихода
По каким-то причинам значение FIELD->Cena3N остается NIL
Для ее определения производится поиск по ключу
MDocM->(ORDSETFOCUS("MDOCM_P"),DBSEEK(UPPER(MKart->(Grup+NNum))+DTOS(dDate+1),.T.))
Она должна определяться по строке
#DEFINE __CENAN IF(iMSCHET->XRAN != '1' .OR. iMSCHET->METODNal = '3',iMLABEL->CenaN, IF(EMPTY(lChTnPart),iSPR_PART->CENA_FN,TnPrePartN(cSelPartia)))
Но по всей видимости вы оказываетесь за пределами таблицы и работаете по пустой строке.
Типичная проблема с индексами.
Реиндексация должна помогать.
FIELD->Sum3N += G_ROUND(MDOCM->Kol*FIELD->Cena3N)
Т.е. при попытке округлять по определенным позициям при учете по методу фактических цен в документах прихода
По каким-то причинам значение FIELD->Cena3N остается NIL
Для ее определения производится поиск по ключу
MDocM->(ORDSETFOCUS("MDOCM_P"),DBSEEK(UPPER(MKart->(Grup+NNum))+DTOS(dDate+1),.T.))
Она должна определяться по строке
#DEFINE __CENAN IF(iMSCHET->XRAN != '1' .OR. iMSCHET->METODNal = '3',iMLABEL->CenaN, IF(EMPTY(lChTnPart),iSPR_PART->CENA_FN,TnPrePartN(cSelPartia)))
Но по всей видимости вы оказываетесь за пределами таблицы и работаете по пустой строке.
Типичная проблема с индексами.
Реиндексация должна помогать.