× Linguagem de Programação ADVPL

Perguntas Exportar dados do Protheus para Excel

Mais
11 anos 11 meses atrás #15350 por iguerreiro
Bom dia,

Sou novata com Protheus, principalmente em ADVPL.
Criamos uma customização, onde o resultado da consulta é gerado no Excel.

Porém estou com um problema.
A última coluna do array não está trazendo os dados no excel.

Alguém poderia me ajudar, desde já agradeço.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 11 meses atrás #15351 por will3698
Olha , sendo esse o problema , ficou meio vago pra tentar ajudar,
O correto seria debugar o código com um break na linha responsável por preencher a coluna, e ver se ela esta ok , enfim , é algo mais especifico.

pra que consigamos ajudar , precisamos no mínimo ver o seu código , talvez vendo somente a linha citada, ja consigamos entender o problema ..

tente nos passar mais informação.

att

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 11 meses atrás #15352 por kanaamlrr
Posta o código para podermos analisar.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 11 meses atrás - 11 anos 11 meses atrás #15359 por iguerreiro
Me desculpem..rs
Segue o código...


User Function AnaFINM001(_aHd, _aCol, _cTitle, _nTotal)

Private aHeader := {}
Private aCols := {}

Private aButtons := {}

aHeader := aClone(_aHd)
aCols := aClone(_aCol)

Define MsDialog oAnaFINM001 Title _cTitle From 9, 0 To 38, 80 //Of oMainWnd

oGetDados := MsGetDados():New(17, 05, 168, 310, 1, , , , .F., , , .F., 2000, , , , , oAnaFINM001)

Define FONT _oFont NAME "Courier New" BOLD

@ 179, 190 Say "Total:" Pixel FONT _oFont COLOR CLR_BLUE
@ 179, 250 Say Transform(_nTotal, "@E 9,999,999,999.99") Pixel FONT _oFont COLOR CLR_BLUE
@ 172, 184 To 193, 310 Of oAnaFINM001 Pixel

DlgToExcel({ {"GETDADOS", "Fluxo de Caixa", aHeader, aCols} })

Activate MsDialog oAnaFINM001 Centered On Init EnchoiceBar(oAnaFINM001, {|| oAnaFINM001:End()}, {|| oAnaFINM001:End()}, , aButtons)

Return



User Function F3SC6Pedido(_dDataIni, _dDataFin)

Local _cQuery
Local _nValItem := 0
Local _nValor := 0

Private aRotina := {{"Pesquisa", "AxPesqui", 0, 1}}
Private aHeader := {}
Private aCols := {}
Private lRefresh

_cQuery := "SELECT A1_NREDUZ, C6_LOJA, C6_NUM, C6_ITEM, C6_ENTREG, C6_QTDVEN, C6_QTDENT, C6_PRCVEN "
_cQuery += "FROM SC6010 SC6 INNER JOIN SA1010 SA1 ON SC6.C6_CLI = SA1.A1_COD AND SC6.C6_LOJA = SA1.A1_LOJA INNER JOIN SF4010 SF4 ON SC6.C6_TES = SF4.F4_CODIGO "
_cQuery += "WHERE SC6.C6_FILIAL = '" + xFilial("SC6") + "' AND SF4.F4_FILIAL = '" + xFilial("SF4") + "' "
_cQuery += "AND (SC6.C6_ENTREG >= '" + DToS(_dDataIni) + "' AND SC6.C6_ENTREG <= '" + DToS(_dDataFin) + "') "
_cQuery += "AND SF4.F4_DUPLIC = 'S' AND SC6.C6_BLOQUEI <> 'R' "
_cQuery += "AND SC6.D_E_L_E_T_ = ' ' AND SF4.D_E_L_E_T_ = ' ' "
_cQuery += "ORDER BY SC6.C6_VALOR DESC "


TCQUERY _cQuery NEW ALIAS "SC6Pedido"

SC6Pedido->(dbGoTop())

aAdd(aHeader, {"Cliente" , "A1_NREDUZ" , "@!" , 30, 0, , "", "C", "", ""})
aAdd(aHeader, {"Loja" , "C6_LOJA" , "@!" , 6, 0, , "", "C", "", ""})
aAdd(aHeader, {"Numero PV" , "C6_NUM" , "@!" , 6, 2, , "", "C", "", ""})
aAdd(aHeader, {"Item" , "C6_ITEM" , "@!" , 2, 0, , "", "C", "", ""})
aAdd(aHeader, {"Data Entrega" , "C6_ENTREG" , "@D" , 8, 0, , "", "D", "", ""})
aAdd(aHeader, {"Valor" , "C6_VALOR" , "@E 9,999,999,999.99" , 18, 0, , "", "N", "", ""})

While !SC6Pedido->(Eof())

_nValItem := (SC6Pedido->C6_QTDVEN - SC6Pedido->C6_QTDENT) * SC6Pedido->C6_PRCVEN

If _nValItem <> 0

aAdd(aCols, {SC6Pedido->A1_NREDUZ, SC6Pedido->C6_LOJA, SC6Pedido->C6_NUM, SC6Pedido->C6_ITEM, stod(SC6Pedido->C6_ENTREG), _nValItem})

_nValor += _nValItem

SC6Pedido->(dbSkip())
Else
SC6Pedido->(dbSkip())
Endif
EndDo

If Len(aCols) = 0
Alert("Não há registros a exibir!")
SC6Pedido->(dbCloseArea())
Return
EndIf

U_AnaFINM001(aHeader, aCols, "Pedidos aberto no período", _nValor)

SC6Pedido->(dbCloseArea())

Return
Ultima edição: 11 anos 11 meses atrás por iguerreiro.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 11 meses atrás #15361 por kanaamlrr
Tenta mudar a sua coluna de numérico para string.
Pode ser isso.
Coloca como C no tipo do aHeader e faz a tratativa como numérico pra fazer o cálculo, mas qnd for passar pro aCols usa um transform() ou str()

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 11 meses atrás #15374 por viniciusms
Adiciona uma coluna a mais no vetor de itens com "". Acho que isso resolve.

Por favor Acessar ou Registrar para participar da conversa.

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