Oi,
Estou com um problema ao alterar vários registros pelo thf sync ao mesmo tempo. Os registros são salvos corretamente no storage, porém para alguns dos registros não é enviado a requisição (PUT) para o servidor.
Estou utilizando o versão thf-sync abaixo:
"@totvs/thf-sync": "^1.7.0",
Definição do schema do registro alterado:
this.baleSchema = {
name: "Bale",
fields: ["recno", "branchCode", "crop", "code", "barCode", "case", "pack",
"commercialClassification", "visualClassification", "status"],
idField: "recno",
getUrlApi: "UBAW08/bales",
diffUrlApi: "UBAW08/bales/diff",
pageSize: 50,
deletedField: "deleted"
};
Abaixo é o looping para realizar a alteração dos registros (O teste que realizei tinha 32 registros no array this.bales:
for (const bale of this.bales) {
bale.visualClassification = "11-2";
bale.commercialClassification = "11-2";
await this.baleService.save(bale).catch(
(err) => {
bOk = false;
}
);
if (!bOk) {
break;
}
}
O método save() utilizado acima:
save(bale): Promise<any> {
return new Promise<any>((resolve, reject) => {
this.getBaleModel().save(bale).then(
(data) => {
console.log("Salvou com sucesso: ", data);
resolve(data);
}
).catch(
(err) => {
console.log("Erro ao salvar o fardo: ", err);
reject(err);
}
);
});
}
Francisco, ele chega a fazer as requisições HTTP para todos os registros alterados? Pode verificar isso na aba Network do developer tools do Chrome
— Nelson 17 de Jul de 2018Opa Nelson, o sync faz as requisições para quase todos os registros, porém, não sei o porque, ele não faz a requisição para alguns.
— Francisco Kennedy Nunes Pinheiro 17 de Jul de 2018Esses que ele não fez, o valor dos campos visualClassification e commercialClassification foram realmente alterados?
— Nelson 17 de Jul de 2018