PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Controle de Estoque com Transaction
Controle de Estoque com Transaction
Débuté par Adriano Boller, 20 déc. 2014 16:15 - 1 réponse
Posté le 20 décembre 2014 - 16:15
//sDirImport is string = "/mnt/sdcard/estoque/" //Usar tudo minusculo
qtdx is int = 0
erro is int = 0
OK is boolean
sDirImport is string = "C:\TEMP\"
ArqImport is string = sDirImport+"arqimpor.xml" //Usar tudo minusculo

Info("Quantidade de registros antes de importar:"+HNbRec(PRODUCT))

HTransactionStart(MyConnection1,"PRODUCT")

IF fDirectoryExist(sDirImport) = False
OK = fMakeDir(sDirImport)
IF OK = True
Info("Diretorio criado com sucesso.")
ELSE
Error("Não foi possivel criar o diretorio."+CR+ErrorInfo())
END
END


//<XML>
//<PRODUTOS>
//<barcode>7894321711263</barcode>
//<descricao>ACHOCOLOTADO TODDY ORIGINAL QUA</descricao>
//<quantidade>5</quantidade>
//</PRODUTOS>
//<PRODUTOS>
//<barcode>7898409951046</barcode>
//<descricao>FERMENTO PO QUIMICO</descricao>
//<quantidade>3</quantidade>
//</PRODUTOS>
//</XML>
//Info(ArqImport)
IF fFileExist(ArqImport) = True THEN
// Load an XML document
XmlArquivo is XMLDocument
XmlArquivo = XMLOpen(ArqImport, fromFile)
PRODUTOS is xmlNode
FOR EACH PRODUTOS OF XmlArquivo.XML on PRODUTOS
//Info(PRODUTOS.barcode)
barcode is string = PRODUTOS.barcode
Descricao is string = PRODUTOS.descricao
Quant is string = PRODUTOS.quantidade
HReadSeekFirst(PRODUCT,BarCode,barcode,hKeepFilter)
IF HFound(PRODUCT) = True THEN
PRODUCT.QtyStocks += Val(Quant)
OK = HModify(PRODUCT)
IF OK = False THEN
erro +=1
ELSE
qtdx+=1
END
ELSE
PRODUCT.BarCode = barcode
PRODUCT.ProductCaption = Descricao
PRODUCT.QtyStocks = Val(Quant)
OK = HAdd(PRODUCT)
IF OK = False THEN
erro +=1
ELSE
qtdx+=1
END
END
END
Info("Erro: "+erro,"Quantidade: "+qtdx)
IF erro > 0 THEN
HTransactionCancel() //ROLLBACK ´= CANCELAR TUDO
Info("Ocorreu erro na importacao")
ELSE
HTransactionEnd() //COMMIT = GRAVAR TUDO
Info("Importação realizada com sucesso de "+qtdx+" produtos.")
END
Info("Quantidade de registros depois de importar:"+HNbRec(PRODUCT))
ELSE
Info("Arquivo "+ArqImport+" não foi encontrado.")
END
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 30 janvier 2015 - 14:53
// Load an XML document
XmlArquivo is XMLDocument
XmlArquivo = XMLOpen(MyXMLText, fromString)
PRODUTOS is xmlNode
FOR EACH PRODUTOS OF XmlArquivo.XML on PRODUTOS
Info(PRODUTOS.barcode)
END


//sDirImport is string = "/mnt/sdcard/estoque/" //Usar tudo minusculo
sDirImport is string = "C:\TEMP\"
ArqImport is string = sDirImport+"arqimpor.xml" //Usar tudo minusculo

IF fDirectoryExist(sDirImport) = False
OK is boolean = fMakeDir(sDirImport)
IF OK = True
Info("Diretorio criado com sucesso.")
ELSE
Error("Não foi possivel criar o diretorio."+CR+ErrorInfo())
END
END