Perguntas Erro no CodAnalyse

Mais
1 ano 3 meses atrás #33316 por Jafreal
Erro no CodAnalyse foi criado por Jafreal
Boa tarde a todos

Estou colocando alguns fontes para validar no codeanalyse, pq tenho que passar o dicionario pro branco, mas me deparei com alguns problemas, dentre eles esta o fonte abaixo.
For x := 1 to Len(aCampos)

DbSelectArea("SX3")
DbSetOrder(2)
DbGotop()

If MsSeek(aCampos[x])

If X3USO(X3_USADO)

Aadd(aCabecalho, {;
TRIM(X3_TITULO) ,; //X3Titulo()
X3_CAMPO ,; //X3_CAMPO
X3_PICTURE ,; //X3_PICTURE
X3_TAMANHO ,; //X3_TAMANHO
X3_DECIMAL ,; //X3_DECIMAL
X3_VALID ,; //X3_VALID
X3_USADO ,; //X3_USADO
X3_TIPO ,; //X3_TIPO
})/*
X3_ARQUIVO ,; //X3_F3
X3_CONTEXT ; //X3_CONTEXT*/

Endif
Endif
Next

Return

Como podem ver usava o SX3 para criar uma matriz. Pergunta alguém teria uma solução pra isso?? Pq o o codeanalyse não tem

Por favor Acessar ou Registrar para participar da conversa.

