Utilizando o codeanalysis me deparei com a situação em anexo, na documentação indica o uso da função OpenSxs, mas mesmo assim é reportado o erro de acesso direto ao dicionario. Como devo proceder?
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Certo, hoje tudo funciona perfeitamente, mas estou trabalhando para a migração dos dicionários. Como poderia reescrever o código abaixo? As funções listadas no guia não retornam todas as informações dos campos.
OpenSxs(,,,,,"SX3TMP","SX3",,.F.)
DbSelectArea("SX3TMP")
DbSetOrder(1)
DbSeek("SC6")
nUsado := 0
Do While !Eof() .And. SX3TMP->X3_ARQUIVO == "SC6"
If X3Uso(SX3TMP->X3_USADO) //.And. cNivel >= SX3->X3_NIVEL //.And. SX3->X3_CONTEXT <> "V"
If (Alltrim(SX3TMP->X3_CAMPO) $ "C6_ITEM/C6_PRODUTO/C6_DESCRI/C6_LOCAL/C6_LOTECTL/C6_QTDVEN/C6_QTDENT/C6_QTDLIB/C6_TES")
_cValid := ""
Do Case
Case Alltrim(SX3TMP->X3_CAMPO) == "C6_LOTECTL"
_cValid := "U_EL_VALLOTE()"
Case Alltrim(SX3TMP->X3_CAMPO) == "C6_QTDLIB"
_cValid := "U_EL_VALLIB()"
EndCase
AADD(aHeader, { AllTrim(SX3TMP->X3_TITULO),;
SX3TMP->X3_CAMPO,;
SX3TMP->X3_PICTURE,;
SX3TMP->X3_TAMANHO,;
SX3TMP->X3_DECIMAL,;
_cValid,;
SX3TMP->X3_USADO,;
SX3TMP->X3_TIPO,;
SX3TMP->X3_ARQUIVO,;
SX3TMP->X3_CONTEXT } )
nUsado++
Endif
EndIf
DbSelectArea("SX3TMP")
DbSkip()
Enddo
Guilherme Bigois, tudo bem? Estou tentando validar os fontes no code analysis, ja enviei o projeto, porém nao mostra as inconsistencias, mostra que estao todos A, na verdade qdo clico em ISSUES nao tem nada, o que estou fazendo de errado, pode me ajudar ? Falei com a Totvs, ela recomedou perguntar aqui no Forum...skype edglausiga.
Grato.