FJFrigo · Lanzamientos › 1-Monedas (Cambio) · 21

Monedas (Cambio)

La cotización diaria de cada moneda — el cambio que usan los lanzamientos, el contable de compra y venta, el de descuento y el IFRS —, la reescritura del cambio de los lanzamientos del día, la autorización contable y la importación por planilla. Cada regla trae el mensaje exacto, cuándo se dispara, dónde verificarlo y la comparación con el sistema anterior.

Tabla: moeda_valores (clave moneda + fecha) Usada por: todo lanzamiento en moneda extranjera Programa anterior: menu21.prg · ceif: MoedaCambioGrid / MoedaCambioImportDialog

🇧🇷 Versión en portugués: validacoes-cotacao-moedas-21.html

Bloquea

No graba. statuscode 400 con la frase de abajo, que la pantalla muestra tal cual.

Aviso

Pasa, pero con un comportamiento que sorprende a quien está verificando — o solo se verifica en la pantalla.

Portugués o español

El servidor devuelve la frase del sistema anterior, y varias ya estaban en español allí. No es que falte traducción.

A

Al grabar

En el orden en que el servidor verifica
Bloquea

Campo [Moeda] em Branco !

CuándoSin moneda. Si la solicitud llega sin el campo, la frase viene con el prefijo del campo: "idMoeda: Campo [Moeda] em Branco !" — la pantalla ya lo exige.

Sistema anteriorLa misma frase (:649).

Todos
Bloquea

Campo [Data] em Branco !

CuándoSin fecha (sin el campo: "data: Campo [Data] em Branco !").

Sistema anteriorLa misma frase (:654).

Todos
Bloquea

Campo [Valor] em Branco !

CuándoEl cambio (Valor) es cero o está vacío y el grupo del operador no es de contabilidad. El mensaje dice "em branco" y también se dispara con cero. Nueva desde el 11/09/2026.

Sistema anteriorLa misma frase (:659).

PermisoTipo de grupo CON o GCO graba sin valor — la contabilidad lanza solo el cambio contable.

Todos
Aviso

(sem mensagem) — câmbio de desconto vazio recebe o próprio valor

CuándoEl cambio de descuento llega en cero o vacío: el servidor graba en él el valor de la cotización, para todo grupo. Desde el 12/09/2026 — hasta entonces era rechazado con "Campo [Cambio Desconto] em Branco !", salvo en sucursal con HOTEL en la razón social.

Sistema anteriorEl rechazo fue comentado (:674) y el llenado entró justo debajo (:680).

Todos
Bloquea

Ano da data Incorreto !

CuándoLa fecha es anterior a 2000 o posterior a 2050. Se verifica junto con el mes cerrado, en los mismos casos. Nueva desde el 11/09/2026.

Sistema anteriorEl validaData (funcoes.prg:225).

Todos
Bloquea

Período já fechado: a data precisa ser posterior a 2026-07-01.

CuándoLa fecha es igual o anterior a la U.D.F. de la sucursal. En la inclusión, siempre; en la modificación, solo fuera de Brasil y para quien no es de contabilidad (es la precedencia del .AND. sobre el .OR. en el sistema anterior, :669). Nueva desde el 11/09/2026.

Verificarparametros.udf (la U.D.F. general de la sucursal — Mantenimiento › Fecha de Cierre (U.D.F.), 421).

Sistema anterior"Essa data já esta fechada !" (validaData, :670).

PermisoEn la modificación, el tipo de grupo CON/GCO — o estar en Brasil — pasa.

Todos
Bloquea

Não é permitido pular data ! A última cotação desta moeda é de 2022-03-31.

CuándoMoneda de id 112 o mayor y la fecha nueva cae más de un día después de la última cotización de ella. Cargue los días en secuencia. Nueva desde el 11/09/2026.

VerificarLa grilla, filtrada por la moneda — la última línea es la fecha de la frase.