Mais
1 ano 2 meses atrás #33323 por ftvernier
Respondido por ftvernier no tópico Erro no CodAnalyse
Segue função.
@obs Tipos do nTipo:
1 = Campos para FWTemporaryTable
2 = Campos para um aHeader de um FWMarkBrowse
3 = Campos para aSeek FWMarkBrowse
4 = Campos para um aHeader de um MsNewGetDados
5 = Campos para um aHeader composto de FWBrwColumn, porém para usar em um FWFormBrowse
6 = Campos para filtro de SetFieldFilter em um FWFormBrowse
7 = Campos para definição de um FWMarkBrowse (método SetFields)
/*/

User Function X3ToArr(aArray, cCampo, nTipo, cTituloDef, cCampoDef, cBlocoDef, cAliasDef)
Local aArea := GetArea()
Local cFieldX3 := ""
Local cTipoX3 := ""
Local cTitX3 := ""
Local cPictX3 := ""
Local cCBoxX3 := ""
Local cF3X3 := ""
Local cValidX3 := ""
Local cUsadoX3 := ""
Local cRelacaoX3 := ""
Local aTamX3 := {}
Local nTamArr := 0
Local cAliasTab := ""
Default aArray := {}
Default cCampo := ""
Default nTipo := 0
Default cTituloDef := ""
Default cCampoDef := ""
Default cBlocoDef := ""
Default cAliasDef := ""

//Se tiver campo preenchido
If ! Empty(cCampo)
cFieldX3 := GetSX3Cache(cCampo, "X3_CAMPO")

//Se o campo for encontrado na SX3
If ! Empty(cFieldX3)
nTamArr := Len(aArray) + 1
cAliasTab := AliasCPO(cFieldX3)
cTipoX3 := GetSX3Cache(cFieldX3, "X3_TIPO")
aTamX3 := TamSX3(cFieldX3)
cTitX3 := Iif(Empty(cTituloDef), GetSX3Cache(cFieldX3, "X3_TITULO"), cTituloDef)
cPictX3 := PesqPict(cAliasTab, cFieldX3)
cCBoxX3 := GetSX3Cache(cFieldX3, "X3_CBOX")
cF3X3 := GetSX3Cache(cFieldX3, "X3_F3")
cValidX3 := GetSX3Cache(cFieldX3, "X3_VALID")
cUsadoX3 := GetSX3Cache(cFieldX3, "X3_USADO")
cRelacaoX3 := GetSX3Cache(cFieldX3, "X3_RELACAO")

//Para montar a Struct de uma FWTemporaryTable
If nTipo == 1
aAdd(aArray, {;
Iif(Empty(cCampoDef), cCampo, cCampoDef),;
cTipoX3,;
aTamX3[1],;
aTamX3[2];
})

//Para montar o aHeader de telas com Browse (FWMarkBrowse)
ElseIf nTipo == 2
aAdd(aArray, {;
Iif(Empty(cCampoDef), cCampo, cCampoDef),;
cTitX3,;
nTamArr,;
cPictX3,;
1,;
aTamX3[1],;
aTamX3[2],;
cCBoxX3;
})

//Para montar o aSeek em telas com Pesquisa no Browse
ElseIf nTipo == 3
aAdd(aArray, { cTitX3, ;
{ { "",;
cTipoX3,;
aTamX3[1],;
aTamX3[2],;
cTitX3,;
cPictX3;
} };
})

//Para montar o aHeader de telas com Browse (MsNewGetDados)
ElseIf nTipo == 4
aAdd(aArray, {;
cTitX3,;
Iif(Empty(cCampoDef), cCampo, cCampoDef),;
cPictX3,;
aTamX3[1],;
aTamX3[2],;
cValidX3,;
cUsadoX3,;
cTipoX3,;
cF3X3,;
cRelacaoX3,;
cCBoxX3;
})

//Para montar o aHeader de telas com FWBrwColumn (FWFormBrowse)
ElseIf nTipo == 5
aAdd(aArray, FWBrwColumn():New())
nTamArr := Len(aArray)

aArray[nTamArr]:SetType(cTipoX3)
aArray[nTamArr]:SetTitle(cTitX3)
aArray[nTamArr]:SetSize(aTamX3[1])
aArray[nTamArr]:SetPicture(cPictX3)
aArray[nTamArr]:SetDecimal(aTamX3[2])
aArray[nTamArr]:SetData(&(cBlocoDef))

//Para utilizar o método SetFieldFilter (FWFormBrowse)
ElseIf nTipo == 6
aAdd(aArray, {;
cCampo,;
cTitX3,;
cTipoX3,;
aTamX3[1],;
aTamX3[2],;
cPictX3;
})

//Para utilizar o método SetFields (FWMarkBrowse)
ElseIf nTipo == 7
aAdd(aArray, {;
cTitX3,;
&("{|| " + Iif(! Empty(cAliasDef), "(" + cAliasDef + ")->", "") + cCampo + "}"),;
cTipoX3,;
cPictX3,;
1,;
aTamX3[1],;
aTamX3[2],;
.F.,;
,;
,;
,;
,;
,;
,;
,;
1;
})
EndIf

EndIf
EndIf

RestArea(aArea)
Return

Por favor Acessar ou Registrar para participar da conversa.

Mais
1 ano 2 meses atrás #33324 por ftvernier
Respondido por ftvernier no tópico Erro no CodAnalyse
Segue função.
@obs Tipos do nTipo:
1 = Campos para FWTemporaryTable
2 = Campos para um aHeader de um FWMarkBrowse
3 = Campos para aSeek FWMarkBrowse
4 = Campos para um aHeader de um MsNewGetDados
5 = Campos para um aHeader composto de FWBrwColumn, porém para usar em um FWFormBrowse
6 = Campos para filtro de SetFieldFilter em um FWFormBrowse
7 = Campos para definição de um FWMarkBrowse (método SetFields)
/*/

User Function X3ToArr(aArray, cCampo, nTipo, cTituloDef, cCampoDef, cBlocoDef, cAliasDef)
Local aArea := GetArea()
Local cFieldX3 := ""
Local cTipoX3 := ""
Local cTitX3 := ""
Local cPictX3 := ""
Local cCBoxX3 := ""
Local cF3X3 := ""
Local cValidX3 := ""
Local cUsadoX3 := ""
Local cRelacaoX3 := ""
Local aTamX3 := {}
Local nTamArr := 0
Local cAliasTab := ""
Default aArray := {}
Default cCampo := ""
Default nTipo := 0
Default cTituloDef := ""
Default cCampoDef := ""
Default cBlocoDef := ""
Default cAliasDef := ""

