Lamentablemente A3 no proporciona el campo Situación de los efectos de cartera en ninguna tabla, y por lo tanto no disponemos de la SITUACION en ningún listado que podamos crear.
Además cuando hay una devolución A3 crea un nuevo efecto. Y en el campo situación nada nos indica que viene de una devolución.
En la imagen siguiente el efecto de 4000 € viene de una devolución, pero nada lo indica
A menos que seleccionemos todos los efectos y entonces si vemos que ha habido una devolución
Funcion SituacionCarteraClientes
He desarrollado una función en Access para obtener el campo situación y poder usarlo en los listados (no incluye Recibir)
De modo que en caso de un efecto devuelto la situación ponga Pendiente Por devolución
Codigo de la función
Función SituacionCarteraClientes(sPagado As String, nRemesa As Variant, sFechaEfectiva As Variant, sFechaDevolucion As Variant, nPadreDev As Variant, nAgrupacion As Variant) As String
If hayalgo(nAgrupacion) Then
SituacionCarteraClientes = “Incluido en la agrupación ” & nAgrupacion
Exit Función
End If
If sPagado = “F” Then
SituacionCarteraClientes = “Pendiente”
End If
If sPagado = “T” Then
SituacionCarteraClientes = “Cobrado ” & sFechaEfectiva
End If
If hayalgo(nPadreDev) Then
SituacionCarteraClientes = SituacionCarteraClientes & ” Por devolución ”
End If
If hayalgo(nRemesa) Then
If sPagado = “D” Then
SituacionCarteraClientes = “Devuelto ” & sFechaDevolucion
End If
SituacionCarteraClientes = SituacionCarteraClientes & ” Remesado. Remesa ” & nRemesa
End If
End Función
Parámetros de la función
- Pagado: el campo PAGADO de la cartera
- Remesa: el campo NUMDOC de remesas
- FechaEfectiva: el campo FECHAEFECTIVA de la cartera
- FechaDevolucion: el campo FECHADEVOL de la cartera
- PadreDev: el campo PADREDEV de la cartera
- Agrupacion: el campo NUMDOCAGR de la agrupacion
Este es el mapa de relaciones
Consulta en Access
SELECT
dbo_ASOFT_CARTERA.CODCLI
, dbo_ASOFT_CARTERA.NOMBRE
, SituacionCarteraClientes([dbo_ASOFT_CARTERA].[PAGADO],[dbo___REMESAS].[NUMDOC],[dbo_ASOFT_CARTERA].[FECHAEFECTIVA],[dbo_ASOFT_CARTERA].[FECHADEVOL],[dbo_ASOFT_CARTERA].[PADREDEV],[dbo___AGRUPACIONES].[NUMDOCAGR]) AS Situacion
, dbo_DOCUPAGO.DESCDOC AS [Documento de pago]
, IIf([dbo_ASOFT_CARTERA].[PROCEDE]=”AG”,”Agr.”,”Fra.”) & [dbo_ASOFT_CARTERA].[SERIE] & “/” & [dbo_ASOFT_CARTERA].[NUMDOC] AS Documento
, dbo_ASOFT_CARTERA.FECHAFACTURA AS [Fecha factura]
, dbo_ASOFT_CARTERA.FECHA AS Vencimiento, dbo_ASOFT_CARTERA.IMPORTE AS Importe
, IIf([dbo_ASOFT_CARTERA].[PAGADO]=”F”,[dbo_ASOFT_CARTERA].[IMPORTE],0) AS Pendiente
FROM (((dbo_ASOFT_CARTERA
LEFT JOIN dbo___REMESAS ON dbo_ASOFT_CARTERA.PADREREME = dbo___REMESAS.IDREMESA)
INNER JOIN dbo_DOCUPAGO ON dbo_ASOFT_CARTERA.DOCPAG = dbo_DOCUPAGO.DOCPAG)
LEFT JOIN dbo___AGRUPACIONES ON dbo_ASOFT_CARTERA.PADREAGRU = dbo___AGRUPACIONES.NUMAGRU) LEFT JOIN dbo_ASOFT_CARTERA AS dbo_ASOFT_CARTERA_1 ON dbo___AGRUPACIONES.NUMCARTERA = dbo_ASOFT_CARTERA_1.NUMCARTERA
ORDER BY dbo_ASOFT_CARTERA.CODCLI;