Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incidencia - Pagos agregados - El importe se multiplica por 100 si el usuario no tiene definido separador decimal #427

Open
jordiSTIC opened this issue Oct 7, 2024 · 0 comments · May be fixed by #428
Assignees
Labels
bug Something isn't working Economía This issue or pull request already exists not urgent

Comments

@jordiSTIC
Copy link
Collaborator

jordiSTIC commented Oct 7, 2024

Descripción del problema

Al calcular los pagos agregados, para un usuario que no tenga definido en el parámetro de configuración del separador de decimales a usar ('dec_sep'), el importe final se multiplica por 100.

El problema radica en el cálculo del pago agregado, que usa el separador decimal del usuario, pero este al no estar definido es vacío y se elimina el separador decimal, multiplicando el importe por 100:

// Set the payment amount
$paymentBean->amount = str_replace('.', $current_user->getPreference('dec_sep'), $row['attendances_amount']);

En otras secciones del código, dónde se realiza esta operación, en caso que 'dec_sep' no esté definido, se usa la configuración general default_decimal_seperator:

SinergiaCRM/include/utils.php

Lines 2186 to 2187 in 41e7eb1

$user_dec_sep = $current_user->getPreference('dec_sep');
$dec_sep = (empty($user_dec_sep) ? $sugar_config['default_decimal_seperator'] : $user_dec_sep);

Cómo reproducir el problema

  1. En el Perfil del usuario actual, pestaña Avanzado, eliminar el "Símbolo Decimal" definido y guardar
  2. Crear un evento con fecha inicio el mes anterior y estado "Activo".
  3. Crear una inscripción al evento
  4. Crear un algunas sesiones al evento con fecha del mes anterior
  5. Crear asistencias a las sesiones, con importe
  6. Crear un compromiso de pago de la persona inscrita al evento con Tipo de pago: Servicios agregados, Periodicidad: Mensual, Fecha del primer pago: anterior al mes pasado
  7. Relacionar el compromiso de pago con las inscripciones del paso 3
  8. Asociar el pago a la inscripción del paso 3
  9. En el módulo Pagos, accionar "Calcular pagos agregados"
  10. Verificar que se han calculado los pagos pero se ha multiplicado por 100 su importe
  11. Editar el perfil de usuario actual, indicando el separador de "Símbolo Decimal"
  12. Volver a calcular los pagos agregados
  13. Verificar que el importe ésta vez es correcto: no se ha multiplicado por 100

Comportamiento esperado

El importe no debería multiplicarse por 100

@jordiSTIC jordiSTIC added bug Something isn't working Economía This issue or pull request already exists not urgent labels Oct 7, 2024
@jordiSTIC jordiSTIC self-assigned this Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Economía This issue or pull request already exists not urgent
Projects
None yet
1 participant