Versão atual:

Função SX3 - Dicionário de Dados

Senhores, Boa Tarde.

Sou novo no ADVPL, e ajustei um código para rodar com a SX3 no banco poderia me falar se está correto?

Antes....

dbSelectarea("SX3") dbSetorder(1) MsSeek("ZB0") While (!Eof() .AND. (SX3->X3_ARQUIVO == "ZB0")) If X3USO(SX3->X3_USADO) .AND. SX3->X3_CONTEXT # 'V' cCpo := "ZB0->"+Trim(SX3->X3_CAMPO) cComp := "M->"+Trim(SX3->X3_CAMPO) cTit := SX3->X3_TITULO cAnt := Iif(SX3->X3_TIPO == "N",Transform(&cCpo,SX3->X3_PICTURE),Iif(SX3->X3_TIPO="D",DTOC(&cCpo),ALLTRIM(&cCpo))) cNovo := Iif(SX3->X3_TIPO == "N",Transform(&cComp,SX3->X3_PICTURE),Iif(SX3->X3_TIPO="D",DTOC(&cComp),ALLTRIM(&cComp))) If &cCpo # &cComp aAdd(aAlterado,{cCpo,cCod,cDesc,cTit,cNovo,cAnt,adados[1][4],DTOS(Date())+" - "+time()})//GetTimeStamp(DTOS(Date())) EndIf EndIf dbSkip() Enddo

Depois.....

aStruField := FWSX3Util():GetAllFields("ZB0")

If Len(aStruField) > 0 For nC := 1 to Len(aStruField) IF X3USO(aStruField[nc,1]) .AND. GetSx3Cache(aStruField[nc,1], "X3_CONTEXT") <> 'V' cCpo := "ZB0->"+Trim(aStruField[nC,1]) cComp := "M->"+Trim(aStruField[nC,1]) cTit := FWX3Titulo((aStruField[nC,1])) cAnt := Iif(GetSx3Cache(aStruField[nC,1]) == "N",Transform(&cCpo,GetSx3Cache(aStruField[nC,1],"X3_PICTURE")),Iif(FWSX3Util():GetFieldType(aStruField[nC,1])="D",DTOC(&cCpo),ALLTRIM(&cCpo))) cNovo := Iif(GetSx3Cache(aStruField[nC,1]) == "N",Transform(&cComp,etSx3Cache(aStruField[nC,1],"X3_PICTURE")),Iif(FWSX3Util():GetFieldType(aStruField[nC,1])="D",DTOC(&cComp),ALLTRIM(&cComp))) If &cCpo # &cComp aAdd(aAlterado,{cCpo,cCod,cDesc,cTit,cNovo,cAnt,adados[1][4],DTOS(Date())+" - "+time()})//GetTimeStamp(DTOS(Date())) EndIf EndIf NEXT Endif

Versão (1):

Ver a versão formatada

Função SX3 - Dicionário de Dados

Comentário

new question