× Linguagem de Programação ADVPL

Perguntas Problemas com o fonte

Mais
10 anos 9 meses atrás #20960 por VictorBDias
Pessoal estou desenvolvendo um programinha que faz a leira de um arquivo .txt, e compara com a base de dados se as informações estao ok segue o fonte:


User Function HYD130()

Private _cFile := ""

_cFile := cGetFile( "Texto (*.TXT) |*.TXT|","Selecione um arquivo ",0,"C:\",.F.,GETF_LOCALHARD+GETF_NETWORKDRIVE)

If !File(_cFile)
Aviso( "Arquivo em Branco/Invalido", "Arquivo em Branco/Inválido! Verifique!", {"Ok"} )
Return(.F.)
EndIf

If MsgYesNo("Deseja Importar registros do arquivo " +_cFile,"Importar Registro")
MsgRun( "Importando registros, aguarde...","Cadastro de Teste", {|| ImportProd(_cFile)})
Else
MsgInfo("Cancelado operação!","Atenção")
Return(.F.)
EndIf

Return(.T.)


Static Function ImportProd(_cFile)


Local cBuffer := ""
Local cNumero := ""
Local cDap := ""
Local nControl := 1
aDados := {}

_HoraI:= Time()

FT_FUSE(_cFile)
FT_FGOTOP()

nLinha := 0
While !FT_FEOF()
aLin:={}
nLinha++


cBuffer := FT_FREADLN()


For _x:= 1 to len(cBuffer)
If Substr(cBuffer,_x,1) == ";"
aAdd(aLin,Substr(cBuffer,1,_x-1))
cBuffer:=AllTrim(Substr(cBuffer,_x+1))
_x:=0
Endif
Next _X

If !Empty(cBuffer)
aAdd(aLin,cBuffer)
Endif

If nControl <> 1

DbSelectArea("SW2")
DbSetOrder(1)
]if DbSeek(xFilial("SW2")+Padr(aLin[2],TamSX3("W2_PO_NUM")[1]))

DbSelectArea("SW3")
DbSetOrder(8)
if DbSeek(xFilial("SW3")+Padr(aLin[2],TamSX3("W3_PO_NUM")[1])+Padr(aLin[3],TamSX3("W3_POSICAO")[1]))
cData := Alltrim(strtran(aLin[14],".","/"))
dData := ctod(cData)

if !val(aLin[6]) == Alltrim(SW3->W3_COD_I)
AADD(aLin,"")
AADD(aLin,"Codigo na ordem confirmation:")
elseif !val(aLin[8]) == Alltrim(SW3->W3_QTDE)
AADD(aLin,"")
AADD(aLin,"Quantidade na ordem confirmation:")
elseif !val(aLin[9]) == Alltrim(SW3->W3_PRECO)
AADD(aLin,"")
AADD(aLin,"Preço na ordem confirmation:")
elseif !dData == SW3->W3_DTENTR
AADD(aLin,"")
AADD(aLin,"Data de Entrega na ordem confirmation:")
elseif Alltrim(aLin[10]) == Alltrim(SW2->W2_MOEDA)
AADD(aLin,"")
AADD(aLin,"Moeda na ordem confirmation:")
else
AADD(aLin,"OK")
AADD(aLin,"")
endif
else
AADD(aLin,"P.O "+aLin[2]+" - Item "+aLin[3]+"Não encontrados.")
endif
else
AADD(aLin,"P.O "+aLin[2]+" Não encontrado.")
endif

else
aAdd(aLin,"Resultado")
aAdd(aLin,"Observação")
endif

aAdd(aDados,aLin)

nControl++
FT_FSKIP()

EndDo

FT_FUSE()


DlgtoExcel({{"ARRAY",'',{},aDados}})

return

alguém pode me ajudar? Pois ele não sai do if da coluna que utilizam a tabela SW2

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #20966 por lalberto
Respondido por lalberto no tópico Problemas com o fonte
Não sai do IF ? Não entendi, não sai ou não entra no if ?

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.119 segundos
Joomla templates by a4joomla