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, total_cancelamentos: canc_tot,
// Lançamentos detalhados (JSONB — gravados no campo `dados`) // Lançamentos detalhados (JSONB — gravados no campo `dados`)
dados: JSON.stringify({ // IMPORTANTE: não usar JSON.stringify — dados deve ser objeto, não string,
cartoes, // para o Rust serializar corretamente como JSONB no Supabase.
vales, // Se full.dados existe (string de stringify anterior), parsear de volta.
despesas, dados: (() => {
sangrias, const existing = full.dados;
cancelamentos, const base = { cartoes, vales, despesas, sangrias, cancelamentos, pixcnpj, receber };
pixcnpj, const counters = {
receber,
clientes: parseInt(inp('edit-clientes') || '0'), clientes: parseInt(inp('edit-clientes') || '0'),
frango: parseInt(inp('edit-frango') || '0'), frango: parseInt(inp('edit-frango') || '0'),
vendas: p(inp('edit-vendas')), 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 // Contadores
clientes: parseInt(inp('edit-clientes') || '0'), clientes: parseInt(inp('edit-clientes') || '0'),