×
Linguagem de Programação ADVPL
Perguntas Dúvida com código
- pcassio23
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 71
- Obrigados Recebidos: 0
11 anos 6 meses atrás #13471
por pcassio23
Dúvida com código foi criado por pcassio23
Bom dia,
Estou desenvolvendo um programa que gera um relatório em excel. O programa está entrando em loop infinito, eu já debuguei, alterei o código e nada, será que alguém pode verificar o trecho abaixo.
A função ProcMes(_dIni, _dFim, _cCod)... é apenas uma query que retorna os dados de venda no mês corrente.
DbSelectArea("SA1")
SA1->(DbGoTop())
Do While SA1->(!EOF())
_cCod := SA1->A1_COD
a := 1
For i:=1 to 12
If i=1
_cVend := ProcMes(_dIni, _dFim, _cCod)
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "001" + ";" + TMP->A1_COD+ ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "001" + ";" + _cLin + ";" + "001" + ";" + "C" + ";" + "C" + ";" + ";" +_cSheet + ";" )
aAdd( _aRet, "FormataTipoCelula" + ";" + _cLin + ";" + "01" + ";" + "Personalizado" + ";" + "000000" + ";" + "S" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "002" + ";" + TMP->A1_LOJA+ ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "002" + ";" + _cLin + ";" + "002" + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
aAdd( _aRet, "FormataTipoCelula" + ";" + _cLin + ";" + "002" + ";" + "Personalizado" + ";" + "00" + ";" + "S" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "003" + ";" + TMP->A1_NOME + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "003" + ";" + _cLin + ";" + "003" + ";" + "C" + ";" + "E" + ";" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + _cCol + ";" + STR(&("TMP->"+Alltrim(&("_cVend")))) + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + _cCol + ";" + _cLin + ";" + _cCol + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
Else
_cNdata := MonthSub(_dIni, a)
_dIni2 := FirstDate(_cNdata)
_dFim2 := LastDate(_cNdata)
_cVend := ProcMes(_dIni2, _dFim2, _cCod)
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + _cCol + ";" + STR(&("TMP->"+Alltrim(&("_cVend")))) + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + _cCol + ";" + _cLin + ";" + _cCol + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
a++
EndIf
aAdd( _aRet, "FormataSelecao" + ";" + _cLin + ";" + "001" + ";" + _cLin + ";" + "016" + ";" + _cSheet + ";" + "Calibri" + ";" + "11" + ";" + "N" + ";" )
_cLin = soma1(_cLin)
_cCol = soma1(_cCol)
next i
SA1->( DbSkip() )
EndDo
Estou desenvolvendo um programa que gera um relatório em excel. O programa está entrando em loop infinito, eu já debuguei, alterei o código e nada, será que alguém pode verificar o trecho abaixo.
A função ProcMes(_dIni, _dFim, _cCod)... é apenas uma query que retorna os dados de venda no mês corrente.
DbSelectArea("SA1")
SA1->(DbGoTop())
Do While SA1->(!EOF())
_cCod := SA1->A1_COD
a := 1
For i:=1 to 12
If i=1
_cVend := ProcMes(_dIni, _dFim, _cCod)
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "001" + ";" + TMP->A1_COD+ ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "001" + ";" + _cLin + ";" + "001" + ";" + "C" + ";" + "C" + ";" + ";" +_cSheet + ";" )
aAdd( _aRet, "FormataTipoCelula" + ";" + _cLin + ";" + "01" + ";" + "Personalizado" + ";" + "000000" + ";" + "S" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "002" + ";" + TMP->A1_LOJA+ ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "002" + ";" + _cLin + ";" + "002" + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
aAdd( _aRet, "FormataTipoCelula" + ";" + _cLin + ";" + "002" + ";" + "Personalizado" + ";" + "00" + ";" + "S" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "003" + ";" + TMP->A1_NOME + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "003" + ";" + _cLin + ";" + "003" + ";" + "C" + ";" + "E" + ";" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + _cCol + ";" + STR(&("TMP->"+Alltrim(&("_cVend")))) + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + _cCol + ";" + _cLin + ";" + _cCol + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
Else
_cNdata := MonthSub(_dIni, a)
_dIni2 := FirstDate(_cNdata)
_dFim2 := LastDate(_cNdata)
_cVend := ProcMes(_dIni2, _dFim2, _cCod)
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + _cCol + ";" + STR(&("TMP->"+Alltrim(&("_cVend")))) + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + _cCol + ";" + _cLin + ";" + _cCol + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
a++
EndIf
aAdd( _aRet, "FormataSelecao" + ";" + _cLin + ";" + "001" + ";" + _cLin + ";" + "016" + ";" + _cSheet + ";" + "Calibri" + ";" + "11" + ";" + "N" + ";" )
_cLin = soma1(_cLin)
_cCol = soma1(_cCol)
next i
SA1->( DbSkip() )
EndDo
Por favor Acessar ou Registrar para participar da conversa.
- mbrigagao
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 350
- Obrigados Recebidos: 1
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 6 meses atrás #13512
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Dúvida com código
DbSelectArea("SA1")
SA1->(DbGoTop())
Do While SA1->(!EOF())
nReg := SA1->(Recno())
_cCod := SA1->A1_COD
a := 1
For i:=1 to 12
If i=1
_cVend := ProcMes(_dIni, _dFim, _cCod)
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "001" + ";" + TMP->A1_COD+ ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "001" + ";" + _cLin + ";" + "001" + ";" + "C" + ";" + "C" + ";" + ";" +_cSheet + ";" )
aAdd( _aRet, "FormataTipoCelula" + ";" + _cLin + ";" + "01" + ";" + "Personalizado" + ";" + "000000" + ";" + "S" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "002" + ";" + TMP->A1_LOJA+ ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "002" + ";" + _cLin + ";" + "002" + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
aAdd( _aRet, "FormataTipoCelula" + ";" + _cLin + ";" + "002" + ";" + "Personalizado" + ";" + "00" + ";" + "S" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "003" + ";" + TMP->A1_NOME + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "003" + ";" + _cLin + ";" + "003" + ";" + "C" + ";" + "E" + ";" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + _cCol + ";" + STR(&("TMP->"+Alltrim(&("_cVend")))) + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + _cCol + ";" + _cLin + ";" + _cCol + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
Else
_cNdata := MonthSub(_dIni, a)
_dIni2 := FirstDate(_cNdata)
_dFim2 := LastDate(_cNdata)
_cVend := ProcMes(_dIni2, _dFim2, _cCod)
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + _cCol + ";" + STR(&("TMP->"+Alltrim(&("_cVend")))) + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + _cCol + ";" + _cLin + ";" + _cCol + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
a++
EndIf
aAdd( _aRet, "FormataSelecao" + ";" + _cLin + ";" + "001" + ";" + _cLin + ";" + "016" + ";" + _cSheet + ";" + "Calibri" + ";" + "11" + ";" + "N" + ";" )
_cLin = soma1(_cLin)
_cCol = soma1(_cCol)
next i
SA1->(dbGoTo(nReg))
SA1->( DbSkip() )
EndDo
SA1->(DbGoTop())
Do While SA1->(!EOF())
nReg := SA1->(Recno())
_cCod := SA1->A1_COD
a := 1
For i:=1 to 12
If i=1
_cVend := ProcMes(_dIni, _dFim, _cCod)
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "001" + ";" + TMP->A1_COD+ ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "001" + ";" + _cLin + ";" + "001" + ";" + "C" + ";" + "C" + ";" + ";" +_cSheet + ";" )
aAdd( _aRet, "FormataTipoCelula" + ";" + _cLin + ";" + "01" + ";" + "Personalizado" + ";" + "000000" + ";" + "S" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "002" + ";" + TMP->A1_LOJA+ ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "002" + ";" + _cLin + ";" + "002" + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
aAdd( _aRet, "FormataTipoCelula" + ";" + _cLin + ";" + "002" + ";" + "Personalizado" + ";" + "00" + ";" + "S" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + "003" + ";" + TMP->A1_NOME + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + "003" + ";" + _cLin + ";" + "003" + ";" + "C" + ";" + "E" + ";" + ";" + _cSheet + ";" )
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + _cCol + ";" + STR(&("TMP->"+Alltrim(&("_cVend")))) + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + _cCol + ";" + _cLin + ";" + _cCol + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
Else
_cNdata := MonthSub(_dIni, a)
_dIni2 := FirstDate(_cNdata)
_dFim2 := LastDate(_cNdata)
_cVend := ProcMes(_dIni2, _dFim2, _cCod)
aAdd( _aRet, "Escreve" + ";" + _cLin + ";" + _cCol + ";" + STR(&("TMP->"+Alltrim(&("_cVend")))) + ";" + _cSheet + ";" )
aAdd( _aRet, "AlinhaCelulas" + ";" + _cLin + ";" + _cCol + ";" + _cLin + ";" + _cCol + ";" + "C" + ";" + "C" + ";" + ";" + _cSheet + ";" )
a++
EndIf
aAdd( _aRet, "FormataSelecao" + ";" + _cLin + ";" + "001" + ";" + _cLin + ";" + "016" + ";" + _cSheet + ";" + "Calibri" + ";" + "11" + ";" + "N" + ";" )
_cLin = soma1(_cLin)
_cCol = soma1(_cCol)
next i
SA1->(dbGoTo(nReg))
SA1->( DbSkip() )
EndDo
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.082 segundos