Árvore de páginas

Ponto de Entrada

Descrição:

Ponto de entrada criado na rotina Painel Orçamento (OFIXA018) para caso o cliente tenha algum modelo de arquivo diferente do CSV padrão da john deere consiga tratar esse arquivo e importar os itens para o orçamento normalmente.

Localização:

Atualizações / Mov. Peças / Painel Orçamento

Eventos:

if ! Empty(M->VS1_PEDREF)

MsgAlert(STR0295,STR0025)

return .f.

endif


if lAllExt

aDados := ExecBlock("OX001131", .f., .f., {cContent, cFile})

for nX := 1 to len(aDados)

if OX0010124_IncluiItemOrc(aDados[nX, 1], val(aDados[nX, 2]), @cDet)

nQtdInc += 1

else

cMessage += chr(13) + chr(10) + " " + STR0202 + " " + aDados[nX, 1] + " " +STR0351+ " " + cDet // código do item XXX não pode ser importado.

endif

next

else // importação do csv

for nX := 1 to nLines

cLine := MemoLine(cContent,, nX)

if nX == 1

loop // header do csv JD

endif

cLine := STRTRAN(cLine, '"', "")

aDados := STRTOKARR2(cLine, ",", .T.)


cDet := ""

if OX0010124_IncluiItemOrc(aDados[1], val(aDados[2]), @cDet)

nQtdInc += 1

else

cMessage += chr(13) + chr(10) + " " + STR0202 + " " + aDados[1] + " " +STR0351+ " " + cDet // código do item XXX não pode ser importado.

endif

next

endif


cMessage += chr(13) + chr(10) + cValtoChar(nQtdInc) + STR0352 // " peças incluídas do arquivo selecionado."

AVISO(STR0025, cMessage, { "Ok" }, 3)

Programa Fonte:

OFIXX001.PRW

Função:

OX0010134()

Parâmetros:
NomeTipoDescrição
cConteudoCaracter

Dados do Arquivo

cFileCaracter

Arquivo

Retorno:

Array contendo dados básicos para importação dos itens.

Exemplo:

Include totvs.ch

User Function OX001131()

local cConteudo := paramixb[1]

local cFile := paramixb[2]


// com o arquivo e o conteúdo você pode tratar como quiser

// retornando os dados como um array de arrays com código do item B1_COD e quantidade

// conforme abaixo

return {;

{"COD_ITEM1", "4"},;

{"COD_ITEM2", "5"},;

{"COD_ITEM3", "1"},;

{"COD_ITEM4", "2"};

}