fix: dados objeto (não string) + merge com existing dados parseado
Build Fechamento de Caixa / build (macos-14, app) (push) Has been cancelled
Build Fechamento de Caixa / build (ubuntu-22.04, deb) (push) Has been cancelled
Build Fechamento de Caixa / build (windows-2022, msi) (push) Has been cancelled

This commit is contained in:
root
2026-07-01 15:13:29 +00:00
parent 42aadcca2c
commit b1a9f94231
+16 -9
View File
@@ -3045,18 +3045,25 @@ window.salvarEdicaoModal = async function() {
total_cancelamentos: canc_tot,
// Lançamentos detalhados (JSONB — gravados no campo `dados`)
dados: JSON.stringify({
cartoes,
vales,
despesas,
sangrias,
cancelamentos,
pixcnpj,
receber,
// IMPORTANTE: não usar JSON.stringify — dados deve ser objeto, não string,
// para o Rust serializar corretamente como JSONB no Supabase.
// Se full.dados existe (string de stringify anterior), parsear de volta.
dados: (() => {
const existing = full.dados;
const base = { cartoes, vales, despesas, sangrias, cancelamentos, pixcnpj, receber };
const counters = {
clientes: parseInt(inp('edit-clientes') || '0'),
frango: parseInt(inp('edit-frango') || '0'),
vendas: p(inp('edit-vendas')),
}),
};
if (typeof existing === 'string') {
try {
const parsed = JSON.parse(existing);
return { ...parsed, ...base, ...counters };
} catch { return { ...base, ...counters }; }
}
return { ...(existing || {}), ...base, ...counters };
})(),
// Contadores
clientes: parseInt(inp('edit-clientes') || '0'),