Sistema anterior"Não é permitido pular data !" (:689), sin la fecha.

Todos
Bloquea

Já existe valor de cambio lancado para esta data !

CuándoEn la inclusión, la fecha es la de la última cotización de la moneda — o la moneda ya tiene cotización en esa fecha. Nueva desde el 11/09/2026.

AtenciónEn central la última cotización de la moneda local está en 10/09/2029 (cargada con una fecha adelantada).

Sistema anteriorLa misma frase (:696). El sistema nuevo decía antes: "Já existe câmbio lançado para esta moeda nesta data."

Todos
Bloquea

Câmbio compra/venda contábil só se altera com a regra HABILITA_CAMPOS_VALORES_COMPRA_VENDA_MOEDA_CAMBIO (ou no grupo ADM).

CuándoEl Cambio compra contable o el Cambio venta contable llegó distinto de lo grabado (en la inclusión, distinto de cero) y el operador no tiene la regla. En la pantalla los dos campos ya nacen grises para quien no la tiene; la frase solo aparece si la solicitud llega por fuera de la pantalla. Nueva desde el 11/09/2026.

VerificarLos dos campos de la ventana de incluir/modificar.

Sistema anteriorLos dos campos deshabilitados sin la regla (:636). El sistema anterior todavía bloquea por grupo en Paraguay (fuera de IGNIS) — no portado, por decisión: vale solo la regla.

PermisoRegla HABILITA_CAMPOS_VALORES_COMPRA_VENDA_MOEDA_CAMBIO, grupo del tipo ADM (desde el 14/09/2026, menu21.prg:636), o usuario master.

Todos
B

Después de grabar — el cambio de los lanzamientos del día

La cascada del sistema anterior (atualizaLancamentos)
Aviso

Câmbio gravado nos lançamentos do dia: 37 linha(s) reescrita(s).

CuándoGrabada la cotización, el cambio de todo lanzamiento de ese día y de esa moneda con el cambio abierto se reescribe con el valor nuevo, y la columna Actualizó pasa a Sí. Corre cuando el cambio contable no cambió (en la inclusión: compra y venta en cero) y quien graba no es de contabilidad. Es en la misma transacción: o la cotización y la reescritura quedan, o nada. Nueva desde el 11/09/2026.

VerificarSon once pasadas, en este orden: compra de depósito (cambio abierto); ítems de las salidas de depósito; compra de carne (cambio abierto) y el cambio del flete de ella; venta (cambio abierto); facturación de transportista; títulos (cambio abierto); bajas de los títulos de la moneda (la diferencia cambiaria va a cero); la diferencia cambiaria de cada baja, recalculada; lanzamientos bancarios fuera de transferencia; flete de carne.

Atención"Cambio abierto" es cambio_fechado = 'F'. Un lanzamiento con cambio cerrado no se toca. En central solo la moneda local tiene cotización (valor 1), así que ahí la reescritura no cambia ningún número.

Sistema anteriorEl mismo atualizaLancamentos (:862), con la misma condición (:767).

Todos
Aviso

Cotação gravada. Os lançamentos não foram reescritos (câmbio contábil alterado, ou gravado pela contabilidade).

CuándoLa grabación modificó el cambio compra/venta contable, o el operador es del grupo CON/GCO. Es el "no hace nada, cambio contable alterado" del sistema anterior. Para reescribir después, use Actualizar lanzamientos. Nueva desde el 11/09/2026.

Sistema anteriorEl mismo desvío (:767-769).

Todos
C

Autorizar contable y Actualizar lanzamientos

Los dos botones de la grilla, sobre la línea elegida
Bloquea

Usuário não tem permissão [AUTORIZAR_CONTAB_MOEDA_CAMBIO]!

CuándoAutorizar contable o Actualizar lanzamientos sin la regla y fuera del grupo ADM. En la pantalla los dos botones quedan grises para quien no puede. Nueva desde el 11/09/2026; el grupo ADM y el nombre de la regla en la frase entraron el 14/09/2026, junto con el sistema anterior.

