Descrição: | Ponto de entrada para que na importacao de peças seja possivel gravar certos campos com valores padrões ou valores vindos de uma interacao com usuário |
Localização: | Atualizações / Mov. Peças / Painel Orçamento |
Eventos: | Function OX0010134_ImportaOrcCSV() local lAllExt := ExistFunc("OX001131") // se tem o PE trata todas as extensões local cFile := cGetFile(iif(lAllExt, "", "*.csv|*.csv"), "Orçamentos em CSV", GETF_LOCALHARD) // se tem o PE libera todas as extensões senão só csv local cContent := memoRead(cFile) local nLines := MLCount(cContent) local nQtdInc := 0 local cMessage := STR0353 /*"Detalhes da importação: "*/ + chr(13) + chr(10) + "---" + chr(13) + chr(10) local cLine := "" local lFeito := .f. local nX, cDet if Empty(M->VS1_CLIFAT) .or. Empty(M->VS1_LOJA) MsgAlert(STR0122) return .f. endif if ! Empty(M->VS1_PEDREF) MsgAlert(STR0295,STR0025) return .f. endif lFeito := .f. aExtData := {} // retornar array com campo e valor aExtData := ExecBlock("OX001132", .f., .f., {}) if lAllExt aDados := ExecBlock("OX001131", .f., .f., {cContent, cFile}) if ! Empty(aDados) // retornar em branco segue com importacao padrão for nX := 1 to len(aDados) if OX0010124_IncluiItemOrc(aDados[nX, 1], val(aDados[nX, 2]), @cDet, aExtData) 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 lFeito := .t. endif endif if ! lFeito // 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, aExtData) 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) return .t. |
Programa Fonte: | OFIXX001.PRW |
Função: | OX0010134_ImportaOrcCSV() |
Parâmetros: | N/A |
Retorno: | Array com 2 posições, sendo a primeira o campo e a segunda o valor a ser gravado no campo. |
Exemplo:
Include totvs.ch
user function OX001132()
return {;
{"VS3_OPER", "01"} ;
}