@senior-gestao-empresarial/erpx-components 4.12.0 → 4.12.1-develop-774d30bd

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,7 @@ export var fallback = {
13
13
  "erpx.rateio_editor.remover_conta": "Remover conta",
14
14
  "erpx.rateio_editor.adicionar_centro_custo": "Adicionar centro de custo",
15
15
  "erpx.rateio_editor.remover_centro_custo": "Remover centro de custo",
16
+ "erpx.rateio_editor.nenhum_centro_custo_selecionado": "Selecione ao menos um centro de custo para remover.",
16
17
  "erpx.rateio_editor.sugerir_rateio": "Sugerir rateio",
17
18
  "erpx.rateio_editor.salvar": "Salvar",
18
19
  "erpx.rateio_editor.cancelar": "Cancelar",
@@ -25,6 +26,31 @@ export var fallback = {
25
26
  "erpx.rateio_editor.erro_salvar": "Erro ao salvar rateio",
26
27
  "erpx.rateio_editor.erro_contexto_incompleto": "Não foi possível salvar: o contexto do rateio (filial e critério) não foi informado.",
27
28
  "erpx.rateio_editor.erro_sugerir": "Erro ao sugerir rateio",
28
- "erpx.rateio_editor.erro_carregar": "Erro ao carregar rateio"
29
+ "erpx.rateio_editor.erro_carregar": "Erro ao carregar rateio",
30
+ "erpx.rateio_editor.lista_rateios": "Rateios",
31
+ "erpx.rateio_editor.sem_rateios_titulo": "Nenhum rateio cadastrado",
32
+ "erpx.rateio_editor.sem_rateios_descricao": "Adicione contas financeiras ou utilize a sugestão automática",
33
+ "erpx.rateio_editor.erro_obrigatorio": "Campo obrigatório",
34
+ "erpx.rateio_editor.acoes": "Ações",
35
+ "erpx.rateio_editor.percentual": "Percentual",
36
+ "erpx.rateio_editor.conta_financeira": "Conta financeira",
37
+ "erpx.rateio_editor.valor": "Valor",
38
+ "erpx.rateio_editor.centros_custo": "Centros de custo",
39
+ "erpx.rateio_editor.centros_custo_da_conta": "Centros de custo da conta",
40
+ "erpx.rateio_editor.centro_custo": "Centro de custo",
41
+ "erpx.rateio_editor.sem_centros_custo": "Nenhum centro de custo vinculado",
42
+ "erpx.rateio_editor.editar": "Editar",
43
+ "erpx.rateio_editor.excluir": "Excluir",
44
+ "erpx.rateio_editor.sem_contexto_para_sugerir": "Filial e critério de rateio são obrigatórios para sugerir.",
45
+ "erpx.rateio_editor.conta_duplicada": "Esta conta financeira já foi adicionada.",
46
+ "erpx.rateio_editor.centro_custo_duplicado": "Este centro de custo já foi adicionado a esta conta.",
47
+ "erpx.rateio_editor.erro_conta_sintetica": "A conta financeira selecionada é sintética. Selecione uma conta analítica.",
48
+ "erpx.rateio_editor.erro_centro_custo_invalido": "O centro de custo selecionado é inválido (sintético ou não aceita rateio).",
49
+ "erpx.rateio_editor.erro_distribuicao_incompleta": "A distribuição do rateio está incompleta. Os percentuais e valores devem ser totalmente distribuídos.",
50
+ "erpx.rateio_editor.erro_centro_custo_obrigatorio": "Cada conta financeira deve ter ao menos um centro de custo vinculado.",
51
+ "erpx.rateio_editor.erro_valor_maximo_conta": "O percentual ou valor informado excede o restante disponível.",
52
+ "erpx.rateio_editor.erro_valor_maximo_centro_custo": "O valor não pode ser maior que o valor rateado da conta.",
53
+ "erpx.rateio_editor.erro_maximo_centro_custo": "O valor ou percentual informado excede o restante disponível para esta conta.",
54
+ "erpx.rateio_editor.erro_valor_conta_inferior_soma_cc": "O valor informado é menor que a soma dos centros de custo já distribuídos nesta conta. Ajuste os centros de custo antes de reduzir o valor da conta."
29
55
  };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2suanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsb2NhbGUvZmFsbGJhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQU0sUUFBUSxHQUFHO0lBQ3BCLG1FQUFtRSxFQUFFLHNEQUFzRDtJQUMzSCxpRUFBaUUsRUFBRSx3Q0FBd0M7SUFDM0csZ0VBQWdFLEVBQUUsMENBQTBDO0lBQzVHLHlEQUF5RCxFQUFFLGdCQUFnQjtJQUMzRSw2REFBNkQsRUFBRSxvQkFBb0I7SUFDbkYsc0VBQXNFLEVBQUUsNkJBQTZCO0lBQ3JHLDJCQUEyQixFQUFFLGtCQUFrQjtJQUMvQywrQkFBK0IsRUFBRSxZQUFZO0lBQzdDLG1DQUFtQyxFQUFFLGdCQUFnQjtJQUNyRCx3Q0FBd0MsRUFBRSxxQkFBcUI7SUFDL0Qsb0NBQW9DLEVBQUUsNEJBQTRCO0lBQ2xFLGtDQUFrQyxFQUFFLGVBQWU7SUFDbkQsMkNBQTJDLEVBQUUsMkJBQTJCO0lBQ3hFLHlDQUF5QyxFQUFFLHlCQUF5QjtJQUNwRSxtQ0FBbUMsRUFBRSxnQkFBZ0I7SUFDckQsMkJBQTJCLEVBQUUsUUFBUTtJQUNyQyw2QkFBNkIsRUFBRSxVQUFVO0lBQ3pDLG1EQUFtRCxFQUFFLHNDQUFzQztJQUMzRiw4Q0FBOEMsRUFBRSxpREFBaUQ7SUFDakcsdUNBQXVDLEVBQUUsZ0VBQWdFO0lBQ3pHLDZDQUE2QyxFQUFFLGNBQWM7SUFDN0QsOENBQThDLEVBQUUsd0NBQXdDO0lBQ3hGLGdDQUFnQyxFQUFFLE1BQU07SUFDeEMsZ0NBQWdDLEVBQUUsdUJBQXVCO0lBQ3pELDZDQUE2QyxFQUFFLHNGQUFzRjtJQUNySSxpQ0FBaUMsRUFBRSx3QkFBd0I7SUFDM0Qsa0NBQWtDLEVBQUUseUJBQXlCO0NBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZmFsbGJhY2sgPSB7XG4gICAgXCJlcnB4LnRyaWJ1dG9zLmJhZGdlX3RpcG9fY2FsY3Vsb19pbXBvc3RvX2luZm9fc2lnbl90ZXh0X2NhbGN1bGFkb1wiOiBcIlZhbG9yIGNhbGN1bGFkbyBwZWxvIHNpc3RlbWEgY29uZm9ybWUgcmVncmFzIGZpc2NhaXNcIixcbiAgICBcImVycHgudHJpYnV0b3MuYmFkZ2VfdGlwb19jYWxjdWxvX2ltcG9zdG9faW5mb19zaWduX3RleHRfaGVyZGFkb1wiOiBcIlZhbG9yIGdlcmFkbyBwb3IgdW0gcHJvY2Vzc28gZGUgb3JpZ2VtXCIsXG4gICAgXCJlcnB4LnRyaWJ1dG9zLmJhZGdlX3RpcG9fY2FsY3Vsb19pbXBvc3RvX2luZm9fc2lnbl90ZXh0X21hbnVhbFwiOiBcIlZhbG9yIGluZm9ybWFkbyBtYW51YWxtZW50ZSBwZWxvIHVzdcOhcmlvXCIsXG4gICAgXCJlcnB4LnRyaWJ1dG9zLmJhZGdlX3RpcG9fY2FsY3Vsb19pbXBvc3RvX2NhbGN1bG9fbWFudWFsXCI6IFwiQ8OhbGN1bG8gbWFudWFsXCIsXG4gICAgXCJlcnB4LnRyaWJ1dG9zLmJhZGdlX3RpcG9fY2FsY3Vsb19pbXBvc3RvX2NhbGN1bG9fYXV0b21hdGljb1wiOiBcIkPDoWxjdWxvIGF1dG9tw6F0aWNvXCIsXG4gICAgXCJlcnB4LnRyaWJ1dG9zLmJhZGdlX3RpcG9fY2FsY3Vsb19pbXBvc3RvX2NhbGN1bG9fZ2VyYWRvX3ZpYV9wcm9jZXNzb1wiOiBcIkPDoWxjdWxvIGdlcmFkbyB2aWEgcHJvY2Vzc29cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci50aXR1bG9cIjogXCJFZGnDp8OjbyBkZSBSYXRlaW9cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci52YWxvcl9iYXNlXCI6IFwiVmFsb3IgYmFzZVwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnZhbG9yX3Jlc3RhbnRlXCI6IFwiVmFsb3IgcmVzdGFudGVcIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5wZXJjZW50dWFsX3Jlc3RhbnRlXCI6IFwiUGVyY2VudHVhbCByZXN0YW50ZVwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmFkaWNpb25hcl9jb250YVwiOiBcIkFkaWNpb25hciBjb250YSBmaW5hbmNlaXJhXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IucmVtb3Zlcl9jb250YVwiOiBcIlJlbW92ZXIgY29udGFcIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5hZGljaW9uYXJfY2VudHJvX2N1c3RvXCI6IFwiQWRpY2lvbmFyIGNlbnRybyBkZSBjdXN0b1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnJlbW92ZXJfY2VudHJvX2N1c3RvXCI6IFwiUmVtb3ZlciBjZW50cm8gZGUgY3VzdG9cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5zdWdlcmlyX3JhdGVpb1wiOiBcIlN1Z2VyaXIgcmF0ZWlvXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3Iuc2FsdmFyXCI6IFwiU2FsdmFyXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IuY2FuY2VsYXJcIjogXCJDYW5jZWxhclwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmVycm9yX3NvbWFfcGVyY2VudHVhbF9pbnZhbGlkYVwiOiBcIkEgc29tYSBkb3MgcGVyY2VudHVhaXMgZGV2ZSBzZXIgMTAwJVwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmVycm9yX3NvbWFfdmFsb3JfaW52YWxpZGFcIjogXCJBIHNvbWEgZG9zIHZhbG9yZXMgZGV2ZSBzZXIgaWd1YWwgYW8gdmFsb3IgYmFzZVwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnNlbV9wYXJhbWV0cml6YWNhb1wiOiBcIk7Do28gaMOhIHBhcmFtZXRyaXphw6fDo28gZGUgcmF0ZWlvIGNhZGFzdHJhZGEgcGFyYSBlc3RlIG1vdmltZW50b1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnNhbHZvX2NvbV9zdWNlc3NvX3RpdHVsb1wiOiBcIlJhdGVpbyBzYWx2b1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnNhbHZvX2NvbV9zdWNlc3NvX2RldGFsaGVcIjogXCJBIGRpc3RyaWJ1acOnw6NvIGZvaSBncmF2YWRhIGNvbSBzdWNlc3NvXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IuZXJyb190aXR1bG9cIjogXCJFcnJvXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IuZXJyb19zYWx2YXJcIjogXCJFcnJvIGFvIHNhbHZhciByYXRlaW9cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5lcnJvX2NvbnRleHRvX2luY29tcGxldG9cIjogXCJOw6NvIGZvaSBwb3Nzw612ZWwgc2FsdmFyOiBvIGNvbnRleHRvIGRvIHJhdGVpbyAoZmlsaWFsIGUgY3JpdMOpcmlvKSBuw6NvIGZvaSBpbmZvcm1hZG8uXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IuZXJyb19zdWdlcmlyXCI6IFwiRXJybyBhbyBzdWdlcmlyIHJhdGVpb1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmVycm9fY2FycmVnYXJcIjogXCJFcnJvIGFvIGNhcnJlZ2FyIHJhdGVpb1wiXG59O1xuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2suanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsb2NhbGUvZmFsbGJhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQU0sUUFBUSxHQUFHO0lBQ3BCLG1FQUFtRSxFQUFFLHNEQUFzRDtJQUMzSCxpRUFBaUUsRUFBRSx3Q0FBd0M7SUFDM0csZ0VBQWdFLEVBQUUsMENBQTBDO0lBQzVHLHlEQUF5RCxFQUFFLGdCQUFnQjtJQUMzRSw2REFBNkQsRUFBRSxvQkFBb0I7SUFDbkYsc0VBQXNFLEVBQUUsNkJBQTZCO0lBQ3JHLDJCQUEyQixFQUFFLGtCQUFrQjtJQUMvQywrQkFBK0IsRUFBRSxZQUFZO0lBQzdDLG1DQUFtQyxFQUFFLGdCQUFnQjtJQUNyRCx3Q0FBd0MsRUFBRSxxQkFBcUI7SUFDL0Qsb0NBQW9DLEVBQUUsNEJBQTRCO0lBQ2xFLGtDQUFrQyxFQUFFLGVBQWU7SUFDbkQsMkNBQTJDLEVBQUUsMkJBQTJCO0lBQ3hFLHlDQUF5QyxFQUFFLHlCQUF5QjtJQUNwRSxvREFBb0QsRUFBRSxxREFBcUQ7SUFDM0csbUNBQW1DLEVBQUUsZ0JBQWdCO0lBQ3JELDJCQUEyQixFQUFFLFFBQVE7SUFDckMsNkJBQTZCLEVBQUUsVUFBVTtJQUN6QyxtREFBbUQsRUFBRSxzQ0FBc0M7SUFDM0YsOENBQThDLEVBQUUsaURBQWlEO0lBQ2pHLHVDQUF1QyxFQUFFLGdFQUFnRTtJQUN6Ryw2Q0FBNkMsRUFBRSxjQUFjO0lBQzdELDhDQUE4QyxFQUFFLHdDQUF3QztJQUN4RixnQ0FBZ0MsRUFBRSxNQUFNO0lBQ3hDLGdDQUFnQyxFQUFFLHVCQUF1QjtJQUN6RCw2Q0FBNkMsRUFBRSxzRkFBc0Y7SUFDckksaUNBQWlDLEVBQUUsd0JBQXdCO0lBQzNELGtDQUFrQyxFQUFFLHlCQUF5QjtJQUM3RCxrQ0FBa0MsRUFBRSxTQUFTO0lBQzdDLHVDQUF1QyxFQUFFLDBCQUEwQjtJQUNuRSwwQ0FBMEMsRUFBRSw4REFBOEQ7SUFDMUcscUNBQXFDLEVBQUUsbUJBQW1CO0lBQzFELDBCQUEwQixFQUFFLE9BQU87SUFDbkMsK0JBQStCLEVBQUUsWUFBWTtJQUM3QyxxQ0FBcUMsRUFBRSxrQkFBa0I7SUFDekQsMEJBQTBCLEVBQUUsT0FBTztJQUNuQyxrQ0FBa0MsRUFBRSxrQkFBa0I7SUFDdEQsMkNBQTJDLEVBQUUsMkJBQTJCO0lBQ3hFLGlDQUFpQyxFQUFFLGlCQUFpQjtJQUNwRCxzQ0FBc0MsRUFBRSxrQ0FBa0M7SUFDMUUsMkJBQTJCLEVBQUUsUUFBUTtJQUNyQyw0QkFBNEIsRUFBRSxTQUFTO0lBQ3ZDLDhDQUE4QyxFQUFFLDREQUE0RDtJQUM1RyxvQ0FBb0MsRUFBRSwwQ0FBMEM7SUFDaEYsMkNBQTJDLEVBQUUsc0RBQXNEO0lBQ25HLHlDQUF5QyxFQUFFLDRFQUE0RTtJQUN2SCwrQ0FBK0MsRUFBRSw0RUFBNEU7SUFDN0gsaURBQWlELEVBQUUsdUdBQXVHO0lBQzFKLGtEQUFrRCxFQUFFLHVFQUF1RTtJQUMzSCw0Q0FBNEMsRUFBRSwrREFBK0Q7SUFDN0csbURBQW1ELEVBQUUsMERBQTBEO0lBQy9HLDZDQUE2QyxFQUFFLCtFQUErRTtJQUM5SCxzREFBc0QsRUFBRSxzSkFBc0o7Q0FDak4sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBmYWxsYmFjayA9IHtcbiAgICBcImVycHgudHJpYnV0b3MuYmFkZ2VfdGlwb19jYWxjdWxvX2ltcG9zdG9faW5mb19zaWduX3RleHRfY2FsY3VsYWRvXCI6IFwiVmFsb3IgY2FsY3VsYWRvIHBlbG8gc2lzdGVtYSBjb25mb3JtZSByZWdyYXMgZmlzY2Fpc1wiLFxuICAgIFwiZXJweC50cmlidXRvcy5iYWRnZV90aXBvX2NhbGN1bG9faW1wb3N0b19pbmZvX3NpZ25fdGV4dF9oZXJkYWRvXCI6IFwiVmFsb3IgZ2VyYWRvIHBvciB1bSBwcm9jZXNzbyBkZSBvcmlnZW1cIixcbiAgICBcImVycHgudHJpYnV0b3MuYmFkZ2VfdGlwb19jYWxjdWxvX2ltcG9zdG9faW5mb19zaWduX3RleHRfbWFudWFsXCI6IFwiVmFsb3IgaW5mb3JtYWRvIG1hbnVhbG1lbnRlIHBlbG8gdXN1w6FyaW9cIixcbiAgICBcImVycHgudHJpYnV0b3MuYmFkZ2VfdGlwb19jYWxjdWxvX2ltcG9zdG9fY2FsY3Vsb19tYW51YWxcIjogXCJDw6FsY3VsbyBtYW51YWxcIixcbiAgICBcImVycHgudHJpYnV0b3MuYmFkZ2VfdGlwb19jYWxjdWxvX2ltcG9zdG9fY2FsY3Vsb19hdXRvbWF0aWNvXCI6IFwiQ8OhbGN1bG8gYXV0b23DoXRpY29cIixcbiAgICBcImVycHgudHJpYnV0b3MuYmFkZ2VfdGlwb19jYWxjdWxvX2ltcG9zdG9fY2FsY3Vsb19nZXJhZG9fdmlhX3Byb2Nlc3NvXCI6IFwiQ8OhbGN1bG8gZ2VyYWRvIHZpYSBwcm9jZXNzb1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnRpdHVsb1wiOiBcIkVkacOnw6NvIGRlIFJhdGVpb1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnZhbG9yX2Jhc2VcIjogXCJWYWxvciBiYXNlXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IudmFsb3JfcmVzdGFudGVcIjogXCJWYWxvciByZXN0YW50ZVwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnBlcmNlbnR1YWxfcmVzdGFudGVcIjogXCJQZXJjZW50dWFsIHJlc3RhbnRlXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IuYWRpY2lvbmFyX2NvbnRhXCI6IFwiQWRpY2lvbmFyIGNvbnRhIGZpbmFuY2VpcmFcIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5yZW1vdmVyX2NvbnRhXCI6IFwiUmVtb3ZlciBjb250YVwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmFkaWNpb25hcl9jZW50cm9fY3VzdG9cIjogXCJBZGljaW9uYXIgY2VudHJvIGRlIGN1c3RvXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IucmVtb3Zlcl9jZW50cm9fY3VzdG9cIjogXCJSZW1vdmVyIGNlbnRybyBkZSBjdXN0b1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLm5lbmh1bV9jZW50cm9fY3VzdG9fc2VsZWNpb25hZG9cIjogXCJTZWxlY2lvbmUgYW8gbWVub3MgdW0gY2VudHJvIGRlIGN1c3RvIHBhcmEgcmVtb3Zlci5cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5zdWdlcmlyX3JhdGVpb1wiOiBcIlN1Z2VyaXIgcmF0ZWlvXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3Iuc2FsdmFyXCI6IFwiU2FsdmFyXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IuY2FuY2VsYXJcIjogXCJDYW5jZWxhclwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmVycm9yX3NvbWFfcGVyY2VudHVhbF9pbnZhbGlkYVwiOiBcIkEgc29tYSBkb3MgcGVyY2VudHVhaXMgZGV2ZSBzZXIgMTAwJVwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmVycm9yX3NvbWFfdmFsb3JfaW52YWxpZGFcIjogXCJBIHNvbWEgZG9zIHZhbG9yZXMgZGV2ZSBzZXIgaWd1YWwgYW8gdmFsb3IgYmFzZVwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnNlbV9wYXJhbWV0cml6YWNhb1wiOiBcIk7Do28gaMOhIHBhcmFtZXRyaXphw6fDo28gZGUgcmF0ZWlvIGNhZGFzdHJhZGEgcGFyYSBlc3RlIG1vdmltZW50b1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnNhbHZvX2NvbV9zdWNlc3NvX3RpdHVsb1wiOiBcIlJhdGVpbyBzYWx2b1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnNhbHZvX2NvbV9zdWNlc3NvX2RldGFsaGVcIjogXCJBIGRpc3RyaWJ1acOnw6NvIGZvaSBncmF2YWRhIGNvbSBzdWNlc3NvXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IuZXJyb190aXR1bG9cIjogXCJFcnJvXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IuZXJyb19zYWx2YXJcIjogXCJFcnJvIGFvIHNhbHZhciByYXRlaW9cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5lcnJvX2NvbnRleHRvX2luY29tcGxldG9cIjogXCJOw6NvIGZvaSBwb3Nzw612ZWwgc2FsdmFyOiBvIGNvbnRleHRvIGRvIHJhdGVpbyAoZmlsaWFsIGUgY3JpdMOpcmlvKSBuw6NvIGZvaSBpbmZvcm1hZG8uXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IuZXJyb19zdWdlcmlyXCI6IFwiRXJybyBhbyBzdWdlcmlyIHJhdGVpb1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmVycm9fY2FycmVnYXJcIjogXCJFcnJvIGFvIGNhcnJlZ2FyIHJhdGVpb1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmxpc3RhX3JhdGVpb3NcIjogXCJSYXRlaW9zXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3Iuc2VtX3JhdGVpb3NfdGl0dWxvXCI6IFwiTmVuaHVtIHJhdGVpbyBjYWRhc3RyYWRvXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3Iuc2VtX3JhdGVpb3NfZGVzY3JpY2FvXCI6IFwiQWRpY2lvbmUgY29udGFzIGZpbmFuY2VpcmFzIG91IHV0aWxpemUgYSBzdWdlc3TDo28gYXV0b23DoXRpY2FcIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5lcnJvX29icmlnYXRvcmlvXCI6IFwiQ2FtcG8gb2JyaWdhdMOzcmlvXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IuYWNvZXNcIjogXCJBw6fDtWVzXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IucGVyY2VudHVhbFwiOiBcIlBlcmNlbnR1YWxcIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5jb250YV9maW5hbmNlaXJhXCI6IFwiQ29udGEgZmluYW5jZWlyYVwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLnZhbG9yXCI6IFwiVmFsb3JcIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5jZW50cm9zX2N1c3RvXCI6IFwiQ2VudHJvcyBkZSBjdXN0b1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmNlbnRyb3NfY3VzdG9fZGFfY29udGFcIjogXCJDZW50cm9zIGRlIGN1c3RvIGRhIGNvbnRhXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3IuY2VudHJvX2N1c3RvXCI6IFwiQ2VudHJvIGRlIGN1c3RvXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3Iuc2VtX2NlbnRyb3NfY3VzdG9cIjogXCJOZW5odW0gY2VudHJvIGRlIGN1c3RvIHZpbmN1bGFkb1wiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmVkaXRhclwiOiBcIkVkaXRhclwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmV4Y2x1aXJcIjogXCJFeGNsdWlyXCIsXG4gICAgXCJlcnB4LnJhdGVpb19lZGl0b3Iuc2VtX2NvbnRleHRvX3BhcmFfc3VnZXJpclwiOiBcIkZpbGlhbCBlIGNyaXTDqXJpbyBkZSByYXRlaW8gc8OjbyBvYnJpZ2F0w7NyaW9zIHBhcmEgc3VnZXJpci5cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5jb250YV9kdXBsaWNhZGFcIjogXCJFc3RhIGNvbnRhIGZpbmFuY2VpcmEgasOhIGZvaSBhZGljaW9uYWRhLlwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmNlbnRyb19jdXN0b19kdXBsaWNhZG9cIjogXCJFc3RlIGNlbnRybyBkZSBjdXN0byBqw6EgZm9pIGFkaWNpb25hZG8gYSBlc3RhIGNvbnRhLlwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmVycm9fY29udGFfc2ludGV0aWNhXCI6IFwiQSBjb250YSBmaW5hbmNlaXJhIHNlbGVjaW9uYWRhIMOpIHNpbnTDqXRpY2EuIFNlbGVjaW9uZSB1bWEgY29udGEgYW5hbMOtdGljYS5cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5lcnJvX2NlbnRyb19jdXN0b19pbnZhbGlkb1wiOiBcIk8gY2VudHJvIGRlIGN1c3RvIHNlbGVjaW9uYWRvIMOpIGludsOhbGlkbyAoc2ludMOpdGljbyBvdSBuw6NvIGFjZWl0YSByYXRlaW8pLlwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmVycm9fZGlzdHJpYnVpY2FvX2luY29tcGxldGFcIjogXCJBIGRpc3RyaWJ1acOnw6NvIGRvIHJhdGVpbyBlc3TDoSBpbmNvbXBsZXRhLiBPcyBwZXJjZW50dWFpcyBlIHZhbG9yZXMgZGV2ZW0gc2VyIHRvdGFsbWVudGUgZGlzdHJpYnXDrWRvcy5cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5lcnJvX2NlbnRyb19jdXN0b19vYnJpZ2F0b3Jpb1wiOiBcIkNhZGEgY29udGEgZmluYW5jZWlyYSBkZXZlIHRlciBhbyBtZW5vcyB1bSBjZW50cm8gZGUgY3VzdG8gdmluY3VsYWRvLlwiLFxuICAgIFwiZXJweC5yYXRlaW9fZWRpdG9yLmVycm9fdmFsb3JfbWF4aW1vX2NvbnRhXCI6IFwiTyBwZXJjZW50dWFsIG91IHZhbG9yIGluZm9ybWFkbyBleGNlZGUgbyByZXN0YW50ZSBkaXNwb27DrXZlbC5cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5lcnJvX3ZhbG9yX21heGltb19jZW50cm9fY3VzdG9cIjogXCJPIHZhbG9yIG7Do28gcG9kZSBzZXIgbWFpb3IgcXVlIG8gdmFsb3IgcmF0ZWFkbyBkYSBjb250YS5cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5lcnJvX21heGltb19jZW50cm9fY3VzdG9cIjogXCJPIHZhbG9yIG91IHBlcmNlbnR1YWwgaW5mb3JtYWRvIGV4Y2VkZSBvIHJlc3RhbnRlIGRpc3BvbsOtdmVsIHBhcmEgZXN0YSBjb250YS5cIixcbiAgICBcImVycHgucmF0ZWlvX2VkaXRvci5lcnJvX3ZhbG9yX2NvbnRhX2luZmVyaW9yX3NvbWFfY2NcIjogXCJPIHZhbG9yIGluZm9ybWFkbyDDqSBtZW5vciBxdWUgYSBzb21hIGRvcyBjZW50cm9zIGRlIGN1c3RvIGrDoSBkaXN0cmlidcOtZG9zIG5lc3RhIGNvbnRhLiBBanVzdGUgb3MgY2VudHJvcyBkZSBjdXN0byBhbnRlcyBkZSByZWR1emlyIG8gdmFsb3IgZGEgY29udGEuXCJcbn07XG4iXX0=
@@ -32313,16 +32313,6 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32313
32313
  get contasFormArray() {
32314
32314
  return this.formGroup.get('contas');
32315
32315
  }
32316
- /**
32317
- * Indica se o critério de rateio exige distribuição por centro de custo.
32318
- * O critério 'V5' (Nenhum) não distribui por C. Custos; os demais exigem
32319
- * ao menos um centro de custo por conta financeira.
32320
- */
32321
- get requiresCentroCusto() {
32322
- var _a, _b;
32323
- const criterio = (_b = (_a = this.loadedContext) === null || _a === void 0 ? void 0 : _a.criRat) !== null && _b !== void 0 ? _b : this.criRat;
32324
- return criterio !== ErpRateioEditorComponent_1.CRITERIO_SEM_CENTRO_CUSTO;
32325
- }
32326
32316
  get valorBase() {
32327
32317
  var _a, _b;
32328
32318
  return (_b = (_a = this.loadedContext) === null || _a === void 0 ? void 0 : _a.valorBase) !== null && _b !== void 0 ? _b : 0;
@@ -32339,15 +32329,12 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32339
32329
  }
32340
32330
  /**
32341
32331
  * Valor restante a ser exibido nos cards de resumo.
32342
- * Quando o critério exige centro de custo, considera o total já distribuído
32343
- * nos CCs de todas as contas em vez do total das contas financeiras.
32344
- * Assim o card reflete a distribuição real ponta-a-ponta.
32332
+ * Considera o total distribuído nos centros de custo de todas as contas
32333
+ * (e não o total das contas financeiras), refletindo a distribuição real
32334
+ * ponta-a-ponta centro de custo é sempre obrigatório.
32345
32335
  */
32346
32336
  get valorRestanteDisplay() {
32347
32337
  var _a;
32348
- if (!this.requiresCentroCusto) {
32349
- return this.valorRestante;
32350
- }
32351
32338
  const totalCC = this.contasDataSource.reduce((acc, conta) => acc + (conta.rateiosCCusto || []).reduce((ccAcc, cc) => ccAcc + (cc.valor || 0), 0), 0);
32352
32339
  return +(this.valorBase - totalCC).toFixed((_a = this.config.currencyScale) !== null && _a !== void 0 ? _a : 2);
32353
32340
  }
@@ -32357,9 +32344,6 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32357
32344
  */
32358
32345
  get percentualRestanteDisplay() {
32359
32346
  var _a;
32360
- if (!this.requiresCentroCusto) {
32361
- return this.percentualRestante;
32362
- }
32363
32347
  if (!this.valorBase) {
32364
32348
  return 0;
32365
32349
  }
@@ -32423,7 +32407,7 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32423
32407
  if (this.effectiveReadOnly) {
32424
32408
  return;
32425
32409
  }
32426
- if (this.requiresCentroCusto && this.hasContaSemCentroCusto()) {
32410
+ if (this.hasContaSemCentroCusto()) {
32427
32411
  const message = this.translate.instant('erpx.rateio_editor.erro_centro_custo_obrigatorio');
32428
32412
  this.messageService.add({
32429
32413
  severity: 'error',
@@ -32774,6 +32758,9 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32774
32758
  this.empresaId = (_c = (_b = (_a = this.initialContext) === null || _a === void 0 ? void 0 : _a.e070fil) === null || _b === void 0 ? void 0 : _b.e070emp) === null || _c === void 0 ? void 0 : _c.id;
32775
32759
  }
32776
32760
  this.gridColumns = this.getGridColumns();
32761
+ // Emite o estado de validade já na carga inicial (sem marcar como "sujo"),
32762
+ // permitindo que o host conheça o isValid mesmo sem o usuário editar.
32763
+ this.emitChange(false);
32777
32764
  }
32778
32765
  carregarRateio() {
32779
32766
  this.loading = true;
@@ -32787,6 +32774,8 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32787
32774
  this.empresaId = output.e070fil.e070emp.id;
32788
32775
  }
32789
32776
  this.gridColumns = this.getGridColumns();
32777
+ // Emite o estado de validade do rateio carregado (sem marcar como "sujo").
32778
+ this.emitChange(false);
32790
32779
  }, (err) => { var _a; return this.error.emit({ operacao: 'load', message: ((_a = err === null || err === void 0 ? void 0 : err.error) === null || _a === void 0 ? void 0 : _a.message) || (err === null || err === void 0 ? void 0 : err.message) || this.translate.instant('erpx.rateio_editor.erro_carregar'), originalError: err }); });
32791
32780
  }
32792
32781
  popularComRateios(rateios) {
@@ -32820,8 +32809,8 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32820
32809
  var _a, _b;
32821
32810
  const ccs = conta.rateiosCCusto || [];
32822
32811
  if (ccs.length === 0) {
32823
- // Sem centro de custo é válido quando o critério não exige rateio por C. Custos.
32824
- return !this.requiresCentroCusto;
32812
+ // Centro de custo é sempre obrigatório: conta sem nenhum CC nunca é completa.
32813
+ return false;
32825
32814
  }
32826
32815
  const somaPct = ccs.reduce((acc, cc) => acc + (cc.percentual || 0), 0);
32827
32816
  const somaValor = ccs.reduce((acc, cc) => acc + (cc.valor || 0), 0);
@@ -32936,14 +32925,14 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32936
32925
  }
32937
32926
  getGridColumns() {
32938
32927
  return [
32939
- { field: 'contaFinanceira', header: this.translate.instant('erpx.rateio_editor.conta_financeira') },
32940
- { field: 'percentual', header: this.translate.instant('erpx.rateio_editor.percentual') },
32941
- { field: 'valorRateadoConta', header: this.translate.instant('erpx.rateio_editor.valor') }
32928
+ { field: 'contaFinanceira', header: 'erpx.rateio_editor.conta_financeira' },
32929
+ { field: 'percentual', header: 'erpx.rateio_editor.percentual' },
32930
+ { field: 'valorRateadoConta', header: 'erpx.rateio_editor.valor' }
32942
32931
  ];
32943
32932
  }
32944
- emitChange() {
32933
+ emitChange(isDirty = true) {
32945
32934
  this.change.emit({
32946
- isDirty: true,
32935
+ isDirty,
32947
32936
  isValid: this.isDistribuicaoCompleta(),
32948
32937
  rateios: this.contasDataSource
32949
32938
  });
@@ -32951,8 +32940,6 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32951
32940
  };
32952
32941
  /** Valor de anaSin que indica registro sintético (não analítico). */
32953
32942
  ErpRateioEditorComponent.ANA_SIN_SINTETICO = 'VS';
32954
- /** Critério de rateio que não distribui por centro de custo (Nenhum). */
32955
- ErpRateioEditorComponent.CRITERIO_SEM_CENTRO_CUSTO = 'V5';
32956
32943
  ErpRateioEditorComponent.ctorParameters = () => [
32957
32944
  { type: FormBuilder },
32958
32945
  { type: ErpRateioEditorService },
@@ -33036,7 +33023,7 @@ __decorate([
33036
33023
  ErpRateioEditorComponent = ErpRateioEditorComponent_1 = __decorate([
33037
33024
  Component({
33038
33025
  selector: 'erp-rateio-editor',
33039
- template: "<s-loading-state [loading]=\"loading\" [blockWindow]=\"true\">\n <!-- Se\u00E7\u00E3o 1: Informa\u00E7\u00F5es do movimento -->\n <div class=\"sds-section-title\" *ngIf=\"isReady\">\n {{ 'erpx.rateio_editor.titulo' | translate }}\n </div>\n\n <div class=\"ui-g custom-stats\" *ngIf=\"isReady\">\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n color=\"#0C9348\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-dollar-sign\"\n [label]=\"'erpx.rateio_editor.valor_base' | translate\"\n [value]=\"valorBase | numeric:numberFormatOptions | async\"\n ></s-stats-card>\n </div>\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n color=\"#428BCA\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-percent\"\n [label]=\"'erpx.rateio_editor.percentual_restante' | translate\"\n [value]=\"percentualRestanteDisplay + '%'\"\n ></s-stats-card>\n </div>\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n [color]=\"distribuicaoCompleta ? '#0C9348' : '#C13018'\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-dollar-sign\"\n [label]=\"'erpx.rateio_editor.valor_restante' | translate\"\n [value]=\"valorRestanteDisplay | numeric:numberFormatOptions | async\"\n ></s-stats-card>\n </div>\n </div>\n\n <!-- Se\u00E7\u00E3o 2: Tabela de rateios -->\n <div class=\"sds-section-title\" *ngIf=\"isReady\">\n {{ 'erpx.rateio_editor.lista_rateios' | translate }}\n </div>\n\n <s-empty-state\n *ngIf=\"isReady && contasDataSource?.length === 0\"\n iconClass=\"far fa-dollar-sign\"\n [title]=\"'erpx.rateio_editor.sem_rateios_titulo' | translate\"\n [description]=\"'erpx.rateio_editor.sem_rateios_descricao' | translate\"\n [showPrimaryAction]=\"!effectiveReadOnly\"\n [primaryActionLabel]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n (primaryAction)=\"openContaDialog()\"\n [showSecondaryAction]=\"!effectiveReadOnly && showSugestaoButton\"\n [secondaryActionLabel]=\"'erpx.rateio_editor.sugerir_rateio' | translate\"\n (secondaryAction)=\"onSugerir()\"\n ></s-empty-state>\n\n <div class=\"ui-g\" *ngIf=\"isReady && contasDataSource?.length > 0\">\n <div class=\"ui-g-12\" *ngIf=\"!effectiveReadOnly\">\n <s-button\n [label]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n iconClass=\"fa fa-plus\"\n (onClick)=\"openContaDialog()\"\n ></s-button>\n <s-button\n *ngIf=\"showSugestaoButton\"\n [label]=\"'erpx.rateio_editor.sugerir_rateio' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n iconClass=\"fa fa-magic\"\n (onClick)=\"onSugerir()\"\n ></s-button>\n <s-button\n [label]=\"'erpx.rateio_editor.remover_conta' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n (onClick)=\"onDeleteSelected()\"\n [disabled]=\"!selection.length\"\n ></s-button>\n </div>\n\n <div class=\"ui-g-12\">\n <p-table\n #tableRateio\n [value]=\"contasDataSource\"\n [columns]=\"gridColumns\"\n dataKey=\"idContaFinanceira\"\n [resizableColumns]=\"true\"\n [totalRecords]=\"contasDataSource.length\"\n [(selection)]=\"selection\"\n [paginator]=\"false\"\n [rows]=\"10\"\n >\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th scope=\"col\" style=\"width: 3em\"></th>\n <th scope=\"col\" class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableHeaderCheckbox *ngIf=\"!effectiveReadOnly\"></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns\" scope=\"col\" pResizableColumn>\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header }}</span>\n </div>\n </th>\n <th scope=\"col\" *ngIf=\"!effectiveReadOnly\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ 'erpx.rateio_editor.acoes' | translate }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\n <tr>\n <td style=\"width: 3em; text-align: center\">\n <a *ngIf=\"rowData.rateiosCCusto?.length || (!effectiveReadOnly && requiresCentroCusto)\" [pRowToggler]=\"rowData\" role=\"button\" tabindex=\"0\">\n <i [class]=\"expanded ? 'fa fa-minus' : 'fa fa-plus'\"></i>\n </a>\n </td>\n <td class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableCheckbox *ngIf=\"!effectiveReadOnly\" [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <td>{{ rowData.contaFinanceira || rowData.idContaFinanceira }}</td>\n <td style=\"text-align: right\">{{ rowData.percentual }}</td>\n <td style=\"text-align: right\">{{ rowData.valorRateadoConta | numeric:numberFormatOptions | async }}</td>\n <td *ngIf=\"!effectiveReadOnly\">\n <s-button\n [auxiliary]=\"true\"\n [priority]=\"ButtonPriority.Default\"\n [size]=\"ButtonSize.Small\"\n iconClass=\"fa fa-pencil\"\n [label]=\"'erpx.rateio_editor.editar' | translate\"\n (onClick)=\"openContaDialog(getContaIndex(rowData))\"\n ></s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"rowexpansion\" let-rowData let-rowIndex=\"rowIndex\">\n <tr>\n <td [attr.colspan]=\"effectiveReadOnly ? gridColumns.length + 2 : gridColumns.length + 3\">\n <div class=\"ui-g\" style=\"padding: 8px 16px\">\n <div class=\"ui-g-12 rateio-cc-toolbar\" *ngIf=\"!effectiveReadOnly\">\n <s-button\n [label]=\"'erpx.rateio_editor.adicionar_centro_custo' | translate\"\n iconClass=\"fa fa-plus\"\n (onClick)=\"openCCDialog(getContaIndex(rowData))\"\n ></s-button>\n <s-button\n [label]=\"'erpx.rateio_editor.remover_centro_custo' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n (onClick)=\"onDeleteSelectedCC(rowData)\"\n [disabled]=\"!(ccSelection[rowData.idContaFinanceira]?.length)\"\n ></s-button>\n </div>\n <div class=\"ui-g-12\">\n <p-table\n [value]=\"rowData.rateiosCCusto\"\n dataKey=\"idCentroCusto\"\n [(selection)]=\"ccSelection[rowData.idContaFinanceira]\"\n [responsive]=\"true\"\n >\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"col\" class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableHeaderCheckbox *ngIf=\"!effectiveReadOnly\"></p-tableHeaderCheckbox>\n </th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.centro_custo' | translate }}</th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.percentual' | translate }}</th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.valor' | translate }}</th>\n <th scope=\"col\" *ngIf=\"!effectiveReadOnly\">{{ 'erpx.rateio_editor.acoes' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-cc let-ccIndex=\"rowIndex\">\n <tr>\n <td class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableCheckbox *ngIf=\"!effectiveReadOnly\" [value]=\"cc\"></p-tableCheckbox>\n </td>\n <td>{{ cc.descCCusto || cc.idCentroCusto }}</td>\n <td style=\"text-align: right\">{{ cc.percentual }}</td>\n <td style=\"text-align: right\">{{ cc.valor | numeric:numberFormatOptions | async }}</td>\n <td *ngIf=\"!effectiveReadOnly\">\n <s-button\n [auxiliary]=\"true\"\n [priority]=\"ButtonPriority.Default\"\n [size]=\"ButtonSize.Small\"\n iconClass=\"fa fa-pencil\"\n [label]=\"'erpx.rateio_editor.editar' | translate\"\n (onClick)=\"openCCDialog(getContaIndex(rowData), getCCIndex(rowData, cc))\"\n ></s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"effectiveReadOnly ? 3 : 5\">\n {{ 'erpx.rateio_editor.sem_centros_custo' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <!-- Bot\u00F5es de a\u00E7\u00E3o -->\n <div *ngIf=\"isReady\" class=\"ui-g rateio-editor-actions\">\n <div class=\"ui-g-12\">\n <s-button\n *ngIf=\"!effectiveReadOnly && !isStandalone\"\n priority=\"primary\"\n iconClass=\"fa fa-check\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSalvar()\"\n ></s-button>\n </div>\n </div>\n</s-loading-state>\n\n<!-- Modal: Adicionar/Editar Conta Financeira -->\n<p-dialog\n [header]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n appendTo=\"body\"\n [modal]=\"true\"\n [(visible)]=\"displayContaDialog\"\n (onHide)=\"onHideContaDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"false\"\n styleClass=\"custom-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n [style]=\"{width: '40%'}\"\n>\n <form *ngIf=\"contaDialogFormGroup\" [formGroup]=\"contaDialogFormGroup\" (ngSubmit)=\"onSaveContaDialog()\">\n <div class=\"ui-fluid\">\n <s-dynamic-form\n [fields]=\"contaDialogFields\"\n [form]=\"contaDialogFormGroup\"\n [errorMessages]=\"{\n required: ('erpx.rateio_editor.erro_obrigatorio' | translate),\n duplicate: ('erpx.rateio_editor.conta_duplicada' | translate),\n contaSintetica: ('erpx.rateio_editor.erro_conta_sintetica' | translate),\n max: ('erpx.rateio_editor.erro_valor_maximo_conta' | translate)\n }\"\n ></s-dynamic-form>\n </div>\n </form>\n <p-footer>\n <s-button\n id=\"dialog-conta-save\"\n type=\"button\"\n priority=\"primary\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSaveContaDialog()\"\n ></s-button>\n <s-button\n id=\"dialog-conta-cancel\"\n type=\"button\"\n priority=\"secondary\"\n [label]=\"'erpx.rateio_editor.cancelar' | translate\"\n (onClick)=\"onHideContaDialog()\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<!-- Modal: Adicionar/Editar Centro de Custo -->\n<p-dialog\n [header]=\"'erpx.rateio_editor.adicionar_centro_custo' | translate\"\n appendTo=\"body\"\n [modal]=\"true\"\n [(visible)]=\"displayCCDialog\"\n (onHide)=\"onHideCCDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"false\"\n styleClass=\"custom-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n [style]=\"{width: '40%'}\"\n>\n <form *ngIf=\"ccDialogFormGroup\" [formGroup]=\"ccDialogFormGroup\" (ngSubmit)=\"onSaveCCDialog()\">\n <div class=\"ui-fluid\">\n <s-dynamic-form\n [fields]=\"ccDialogFields\"\n [form]=\"ccDialogFormGroup\"\n [errorMessages]=\"{\n required: ('erpx.rateio_editor.erro_obrigatorio' | translate),\n duplicate: ('erpx.rateio_editor.centro_custo_duplicado' | translate),\n centroCustoInvalido: ('erpx.rateio_editor.erro_centro_custo_invalido' | translate),\n max: ('erpx.rateio_editor.erro_maximo_centro_custo' | translate)\n }\"\n ></s-dynamic-form>\n </div>\n </form>\n <p-footer>\n <s-button\n id=\"dialog-cc-save\"\n type=\"button\"\n priority=\"primary\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSaveCCDialog()\"\n ></s-button>\n <s-button\n id=\"dialog-cc-cancel\"\n type=\"button\"\n priority=\"secondary\"\n [label]=\"'erpx.rateio_editor.cancelar' | translate\"\n (onClick)=\"onHideCCDialog()\"\n ></s-button>\n </p-footer>\n</p-dialog>\n",
33026
+ template: "<s-loading-state [loading]=\"loading\" [blockWindow]=\"true\">\n <!-- Se\u00E7\u00E3o 1: Informa\u00E7\u00F5es do movimento -->\n <div class=\"sds-section-title\" *ngIf=\"isReady\">\n {{ 'erpx.rateio_editor.titulo' | translate }}\n </div>\n\n <div class=\"ui-g custom-stats\" *ngIf=\"isReady\">\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n color=\"#0C9348\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-dollar-sign\"\n [label]=\"'erpx.rateio_editor.valor_base' | translate\"\n [value]=\"valorBase | numeric:numberFormatOptions | async\"\n ></s-stats-card>\n </div>\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n color=\"#428BCA\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-percent\"\n [label]=\"'erpx.rateio_editor.percentual_restante' | translate\"\n [value]=\"percentualRestanteDisplay + '%'\"\n ></s-stats-card>\n </div>\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n [color]=\"distribuicaoCompleta ? '#0C9348' : '#C13018'\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-dollar-sign\"\n [label]=\"'erpx.rateio_editor.valor_restante' | translate\"\n [value]=\"valorRestanteDisplay | numeric:numberFormatOptions | async\"\n ></s-stats-card>\n </div>\n </div>\n\n <!-- Se\u00E7\u00E3o 2: Tabela de rateios -->\n <div class=\"sds-section-title\" *ngIf=\"isReady\">\n {{ 'erpx.rateio_editor.lista_rateios' | translate }}\n </div>\n\n <s-empty-state\n *ngIf=\"isReady && contasDataSource?.length === 0\"\n iconClass=\"far fa-dollar-sign\"\n [title]=\"'erpx.rateio_editor.sem_rateios_titulo' | translate\"\n [description]=\"'erpx.rateio_editor.sem_rateios_descricao' | translate\"\n [showPrimaryAction]=\"!effectiveReadOnly\"\n [primaryActionLabel]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n (primaryAction)=\"openContaDialog()\"\n [showSecondaryAction]=\"!effectiveReadOnly && showSugestaoButton\"\n [secondaryActionLabel]=\"'erpx.rateio_editor.sugerir_rateio' | translate\"\n (secondaryAction)=\"onSugerir()\"\n ></s-empty-state>\n\n <div class=\"ui-g\" *ngIf=\"isReady && contasDataSource?.length > 0\">\n <div class=\"ui-g-12\" *ngIf=\"!effectiveReadOnly\">\n <s-button\n [label]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n iconClass=\"fa fa-plus\"\n (onClick)=\"openContaDialog()\"\n ></s-button>\n <s-button\n *ngIf=\"showSugestaoButton\"\n [label]=\"'erpx.rateio_editor.sugerir_rateio' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n iconClass=\"fa fa-magic\"\n (onClick)=\"onSugerir()\"\n ></s-button>\n <s-button\n [label]=\"'erpx.rateio_editor.remover_conta' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n (onClick)=\"onDeleteSelected()\"\n [disabled]=\"!selection.length\"\n ></s-button>\n </div>\n\n <div class=\"ui-g-12\">\n <p-table\n #tableRateio\n [value]=\"contasDataSource\"\n [columns]=\"gridColumns\"\n dataKey=\"idContaFinanceira\"\n [resizableColumns]=\"true\"\n [totalRecords]=\"contasDataSource.length\"\n [(selection)]=\"selection\"\n [paginator]=\"false\"\n [rows]=\"10\"\n >\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th scope=\"col\" style=\"width: 3em\"></th>\n <th scope=\"col\" class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableHeaderCheckbox *ngIf=\"!effectiveReadOnly\"></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns\" scope=\"col\" pResizableColumn>\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header | translate }}</span>\n </div>\n </th>\n <th scope=\"col\" *ngIf=\"!effectiveReadOnly\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ 'erpx.rateio_editor.acoes' | translate }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\n <tr>\n <td style=\"width: 3em; text-align: center\">\n <a *ngIf=\"rowData.rateiosCCusto?.length || !effectiveReadOnly\" [pRowToggler]=\"rowData\" role=\"button\" tabindex=\"0\">\n <i [class]=\"expanded ? 'fa fa-minus' : 'fa fa-plus'\"></i>\n </a>\n </td>\n <td class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableCheckbox *ngIf=\"!effectiveReadOnly\" [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <td>{{ rowData.contaFinanceira || rowData.idContaFinanceira }}</td>\n <td style=\"text-align: right\">{{ rowData.percentual }}</td>\n <td style=\"text-align: right\">{{ rowData.valorRateadoConta | numeric:numberFormatOptions | async }}</td>\n <td *ngIf=\"!effectiveReadOnly\">\n <s-button\n [auxiliary]=\"true\"\n [priority]=\"ButtonPriority.Default\"\n [size]=\"ButtonSize.Small\"\n iconClass=\"fa fa-pencil\"\n [label]=\"'erpx.rateio_editor.editar' | translate\"\n (onClick)=\"openContaDialog(getContaIndex(rowData))\"\n ></s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"rowexpansion\" let-rowData let-rowIndex=\"rowIndex\">\n <tr>\n <td [attr.colspan]=\"effectiveReadOnly ? gridColumns.length + 2 : gridColumns.length + 3\">\n <div class=\"ui-g\" style=\"padding: 8px 16px\">\n <div class=\"ui-g-12 rateio-cc-toolbar\" *ngIf=\"!effectiveReadOnly\">\n <s-button\n [label]=\"'erpx.rateio_editor.adicionar_centro_custo' | translate\"\n iconClass=\"fa fa-plus\"\n (onClick)=\"openCCDialog(getContaIndex(rowData))\"\n ></s-button>\n <s-button\n [label]=\"'erpx.rateio_editor.remover_centro_custo' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n (onClick)=\"onDeleteSelectedCC(rowData)\"\n [disabled]=\"!(ccSelection[rowData.idContaFinanceira]?.length)\"\n ></s-button>\n </div>\n <div class=\"ui-g-12\">\n <p-table\n [value]=\"rowData.rateiosCCusto\"\n dataKey=\"idCentroCusto\"\n [(selection)]=\"ccSelection[rowData.idContaFinanceira]\"\n [responsive]=\"true\"\n >\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"col\" class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableHeaderCheckbox *ngIf=\"!effectiveReadOnly\"></p-tableHeaderCheckbox>\n </th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.centro_custo' | translate }}</th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.percentual' | translate }}</th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.valor' | translate }}</th>\n <th scope=\"col\" *ngIf=\"!effectiveReadOnly\">{{ 'erpx.rateio_editor.acoes' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-cc let-ccIndex=\"rowIndex\">\n <tr>\n <td class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableCheckbox *ngIf=\"!effectiveReadOnly\" [value]=\"cc\"></p-tableCheckbox>\n </td>\n <td>{{ cc.descCCusto || cc.idCentroCusto }}</td>\n <td style=\"text-align: right\">{{ cc.percentual }}</td>\n <td style=\"text-align: right\">{{ cc.valor | numeric:numberFormatOptions | async }}</td>\n <td *ngIf=\"!effectiveReadOnly\">\n <s-button\n [auxiliary]=\"true\"\n [priority]=\"ButtonPriority.Default\"\n [size]=\"ButtonSize.Small\"\n iconClass=\"fa fa-pencil\"\n [label]=\"'erpx.rateio_editor.editar' | translate\"\n (onClick)=\"openCCDialog(getContaIndex(rowData), getCCIndex(rowData, cc))\"\n ></s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"effectiveReadOnly ? 3 : 5\">\n {{ 'erpx.rateio_editor.sem_centros_custo' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <!-- Bot\u00F5es de a\u00E7\u00E3o -->\n <div *ngIf=\"isReady\" class=\"ui-g rateio-editor-actions\">\n <div class=\"ui-g-12\">\n <s-button\n *ngIf=\"!effectiveReadOnly && !isStandalone\"\n priority=\"primary\"\n iconClass=\"fa fa-check\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSalvar()\"\n ></s-button>\n </div>\n </div>\n</s-loading-state>\n\n<!-- Modal: Adicionar/Editar Conta Financeira -->\n<p-dialog\n [header]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n appendTo=\"body\"\n [modal]=\"true\"\n [(visible)]=\"displayContaDialog\"\n (onHide)=\"onHideContaDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"false\"\n styleClass=\"custom-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n [style]=\"{width: '40%'}\"\n>\n <form *ngIf=\"contaDialogFormGroup\" [formGroup]=\"contaDialogFormGroup\" (ngSubmit)=\"onSaveContaDialog()\">\n <div class=\"ui-fluid\">\n <s-dynamic-form\n [fields]=\"contaDialogFields\"\n [form]=\"contaDialogFormGroup\"\n [errorMessages]=\"{\n required: ('erpx.rateio_editor.erro_obrigatorio' | translate),\n duplicate: ('erpx.rateio_editor.conta_duplicada' | translate),\n contaSintetica: ('erpx.rateio_editor.erro_conta_sintetica' | translate),\n max: ('erpx.rateio_editor.erro_valor_maximo_conta' | translate)\n }\"\n ></s-dynamic-form>\n </div>\n </form>\n <p-footer>\n <s-button\n id=\"dialog-conta-save\"\n type=\"button\"\n priority=\"primary\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSaveContaDialog()\"\n ></s-button>\n <s-button\n id=\"dialog-conta-cancel\"\n type=\"button\"\n priority=\"secondary\"\n [label]=\"'erpx.rateio_editor.cancelar' | translate\"\n (onClick)=\"onHideContaDialog()\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<!-- Modal: Adicionar/Editar Centro de Custo -->\n<p-dialog\n [header]=\"'erpx.rateio_editor.adicionar_centro_custo' | translate\"\n appendTo=\"body\"\n [modal]=\"true\"\n [(visible)]=\"displayCCDialog\"\n (onHide)=\"onHideCCDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"false\"\n styleClass=\"custom-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n [style]=\"{width: '40%'}\"\n>\n <form *ngIf=\"ccDialogFormGroup\" [formGroup]=\"ccDialogFormGroup\" (ngSubmit)=\"onSaveCCDialog()\">\n <div class=\"ui-fluid\">\n <s-dynamic-form\n [fields]=\"ccDialogFields\"\n [form]=\"ccDialogFormGroup\"\n [errorMessages]=\"{\n required: ('erpx.rateio_editor.erro_obrigatorio' | translate),\n duplicate: ('erpx.rateio_editor.centro_custo_duplicado' | translate),\n centroCustoInvalido: ('erpx.rateio_editor.erro_centro_custo_invalido' | translate),\n max: ('erpx.rateio_editor.erro_maximo_centro_custo' | translate)\n }\"\n ></s-dynamic-form>\n </div>\n </form>\n <p-footer>\n <s-button\n id=\"dialog-cc-save\"\n type=\"button\"\n priority=\"primary\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSaveCCDialog()\"\n ></s-button>\n <s-button\n id=\"dialog-cc-cancel\"\n type=\"button\"\n priority=\"secondary\"\n [label]=\"'erpx.rateio_editor.cancelar' | translate\"\n (onClick)=\"onHideCCDialog()\"\n ></s-button>\n </p-footer>\n</p-dialog>\n",
33040
33027
  styles: [":host ::ng-deep .rateio-cc-toolbar .s-button-text{overflow:visible;-ms-flex-pack:start;justify-content:flex-start}"]
33041
33028
  })
33042
33029
  ], ErpRateioEditorComponent);
@@ -33135,6 +33122,7 @@ const fallback = {
33135
33122
  "erpx.rateio_editor.remover_conta": "Remover conta",
33136
33123
  "erpx.rateio_editor.adicionar_centro_custo": "Adicionar centro de custo",
33137
33124
  "erpx.rateio_editor.remover_centro_custo": "Remover centro de custo",
33125
+ "erpx.rateio_editor.nenhum_centro_custo_selecionado": "Selecione ao menos um centro de custo para remover.",
33138
33126
  "erpx.rateio_editor.sugerir_rateio": "Sugerir rateio",
33139
33127
  "erpx.rateio_editor.salvar": "Salvar",
33140
33128
  "erpx.rateio_editor.cancelar": "Cancelar",
@@ -33147,7 +33135,32 @@ const fallback = {
33147
33135
  "erpx.rateio_editor.erro_salvar": "Erro ao salvar rateio",
33148
33136
  "erpx.rateio_editor.erro_contexto_incompleto": "Não foi possível salvar: o contexto do rateio (filial e critério) não foi informado.",
33149
33137
  "erpx.rateio_editor.erro_sugerir": "Erro ao sugerir rateio",
33150
- "erpx.rateio_editor.erro_carregar": "Erro ao carregar rateio"
33138
+ "erpx.rateio_editor.erro_carregar": "Erro ao carregar rateio",
33139
+ "erpx.rateio_editor.lista_rateios": "Rateios",
33140
+ "erpx.rateio_editor.sem_rateios_titulo": "Nenhum rateio cadastrado",
33141
+ "erpx.rateio_editor.sem_rateios_descricao": "Adicione contas financeiras ou utilize a sugestão automática",
33142
+ "erpx.rateio_editor.erro_obrigatorio": "Campo obrigatório",
33143
+ "erpx.rateio_editor.acoes": "Ações",
33144
+ "erpx.rateio_editor.percentual": "Percentual",
33145
+ "erpx.rateio_editor.conta_financeira": "Conta financeira",
33146
+ "erpx.rateio_editor.valor": "Valor",
33147
+ "erpx.rateio_editor.centros_custo": "Centros de custo",
33148
+ "erpx.rateio_editor.centros_custo_da_conta": "Centros de custo da conta",
33149
+ "erpx.rateio_editor.centro_custo": "Centro de custo",
33150
+ "erpx.rateio_editor.sem_centros_custo": "Nenhum centro de custo vinculado",
33151
+ "erpx.rateio_editor.editar": "Editar",
33152
+ "erpx.rateio_editor.excluir": "Excluir",
33153
+ "erpx.rateio_editor.sem_contexto_para_sugerir": "Filial e critério de rateio são obrigatórios para sugerir.",
33154
+ "erpx.rateio_editor.conta_duplicada": "Esta conta financeira já foi adicionada.",
33155
+ "erpx.rateio_editor.centro_custo_duplicado": "Este centro de custo já foi adicionado a esta conta.",
33156
+ "erpx.rateio_editor.erro_conta_sintetica": "A conta financeira selecionada é sintética. Selecione uma conta analítica.",
33157
+ "erpx.rateio_editor.erro_centro_custo_invalido": "O centro de custo selecionado é inválido (sintético ou não aceita rateio).",
33158
+ "erpx.rateio_editor.erro_distribuicao_incompleta": "A distribuição do rateio está incompleta. Os percentuais e valores devem ser totalmente distribuídos.",
33159
+ "erpx.rateio_editor.erro_centro_custo_obrigatorio": "Cada conta financeira deve ter ao menos um centro de custo vinculado.",
33160
+ "erpx.rateio_editor.erro_valor_maximo_conta": "O percentual ou valor informado excede o restante disponível.",
33161
+ "erpx.rateio_editor.erro_valor_maximo_centro_custo": "O valor não pode ser maior que o valor rateado da conta.",
33162
+ "erpx.rateio_editor.erro_maximo_centro_custo": "O valor ou percentual informado excede o restante disponível para esta conta.",
33163
+ "erpx.rateio_editor.erro_valor_conta_inferior_soma_cc": "O valor informado é menor que a soma dos centros de custo já distribuídos nesta conta. Ajuste os centros de custo antes de reduzir o valor da conta."
33151
33164
  };
33152
33165
 
33153
33166
  /**