Sistema anteriorLa misma frase en el "Autorizar" (:460). El "Actualizar lanzamientos" es del ceif, que usa la misma regla.

PermisoRegla AUTORIZAR_CONTAB_MOEDA_CAMBIO, grupo del tipo ADM, o usuario master.

Todos
Bloquea

O câmbio precisa estar autorizado para atualizar os lançamentos.

CuándoActualizar lanzamientos en una cotización con Aut. contab. = No. Autorice primero. Nueva desde el 11/09/2026.

VerificarLa columna Aut. contab. de la grilla.

Sistema anteriorNo existe en Harbour: es el bloqueo del ceif (MoedaCambioGrid).

Todos
Bloquea

Cotação não encontrada.

CuándoLa cotización fue eliminada (o modificada) por otra persona después de que la grilla cargara. Actualice la grilla.

Todos
Aviso

Câmbio R$ — 2026-09-10 autorizado.

CuándoGraba aut_contab = 'T'. Solo activa: no hay forma de desautorizar desde la pantalla (el ceif alterna; el sistema anterior solo activa, y vale el sistema anterior). Nueva desde el 11/09/2026.

Sistema anteriorEl mismo UPDATE (:471).

Todos
D

Importar planilla

El botón "Importar" — el diálogo del ceif
Bloquea

Usuário não tem permissão [IMPORTAR_PLANILHA_PARA_INSERIR_MOEDA_CAMBIO]!

CuándoLeer o grabar la planilla sin la regla (el grupo ADM no exime: solo la regla o el master). El botón solo aparece para quien la tiene. Nueva desde el 11/09/2026.

Sistema anteriorEn Harbour el botón pide solo el permiso de incluir de la pantalla (:415); la regla es la del ceif.

PermisoRegla IMPORTAR_PLANILHA_PARA_INSERIR_MOEDA_CAMBIO, o usuario master.

Todos
Bloquea

Arquivo inválido ou vazio.

CuándoEl archivo no es una planilla que el sistema pueda leer (xls/xlsx), o no tiene ninguna línea con fecha y moneda. Las líneas sin fecha o sin moneda se saltan, como en el ceif y en el sistema anterior. Nueva desde el 11/09/2026.

VerificarDiseño del ceif: línea 1 de encabezado y, desde la línea 2, Fecha · Id moneda · Sigla · Valor · Descuento · Compra · Venta · IFR. El modelo antiguo (imp_moeda en A1, datos desde la línea 3, sin la sigla) también se acepta.

Sistema anterior"Arquivo incorreto !" (:1672).

Todos
Bloquea

Moeda 999 não cadastrada.

CuándoLa línea trae un id de moneda (o, sin id, una sigla) que no existe en el registro. Aparece en la columna Situación de la vista previa, en rojo, y el Grabar queda deshabilitado. Nueva desde el 11/09/2026.

VerificarRegistros › Monedas (12).

Todos
Bloquea

Moeda e data repetidas na planilha.

CuándoLa misma moneda aparece dos veces en la misma fecha. Deje una sola línea. Nueva desde el 11/09/2026.

Todos
Bloquea

Linha 7: Moeda 999 não cadastrada.

CuándoAl grabar, el servidor verifica todo de nuevo; si hay una línea con error, no se graba nada — la planilla entra entera o no entra. Nueva desde el 11/09/2026.

Todos
Aviso

Importação gravada: 20 nova(s), 3 substituída(s).

CuándoLa cotización que ya existía en la fecha es sustituida (con los valores cambiados); la nueva se incluye. Las dos entran autorizadas y con Actualizó = No: la importación no reescribe ningún lanzamiento — para eso, use Actualizar lanzamientos en cada cotización. Nueva desde el 11/09/2026.

AtenciónLa importación no verifica el mes cerrado ni "saltar fecha", como en el ceif y en el sistema anterior.

