@senior-gestao-empresarial/erpx-components 4.11.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',
@@ -32571,8 +32555,8 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32571
32555
  this.selectedConta = contaValue;
32572
32556
  this.contaDialogFormGroup = this.fb.group({
32573
32557
  contaFinanceira: [{ value: contaValue, disabled: this.editingContaIndex != null }, Validators.required],
32574
- percentual: [{ value: percentualValue, disabled: false }, Validators.required],
32575
- valor: [{ value: valorValue, disabled: false }, [Validators.required, Validators.max(this.valorBase)]]
32558
+ percentual: [{ value: percentualValue, disabled: false }, [Validators.required, Validators.max(remainingPct)]],
32559
+ valor: [{ value: valorValue, disabled: false }, [Validators.required, Validators.max(remainingValor)]]
32576
32560
  });
32577
32561
  this.contaDialogFormGroup.get('contaFinanceira').valueChanges
32578
32562
  .pipe(takeUntil(this.ngUnsubscribe))
@@ -32582,7 +32566,7 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32582
32566
  this.displayContaDialog = true;
32583
32567
  }
32584
32568
  onSaveContaDialog() {
32585
- var _a, _b, _c;
32569
+ var _a, _b, _c, _d, _e;
32586
32570
  if (this.contaDialogFormGroup.invalid) {
32587
32571
  return;
32588
32572
  }
@@ -32607,6 +32591,12 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32607
32591
  const conta = this.contasDataSource[this.editingContaIndex];
32608
32592
  conta.percentual = percentual;
32609
32593
  conta.valorRateadoConta = valor;
32594
+ // Recalcula os valores dos CCs proporcionalmente ao novo valor da conta,
32595
+ // mantendo os percentuais intactos.
32596
+ if ((_d = conta.rateiosCCusto) === null || _d === void 0 ? void 0 : _d.length) {
32597
+ const currencyScale = (_e = this.config.currencyScale) !== null && _e !== void 0 ? _e : 2;
32598
+ conta.rateiosCCusto = conta.rateiosCCusto.map(cc => (Object.assign(Object.assign({}, cc), { valor: +((cc.percentual / 100) * valor).toFixed(currencyScale) })));
32599
+ }
32610
32600
  this.contasDataSource = [...this.contasDataSource];
32611
32601
  }
32612
32602
  else {
@@ -32768,6 +32758,9 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32768
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;
32769
32759
  }
32770
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);
32771
32764
  }
32772
32765
  carregarRateio() {
32773
32766
  this.loading = true;
@@ -32781,6 +32774,8 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32781
32774
  this.empresaId = output.e070fil.e070emp.id;
32782
32775
  }
32783
32776
  this.gridColumns = this.getGridColumns();
32777
+ // Emite o estado de validade do rateio carregado (sem marcar como "sujo").
32778
+ this.emitChange(false);
32784
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 }); });
32785
32780
  }
32786
32781
  popularComRateios(rateios) {
@@ -32814,8 +32809,8 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32814
32809
  var _a, _b;
32815
32810
  const ccs = conta.rateiosCCusto || [];
32816
32811
  if (ccs.length === 0) {
32817
- // Sem centro de custo é válido quando o critério não exige rateio por C. Custos.
32818
- return !this.requiresCentroCusto;
32812
+ // Centro de custo é sempre obrigatório: conta sem nenhum CC nunca é completa.
32813
+ return false;
32819
32814
  }
32820
32815
  const somaPct = ccs.reduce((acc, cc) => acc + (cc.percentual || 0), 0);
32821
32816
  const somaValor = ccs.reduce((acc, cc) => acc + (cc.valor || 0), 0);
@@ -32930,14 +32925,14 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32930
32925
  }
32931
32926
  getGridColumns() {
32932
32927
  return [
32933
- { field: 'contaFinanceira', header: this.translate.instant('erpx.rateio_editor.conta_financeira') },
32934
- { field: 'percentual', header: this.translate.instant('erpx.rateio_editor.percentual') },
32935
- { 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' }
32936
32931
  ];
32937
32932
  }
32938
- emitChange() {
32933
+ emitChange(isDirty = true) {
32939
32934
  this.change.emit({
32940
- isDirty: true,
32935
+ isDirty,
32941
32936
  isValid: this.isDistribuicaoCompleta(),
32942
32937
  rateios: this.contasDataSource
32943
32938
  });
@@ -32945,8 +32940,6 @@ let ErpRateioEditorComponent = ErpRateioEditorComponent_1 = class ErpRateioEdito
32945
32940
  };
32946
32941
  /** Valor de anaSin que indica registro sintético (não analítico). */
32947
32942
  ErpRateioEditorComponent.ANA_SIN_SINTETICO = 'VS';
32948
- /** Critério de rateio que não distribui por centro de custo (Nenhum). */
32949
- ErpRateioEditorComponent.CRITERIO_SEM_CENTRO_CUSTO = 'V5';
32950
32943
  ErpRateioEditorComponent.ctorParameters = () => [
32951
32944
  { type: FormBuilder },
32952
32945
  { type: ErpRateioEditorService },
@@ -33030,7 +33023,7 @@ __decorate([
33030
33023
  ErpRateioEditorComponent = ErpRateioEditorComponent_1 = __decorate([
33031
33024
  Component({
33032
33025
  selector: 'erp-rateio-editor',
33033
- 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",
33034
33027
  styles: [":host ::ng-deep .rateio-cc-toolbar .s-button-text{overflow:visible;-ms-flex-pack:start;justify-content:flex-start}"]
33035
33028
  })
33036
33029
  ], ErpRateioEditorComponent);
@@ -33129,6 +33122,7 @@ const fallback = {
33129
33122
  "erpx.rateio_editor.remover_conta": "Remover conta",
33130
33123
  "erpx.rateio_editor.adicionar_centro_custo": "Adicionar centro de custo",
33131
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.",
33132
33126
  "erpx.rateio_editor.sugerir_rateio": "Sugerir rateio",
33133
33127
  "erpx.rateio_editor.salvar": "Salvar",
33134
33128
  "erpx.rateio_editor.cancelar": "Cancelar",
@@ -33141,7 +33135,32 @@ const fallback = {
33141
33135
  "erpx.rateio_editor.erro_salvar": "Erro ao salvar rateio",
33142
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.",
33143
33137
  "erpx.rateio_editor.erro_sugerir": "Erro ao sugerir rateio",
33144
- "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."
33145
33164
  };
33146
33165
 
33147
33166
  /**