Function FS_CANCELA() Local i := 0 Local aRegSD2 := {} Local aRegSE1 := {} Local aRegSE2 := {} Local cPrefix := &(GetNewPar("MV_1DUPREF","cSerie")) Local lCupom := VS1->VS1_SERNFI == GetNewPar("MV_SERCUP","CUP") Local cont := 0 Local lNFeCancel := SuperGetMV('MV_CANCNFE',.F.,.F.) .AND. SF2->(FieldPos("F2_STATUS")) > 0 Local lRet := .t. if Alltrim(cPrefix) == "" cPrefix := iif(VS1->VS1_SERNFI <> GetNewPar("MV_SERCUP","CUP"),VS1->VS1_SERNFI,GetNewPar("MV_SERCUP","CUP")) Endif DbSelectArea("SE1") DBSetOrder(1) //If SE1->(DBSeek(xFilial('SE1')+cPrefix+cNota)) If SE1->(DBSeek(xFilial('SE1')+cPrefix+space(TamSx3("E1_PREFIXO")[1]-Len(cPrefix))+cNota)) While !Eof() .and. SE1->E1_FILIAL == xFilial('SE1') .and. SE1->E1_PREFIXO == cPrefix+space(TamSx3("E1_PREFIXO")[1]-Len(cPrefix)) .and. SE1->E1_NUM == cNota if VS1->VS1_SERNFI <> GetNewPar("MV_SERCUP","CUP") .and. SE1->E1_PREFORI != GetNewPar("MV_PREFBAL","BAL") DBSkip() loop endif If !Empty(SE1->E1_BAIXA) .or. SE1->E1_SALDO != SE1->E1_VALOR MsgInfo(STR0019,STR0020) //Ha titulos baixados referentes a esta Venda..###Atencao Return(.f.) EndIf DbSelectArea("SE1") DbSkip() Enddo EndIf if ( ExistBlock("OFM220AT") ) lRet := ExecBlock("OFM220AT",.f.,.f.) if !lRet Return(.f.) Endif EndIf |