Sistema anteriorEl sistema anterior solo hacía INSERT (una fecha repetida hacía caer la línea); el ceif sustituye y autoriza — vale el ceif.

Todos
E

Al modificar y al eliminar

Lo que la pantalla bloquea y lo que no verifica
Aviso

(sem mensagem) — moeda e data não se trocam

CuándoEn la modificación los dos campos quedan bloqueados: son la clave de la cotización. El servidor usa los del registro abierto, sea cual sea el valor enviado.

Sistema anteriorLos dos campos deshabilitados (:627).

Todos
Aviso

(sem mensagem) — excluir apaga a cotação sem conferir uso

CuándoLa eliminación es física y no verifica si algún lanzamiento usó esa cotización — como en el sistema anterior (:796).

Todos
F

Permisos

Quién puede pasar
DóndeQuién pasaCómo conceder
cambio compra/venta contableregla HABILITA_CAMPOS_VALORES_COMPRA_VENDA_MOEDA_CAMBIO, grupo ADM o masterAcceso de los Grupos (444) o en el operador
Autorizar contable · Actualizar lanzamientosregla AUTORIZAR_CONTAB_MOEDA_CAMBIO, grupo ADM o masterAcceso de los Grupos (444) o en el operador
Importarregla IMPORTAR_PLANILHA_PARA_INSERIR_MOEDA_CAMBIO o masterAcceso de los Grupos (444) o en el operador
valor y cambio de descuento en cero; sin la reescrituratipo de grupo CON o GCOGrupos de Operador (442)
mes cerrado en la modificaciónCON/GCO, o cualquiera en BrasilGrupos de Operador (442)

En central las tres reglas están concedidas directo en el operador (sistema CEIF): 20 operadores con HABILITA_CAMPOS_…, 19 con AUTORIZAR_CONTAB_… y 18 con IMPORTAR_PLANILHA_… — ninguna por grupo — y hay 9 usuarios master. Quien no las tiene ve los campos contables grises y no ve el botón Importar; es lo esperado.

G

Cómo llega el error a la pantalla

Para que el QA lo reproduzca y lo reporte

Rechazo de regla: HTTP 200 con statuscode 400 y la frase, que la pantalla muestra en el pie de la ventana. Pregunta del servidor: statuscode 409 con el campo a reenviar como true. Los mensajes que solo la pantalla verifica (marcados como Aviso, "verificado solo en la pantalla") no llegan al servidor. Un error inesperado trae el código de ocurrencia de 8 caracteres — cópielo en el ticket.

H

Reglas fijadas en el código

Esperadas — no abrir como defecto
QuéValor
"saltar fecha" aplica amonedas de id 112 o mayor (la moneda local queda fuera)
rango de año aceptado2000 a 2050
I

Diferencias y decisiones pendientes

Qué cambia respecto al sistema anterior
PuntoSituación
bloqueos de Paraguayfuera de IGNIS, el sistema anterior bloquea lo contable para quien no es CON/GCO/ADM y el valor para CON (:641). No portado: vale solo la regla (decisión del usuario, 11/09/2026)
fechas de la reescrituratoda fecha se compara como el día entero; el sistema anterior compara el flete de la compra de carne y la fecha de la baja con la fecha pura, y lo que se grabó con hora quedaba afuera
diferencia cambiariacalculada con la cotización entera; el sistema anterior la escribe con STR(), que corta a dos decimales
transportadorase reescribe una vez; el sistema anterior repite el mismo UPDATE al final
Autorizar contablesolo activa, como el sistema anterior; el ceif alterna
Actualizar lanzamientosdel ceif; aquí activa el Actualizó (el ceif alterna) y exige la misma regla que Autorizar
importaciónla del ceif: sustituye la cotización del día y la graba autorizada; el sistema anterior solo incluye

Ninguna regla coincide con esa búsqueda. Intente con un fragmento más corto del mensaje, o limpie los filtros.