Boa tarde!
Alguém sabe qual a correta maneira de validar o trecho abaixo no CodeAnalisys ?
If AsCan(aDataCab, {|x| x == cCpo}) == 0 .and. Empty(SX3->X3_RELACAO)
Não achei nenhuma forma de recuperar na FWSX3Util o X3_RELACAO.
Seria com a OpenSx? , Se sim, alguém tem uma documentação da mesma? Não encontrei no TDN.
Agradeço desde já.
Seria utilizando a OpenSXs mesmo.
Segue o link:
OpenSXS
Exemplo:
OpenSxs(,,,,cEmpAnt,"S_X3","SX3",,.F.)
DbSelectArea("S_X3")
DbSetOrder(1)
Mas após utilizar ela, eu consigo fazer o laço e o dbseek sem problemas?
Sim, apontando pro alias que você criou.
Utilizando o OpenSXS ele já carrega os índices também.
Exemplo:
OpenSxs(,,,, cEmpAnt, cSX3Tmp, "SX3", , .F.)
If Select(cSX3Tmp) > 0
(cSX3Tmp)->( dbSetOrder( 2 ) )
For nI := 1 To Len( aStruTit )
If (cSX3Tmp)->( dbSeek( aStruTit[nI][1] ) ) ;
.AND. ( (cSX3Tmp)->X3_CAMPO $ 'E2_FILIAL |E2_SALDO ' ;
.OR. ( (cSX3Tmp)->X3_BROWSE == 'S' .AND. X3USO( (cSX3Tmp)->X3_USADO) .AND. (cSX3Tmp)->X3_CONTEXT != 'V' ) ) ;
.AND. cNivel >= (cSX3Tmp)->X3_NIVEL
aAdd( aCampCnt, aStruTit[nI][1] )
EndIf
Next
EndIf
bindo
Dezembro 19, 2019, 12:49am
8
terá que enganar o codeanalisys criando executando uma MARCRO no campo (SX3TRB->&('X3_ARQUIVO')) , existe função que substitui todo o trecho abaixo, mas não testei ainda FILLGETDADOS : https://tdn.totvs.com/display/public/PROT/FillGetDados
OpenSxs(,,,,,"SX3TRB","SX3",,.F.)
cTabela := "SZB"
nUsado:=0
aHeader:={}
aGetSD := {}
If Select("SX3TRB") > 0
dbSelectArea('SX3TRB')
SX3TRB->( dbSetOrder( 1 ) ) //ORDENA POR ALIAS
SX3TRB->( dbGoTop( ) ) If SX3TRB->( msSeek( cTabela ) )
While SX3TRB->(!Eof()) .AND. SX3TRB->&('X3_ARQUIVO')==cTabela