//Se tiver campo preenchido
If ! Empty(cCampo)
cFieldX3 := GetSX3Cache(cCampo, "X3_CAMPO")

//Se o campo for encontrado na SX3
If ! Empty(cFieldX3)
nTamArr := Len(aArray) + 1
cAliasTab := AliasCPO(cFieldX3)
cTipoX3 := GetSX3Cache(cFieldX3, "X3_TIPO")
aTamX3 := TamSX3(cFieldX3)
cTitX3 := Iif(Empty(cTituloDef), GetSX3Cache(cFieldX3, "X3_TITULO"), cTituloDef)
cPictX3 := PesqPict(cAliasTab, cFieldX3)
cCBoxX3 := GetSX3Cache(cFieldX3, "X3_CBOX")
cF3X3 := GetSX3Cache(cFieldX3, "X3_F3")
cValidX3 := GetSX3Cache(cFieldX3, "X3_VALID")
cUsadoX3 := GetSX3Cache(cFieldX3, "X3_USADO")
cRelacaoX3 := GetSX3Cache(cFieldX3, "X3_RELACAO")

//Para montar a Struct de uma FWTemporaryTable
If nTipo == 1
aAdd(aArray, {;
Iif(Empty(cCampoDef), cCampo, cCampoDef),;
cTipoX3,;
aTamX3[1],;
aTamX3[2];
})

//Para montar o aHeader de telas com Browse (FWMarkBrowse)
ElseIf nTipo == 2
aAdd(aArray, {;
Iif(Empty(cCampoDef), cCampo, cCampoDef),;
cTitX3,;
nTamArr,;
cPictX3,;
1,;
aTamX3[1],;
aTamX3[2],;
cCBoxX3;
})

//Para montar o aSeek em telas com Pesquisa no Browse
ElseIf nTipo == 3
aAdd(aArray, { cTitX3, ;
{ { "",;
cTipoX3,;
aTamX3[1],;
aTamX3[2],;
cTitX3,;
cPictX3;
} };
})

//Para montar o aHeader de telas com Browse (MsNewGetDados)
ElseIf nTipo == 4
aAdd(aArray, {;
cTitX3,;
Iif(Empty(cCampoDef), cCampo, cCampoDef),;
cPictX3,;
aTamX3[1],;
aTamX3[2],;
cValidX3,;
cUsadoX3,;
cTipoX3,;
cF3X3,;
cRelacaoX3,;
cCBoxX3;
})

//Para montar o aHeader de telas com FWBrwColumn (FWFormBrowse)
ElseIf nTipo == 5
aAdd(aArray, FWBrwColumn():New())
nTamArr := Len(aArray)

aArray[nTamArr]:SetType(cTipoX3)
aArray[nTamArr]:SetTitle(cTitX3)
aArray[nTamArr]:SetSize(aTamX3[1])
aArray[nTamArr]:SetPicture(cPictX3)
aArray[nTamArr]:SetDecimal(aTamX3[2])
aArray[nTamArr]:SetData(&(cBlocoDef))

//Para utilizar o método SetFieldFilter (FWFormBrowse)
ElseIf nTipo == 6
aAdd(aArray, {;
cCampo,;
cTitX3,;
cTipoX3,;
aTamX3[1],;
aTamX3[2],;
cPictX3;
})

//Para utilizar o método SetFields (FWMarkBrowse)
ElseIf nTipo == 7
aAdd(aArray, {;
cTitX3,;
&("{|| " + Iif(! Empty(cAliasDef), "(" + cAliasDef + ")->", "") + cCampo + "}"),;
cTipoX3,;
cPictX3,;
1,;
aTamX3[1],;
aTamX3[2],;
.F.,;
,;
,;
,;
,;
,;
,;
,;
1;
})
EndIf

EndIf
EndIf

RestArea(aArea)
Return

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.088 segundos
Joomla templates by a4joomla