# Libro registro de Facturas Recibidas (HTML)

## Contexto

Este documento dinámico muetra las facturas recibidas filtradas por variables globales

* Rango de fecha
* Tipo de Compra / Gasto

## Variables

Define las variables

* Fecha\_Desde
* Fecha\_Hasta
* Tipo

<figure><img src="/files/NYCWprOJrBkCrDtDUmlb" alt=""><figcaption></figcaption></figure>

## DinaScript

```
<!doctype html>
<html>
   <head>
      <link rel="stylesheet" href="https://cdn.dinaup.com/dinaup/link/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdn.dinaup.com/publicresources/dinaupdd.css">
      
      <meta charset="utf-8">
      <style>

         @media print 
         {
             @page  
             { 
                margin: 3mm 3mm 3mm 3mm;  
             } 
         } 
         
         
      </style>
      <meta charset="utf-8">
   </head>
   <body>

    <div class="container">

<div class="d-flex justify-content-center mb-2">
        <img src="https://cdn.dinaup.com/dinaup/logo.svg" alt="Logo" class="img-fluid" style="max-width: 200px;">
    </div>



<div align="center " class="mb-4">
 <img src="https://cdn.dinaup.com/publicresources/ico/dinahr.png"    style="width: 40%;height: 2px;"  />
</div>


<div class="card">
<div class="d-flex align-items-center  gap-3">
<img src="https://cdn.dinaup.com/publicresources/ico/icono_comprasygastos.png"  width="64px"/>
<div>
<span> 💼 <!--:  F.WriteText(D.EmpresaActual.TextoPrincipal)                    :--> </span> - <span> 📄 Libro registro </span><br>
<h1 class="" >Compras / Gastos - <b style="color:#e61111"><!--: F.WriteText(v.Tipo.TextoPrincipal)        :--></b></h1> 
</div>
</div>
</div>


 
<div class="container card">
  <div class="row align-items-center">
    <div class="col text-left">
      <label for="fechaDesde">Desde</label>
      <div id="fechaDesde" class="form-control text-left"><!--:  F.WriteDate(v.Fecha_Desde,S.Enums.formatofecha.diamesaño)                              :--></div>
    </div>
    <div class="col text-left">
      <label for="fechaHasta">Hasta</label>
      <div id="fechaHasta" class="form-control text-left"><!--:  F.WriteDate(v.Fecha_Hasta,S.Enums.formatofecha.diamesaño)                              :--></div>
    </div>
  </div>
</div>



<div class="card table-responsive small  ">


   <!--:
   
   F.MetaData_Set('titulo','Facturas recibidas.csv')


   
   
   
    
   num SumaBI = 0
   num SumaCuotaIVA = 0 
   num SumacuotaRE=0
   num sumaTotal = 0
   num sumRetencion = 0
   
    txt col_FechaE = 'Fecha Exp'
    txt col_FechaR = 'Fecha Reg'
    txt col_Factura = 'Factura'
    txt col_Nif = 'NIF'
    txt col_razonSocial = 'Acreedor/Proveedor'
    txt col_base = 'Base Imp.'
    txt col_ivaporciento = 'IVA %'
    txt col_ivaCuota = 'Cuota IVA'
    txt col_rePorciento = 'RE %'
    txt col_recuota= 'Cuota RE'
    txt col_retencionporciento = 'Ret %'
    txt col_retencionvalor = 'Ret'
    txt col_total= 'Total'
    txt col_CP = 'CodigoPostal'


    num TablaID = F.DataTable_New(v.col_FechaR,v.col_FechaE,v.col_Factura,v.col_Nif,v.col_razonSocial,v.col_base,v.col_ivaporciento,v.col_ivaCuota,v.col_rePorciento,v.col_recuota,v.col_retencionporciento,v.col_retencionvalor,v.col_total,v.col_CP)
    @ Ejemplo - Cotizaciones
    F.DataListLoad(S.Sections.ComprasGastos.ID,1,100000) 
    F.DataListLoadSetOrder(S.Sections.ComprasGastos.ID,S.Fields.ComprasGastos.FechaContable.ID,0)
    F.DataListLoadAddFilter(S.Sections.ComprasGastos.ID,S.Fields.ComprasGastos.FechaContable.id,'>=',V.Fecha_Desde)
    F.DataListLoadAddFilter(S.Sections.ComprasGastos.ID,S.Fields.ComprasGastos.FechaContable.id,'<=',V.Fecha_Hasta)
    F.DataListLoadAddFilter(S.Sections.ComprasGastos.ID,S.Fields.ComprasGastos.ReferenciaTipoDeOperacion.id,'=',V.tipo)

    F.ProcessDataList_Ini(S.Sections.ComprasGastos.ID)

        
        

            V.SumaBI = V.SumaBI  + I.ComprasGastos.ImporteSubtotal 
            V.SumaCuotaIVA = V.SumaCuotaIVA  + I.ComprasGastos.ImporteBaseImponible1CuotaIVA + I.ComprasGastos.ImporteBaseImponible2CuotaIVA + I.ComprasGastos.ImporteBaseImponible3CuotaIVA
            V.SumacuotaRE= V.SumacuotaRE + I.ComprasGastos.ImporteBaseImponible1CuotaRE + I.ComprasGastos.ImporteBaseImponible2CuotaRE + I.ComprasGastos.ImporteBaseImponible3CuotaRE
            V.sumaTotal = V.sumaTotal + I.ComprasGastos.ImporteTotal  
            V.sumRetencion = V.sumRetencion + I.ComprasGastos.ImporteTotalRetencion  
       




            num retratio = I.ComprasGastos.ImporteTotalRetencion / I.ComprasGastos.ImporteSubtotal 




            num bi1_ret = 0
            num bi2_ret = 0
            num bi3_ret = 0
            num bie_ret =  0



            v.bi1_ret =  I.ComprasGastos.ImporteBaseImponible1 * v.retratio
            v.bi2_ret =  I.ComprasGastos.ImporteBaseImponible2 * v.retratio
            v.bi3_ret =  I.ComprasGastos.ImporteBaseImponible3  * v.retratio
            v.bie_ret =  I.ComprasGastos.ImporteSumaExenta * v.retratio



            if I.ComprasGastos.ImporteBaseImponible1 <> 0



                F.DataTable_AddRow(v.TablaID)
                F.DataTable_SetValueText(v.TablaID,v.col_FechaE,I.ComprasGastos.FechaExpedicion)
                F.DataTable_SetValueText(v.TablaID,v.col_FechaR,I.ComprasGastos.FechaContable)
                F.DataTable_SetValueText(v.TablaID,v.col_Factura,I.ComprasGastos.NumeroDeFactura)
                F.DataTable_SetValueText(v.TablaID,v.col_Nif,I.ComprasGastos.NIFProveedor)
                F.DataTable_SetValueText(v.TablaID,v.col_razonSocial,I.ComprasGastos.DenominacionRazonSocialProveedor)

                F.DataTable_SetValueMoney(v.TablaID,v.col_base,I.ComprasGastos.ImporteBaseImponible1)

                F.DataTable_SetValuePercentage(v.TablaID,v.col_ivaporciento,I.ComprasGastos.ReferenciaImpuesto1.ValorPorciento)
                F.DataTable_SetValueMoney(v.TablaID,v.col_ivaCuota,I.ComprasGastos.ImporteBaseImponible1CuotaIVA)



                if I.ComprasGastos.AplicarRecagoDeEquivalencia 
                    F.DataTable_SetValuePercentage(v.TablaID,v.col_rePorciento,I.ComprasGastos.ReferenciaImpuesto1.RecargoEquivalenciaPorciento)
                else
                    F.DataTable_SetValuePercentage(v.TablaID,v.col_rePorciento,0)
                end if


                
          
                F.DataTable_SetValuePercentage(v.TablaID,v.col_retencionporciento,I.ComprasGastos.ReferenciaRetencion.RetencionPorciento)
                F.DataTable_SetValueMoney(v.TablaID,v.col_retencionvalor,v.bi1_ret)
                F.DataTable_SetValueMoney(v.TablaID,v.col_recuota,I.ComprasGastos.ImporteBaseImponible1CuotaRE)

                F.DataTable_SetValueMoney(v.TablaID,v.col_total,I.ComprasGastos.ImporteBaseImponible1 +I.ComprasGastos.ImporteBaseImponible1CuotaIVA +I.ComprasGastos.ImporteBaseImponible1CuotaRE - v.bi1_ret)
                F.DataTable_SetValueText(v.TablaID,v.col_CP,I.ComprasGastos.CodigoPostalProveedor)

            end if

            if I.ComprasGastos.ImporteBaseImponible2 <> 0


                F.DataTable_AddRow(v.TablaID)
                
                F.DataTable_SetValueText(v.TablaID,v.col_FechaE,I.ComprasGastos.FechaExpedicion)
                F.DataTable_SetValueText(v.TablaID,v.col_FechaR,I.ComprasGastos.FechaContable)
                F.DataTable_SetValueText(v.TablaID,v.col_Factura,I.ComprasGastos.NumeroDeFactura)
                F.DataTable_SetValueText(v.TablaID,v.col_Nif,I.ComprasGastos.NIFProveedor)
                F.DataTable_SetValueText(v.TablaID,v.col_razonSocial,I.ComprasGastos.DenominacionRazonSocialProveedor)

                F.DataTable_SetValueMoney(v.TablaID,v.col_base,I.ComprasGastos.ImporteBaseImponible2)

                F.DataTable_SetValuePercentage(v.TablaID,v.col_ivaporciento,I.ComprasGastos.ReferenciaImpuesto2.ValorPorciento)
                F.DataTable_SetValueMoney(v.TablaID,v.col_ivaCuota,I.ComprasGastos.ImporteBaseImponible2CuotaIVA)

                if I.ComprasGastos.AplicarRecagoDeEquivalencia 
                    F.DataTable_SetValuePercentage(v.TablaID,v.col_rePorciento,I.ComprasGastos.ReferenciaImpuesto2.RecargoEquivalenciaPorciento)
                else
                    F.DataTable_SetValuePercentage(v.TablaID,v.col_rePorciento,0)
                end if
                F.DataTable_SetValueMoney(v.TablaID,v.col_retencionvalor,v.bi2_ret)
                F.DataTable_SetValuePercentage(v.TablaID,v.col_retencionporciento,I.ComprasGastos.ReferenciaRetencion.RetencionPorciento)
                F.DataTable_SetValueMoney(v.TablaID,v.col_recuota,I.ComprasGastos.ImporteBaseImponible2CuotaRE)

                F.DataTable_SetValueMoney(v.TablaID,v.col_total,I.ComprasGastos.ImporteBaseImponible2 +I.ComprasGastos.ImporteBaseImponible2CuotaIVA + I.ComprasGastos.ImporteBaseImponible2CuotaRE - v.bi2_ret)
                F.DataTable_SetValueText(v.TablaID,v.col_CP,I.ComprasGastos.CodigoPostalProveedor)

            end if

            if I.ComprasGastos.ImporteBaseImponible3 <> 0


                F.DataTable_AddRow(v.TablaID)
                
                F.DataTable_SetValueText(v.TablaID,v.col_FechaE,I.ComprasGastos.FechaExpedicion)
                F.DataTable_SetValueText(v.TablaID,v.col_FechaR,I.ComprasGastos.FechaContable)
                F.DataTable_SetValueText(v.TablaID,v.col_Factura,I.ComprasGastos.NumeroDeFactura)
                F.DataTable_SetValueText(v.TablaID,v.col_Nif,I.ComprasGastos.NIFProveedor)
                F.DataTable_SetValueText(v.TablaID,v.col_razonSocial,I.ComprasGastos.DenominacionRazonSocialProveedor)

                F.DataTable_SetValueMoney(v.TablaID,v.col_base,I.ComprasGastos.ImporteBaseImponible3)

                F.DataTable_SetValuePercentage(v.TablaID,v.col_ivaporciento,I.ComprasGastos.ReferenciaImpuesto3.ValorPorciento)
                F.DataTable_SetValueMoney(v.TablaID,v.col_ivaCuota,I.ComprasGastos.ImporteBaseImponible3CuotaIVA)

                if I.ComprasGastos.AplicarRecagoDeEquivalencia 
                    F.DataTable_SetValuePercentage(v.TablaID,v.col_rePorciento,I.ComprasGastos.ReferenciaImpuesto3.RecargoEquivalenciaPorciento)
                else
                    F.DataTable_SetValuePercentage(v.TablaID,v.col_rePorciento,0)
                end if 
                F.DataTable_SetValuePercentage(v.TablaID,v.col_retencionporciento,I.ComprasGastos.ReferenciaRetencion.RetencionPorciento)
                F.DataTable_SetValueMoney(v.TablaID,v.col_retencionvalor,v.bi3_ret)
                F.DataTable_SetValueMoney(v.TablaID,v.col_recuota,I.ComprasGastos.ImporteBaseImponible3CuotaRE)

                F.DataTable_SetValueMoney(v.TablaID,v.col_total,I.ComprasGastos.ImporteBaseImponible3 +I.ComprasGastos.ImporteBaseImponible3CuotaIVA +I.ComprasGastos.ImporteBaseImponible3CuotaRE - v.bi3_ret)
                F.DataTable_SetValueText(v.TablaID,v.col_CP,I.ComprasGastos.CodigoPostalProveedor)

            end if

            if I.ComprasGastos.ImporteBaseImponibleExenta <> 0



                F.DataTable_AddRow(v.TablaID)
                
                F.DataTable_SetValueText(v.TablaID,v.col_FechaE,I.ComprasGastos.FechaExpedicion)
                F.DataTable_SetValueText(v.TablaID,v.col_FechaR,I.ComprasGastos.FechaContable)
                F.DataTable_SetValueText(v.TablaID,v.col_Factura,I.ComprasGastos.NumeroDeFactura)
                F.DataTable_SetValueText(v.TablaID,v.col_Nif,I.ComprasGastos.NIFProveedor)
                F.DataTable_SetValueText(v.TablaID,v.col_razonSocial,I.ComprasGastos.DenominacionRazonSocialProveedor)

                F.DataTable_SetValueMoney(v.TablaID,v.col_base,I.ComprasGastos.ImporteBaseImponibleExenta)

                F.DataTable_SetValuePercentage(v.TablaID,v.col_ivaporciento,0)
                F.DataTable_SetValueMoney(v.TablaID,v.col_ivaCuota,0)

                F.DataTable_SetValuePercentage(v.TablaID,v.col_rePorciento,0)
                F.DataTable_SetValueMoney(v.TablaID,v.col_recuota,0)

                F.DataTable_SetValuePercentage(v.TablaID,v.col_retencionporciento,I.ComprasGastos.ReferenciaRetencion.RetencionPorciento)
                F.DataTable_SetValueMoney(v.TablaID,v.col_retencionvalor,v.bie_ret)
                F.DataTable_SetValueMoney(v.TablaID,v.col_total,I.ComprasGastos.ImporteBaseImponibleExenta - v.bie_ret)
                F.DataTable_SetValueText(v.TablaID,v.col_CP,I.ComprasGastos.CodigoPostalProveedor)

            end if



    F.ProcessDataList_End 
   


    txt libro = F.DataTable_Build(v.TablaID,'html|class="table table-striped table-sm"')
    F.Write(v.libro)
   
     
     
                                            :-->

</div>


<div class="card table-responsive small" style="width:400px">
<table class="table table-striped table-sm">
  <caption>Totales</caption>

    <thead>
        <tr>
            <th scope="col">Concepto</th>
            <th scope="col">Total</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Suma B.I</td>
            <td data-f="3"><!--: F.WriteMoney(v.SumaBI,2)           :--></td>
        </tr>
        <tr>
            <td>Suma IVA</td>
            <td data-f="3"><!--: F.WriteMoney(v.SumaCuotaIVA,2)           :--></td>
        </tr>
        <tr>
            <td>Suma R.E</td>
            <td data-f="3"><!--: F.WriteMoney(v.SumacuotaRE,2)           :--></td>
        </tr>
        <tr>
            <td>Suma Retenciones</td>
            <td data-f="3"><!--: F.WriteMoney(v.sumRetencion,2)           :--></td>
        </tr>
        <tr>
            <td>Suma Totales</td>
            <td data-f="3"><!--: F.WriteMoney(v.sumaTotal,2)           :--></td>
        </tr>
    </tbody>
</table>
</div>

</div>



   </body>
</html>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.dinaup.com/desarrollo/flex/documentos-dinamicos/ejemplos/libro-registro-de-facturas-recibidas-html.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
