Histórico da Página
Ponto de Entrada
Descrição: | Ponto de entrada criado na rotina Orc. Por Fases (OFIXA011) para caso o cliente tenha algum modelo de arquivo diferente do CSV padrão da john deere o mesmo tenha a possibilidade de consiga tratar esse arquivo e importar os itens para o orçamento sem problemasnormalmente. | |||||||||
Localização: | Atualizações / Mov. Peças / Orçamento por Fases | |||||||||
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: |
| |||||||||
Retorno: | Array contendo dados básicos para importação dos itens. |
Exemplo:
Include totvs.ch
user function 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"};,
}