Exemple #1
0
 protected override void SetUnlinkedGridValues(string gridName)
 {
     switch (gridName)
     {
     case "Ampliaciones_Grid":
     {
         foreach (DataGridViewRow row in Ampliaciones_Grid.Rows)
         {
             if (row.IsNewRow)
             {
                 continue;
             }
             AmpliacionInfo info = (AmpliacionInfo)row.DataBoundItem;
             if (info != null)
             {
                 Discrepancia item = _informe.Discrepancias.GetItem(info.OidDiscrepancia);
                 if (item != null)
                 {
                     row.Cells["Numero"].Value      = item.Numero;
                     row.Cells["FechaDebida"].Value = item.FechaDebida.ToShortDateString();
                     row.Cells["FechaCierre"].Value = item.FechaCierre.ToShortDateString();
                 }
             }
         }
     } break;
     }
 }
        public FrmDiscrepancia(Discrepancia discrepancia, string tipoDoc)
        {
            InitializeComponent();
            _discrepancia = discrepancia;
            _tipoDoc      = tipoDoc;
            discrepanciaBindingSource.DataSource = _discrepancia;
            discrepanciaBindingSource.ResetBindings(false);

            Load += (s, e) =>
            {
                using (var ctx = new OpenInvoicePeruDb())
                {
                    tipoDiscrepanciaBindingSource.DataSource = ctx.TipoDiscrepancias
                                                               .Where(t => t.DocumentoAplicado == _tipoDoc).ToList();

                    tipoDiscrepanciaBindingSource.ResetBindings(false);
                }
            };

            toolOk.Click += (s, e) =>
            {
                discrepanciaBindingSource.EndEdit();

                DialogResult = DialogResult.OK;
            };

            toolCancel.Click += (s, e) => DialogResult = DialogResult.Cancel;
        }
Exemple #3
0
 protected override void SetUnlinkedGridValues(string gridName)
 {
     switch (gridName)
     {
     case "Discrepancias_Grid":
     {
         foreach (DataGridViewRow row in Discrepancias_Grid.Rows)
         {
             if (row.IsNewRow)
             {
                 continue;
             }
             Discrepancia info = (Discrepancia)row.DataBoundItem;
             if (info != null)
             {
                 CuestionAuditoria cuestion = _auditoria.Cuestiones.GetItem(info.OidCuestion);
                 if (cuestion != null)
                 {
                     row.Cells["Cuestion"].Value = cuestion.Numero;
                 }
             }
         }
     } break;
     }
 }
Exemple #4
0
 /// <summary>Aplica las reglas de validación de usuarios al formulario.
 /// <returns>void</returns>
 /// </summary>
 protected override void ApplyAuthorizationRules()
 {
     Tabla.Visible         = Discrepancia.CanGetObject();
     Add_Button.Enabled    = Discrepancia.CanAddObject();
     Edit_Button.Enabled   = Discrepancia.CanEditObject();
     Delete_Button.Enabled = Discrepancia.CanDeleteObject();
     Print_Button.Enabled  = Discrepancia.CanGetObject();
     View_Button.Enabled   = Discrepancia.CanGetObject();
 }
 private void Numero_CB_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (IDiscrepancia != null && Numero_CB.SelectedItem != null &&
         ((ComboBoxSource)Numero_CB.SelectedItem).Oid != 0)
     {
         Discrepancia disp = IDiscrepancia.Discrepancias.GetItem(((ComboBoxSource)Numero_CB.SelectedItem).Oid);
         Discrepancia_TB.Text = disp.Texto;
         Nivel_TB.Text        = disp.Nivel.ToString();
     }
 }
Exemple #6
0
        public override void UpdateList()
        {
            switch (_current_action)
            {
            case molAction.Add:
                if (_entity == null)
                {
                    return;
                }
                List.AddItem(_entity.GetInfo(false));
                if (FilterType == IFilterType.Filter)
                {
                    DiscrepanciaList listA = DiscrepanciaList.GetList(_filter_results);
                    listA.AddItem(_entity.GetInfo(false));
                    _filter_results = listA.GetSortedList();
                }
                break;

            case molAction.Edit:
            case molAction.Lock:
            case molAction.Unlock:
                if (_entity == null)
                {
                    return;
                }
                ActiveItem.CopyFrom(_entity);
                break;

            case molAction.Delete:
                if (ActiveItem == null)
                {
                    return;
                }
                List.RemoveItem(ActiveOID);
                if (FilterType == IFilterType.Filter)
                {
                    DiscrepanciaList listD = DiscrepanciaList.GetList(_filter_results);
                    listD.RemoveItem(ActiveOID);
                    _filter_results = listD.GetSortedList();
                }
                break;
            }

            _entity = null;
            RefreshSources();
        }
        private static void AñadirDiscrepanciaATabla(Table tablaDeDiscrepancias, Discrepancia discrepancia)
        {
            PdfFont helvetica = PdfFontFactory.CreateFont(StandardFonts.HELVETICA);
            Cell    nombre    = new Cell();

            nombre.SetFont(helvetica);
            nombre.Add(new Paragraph(discrepancia.Nombre));
            Cell codigo = new Cell();

            codigo.SetFont(helvetica);
            codigo.Add(new Paragraph(discrepancia.Codigo));
            Cell cantidadRegistrada = new Cell();

            cantidadRegistrada.SetFont(helvetica);
            cantidadRegistrada.Add(new Paragraph(discrepancia.CantidadRegistrada.ToString()));
            Cell cantidadEsperada = new Cell();

            cantidadEsperada.SetFont(helvetica);
            cantidadEsperada.Add(new Paragraph(discrepancia.CantidadEsperada.ToString()));
            Cell costo = new Cell();

            costo.SetFont(helvetica);
            costo.Add(new Paragraph(discrepancia.Costo.ToString()));
            Cell unidadDeMedida = new Cell();

            unidadDeMedida.SetFont(helvetica);
            unidadDeMedida.Add(new Paragraph(discrepancia.UnidadDeMedida.ToString()));
            if (discrepancia.CantidadEsperada < discrepancia.CantidadRegistrada)
            {
                cantidadRegistrada.SetBackgroundColor(ColorConstants.GREEN);
                cantidadEsperada.SetBackgroundColor(ColorConstants.GREEN);
            }
            else
            {
                cantidadRegistrada.SetBackgroundColor(ColorConstants.RED);
                cantidadEsperada.SetBackgroundColor(ColorConstants.RED);
            }

            tablaDeDiscrepancias.AddCell(nombre);
            tablaDeDiscrepancias.AddCell(codigo);
            tablaDeDiscrepancias.AddCell(cantidadRegistrada);
            tablaDeDiscrepancias.AddCell(cantidadEsperada);
            tablaDeDiscrepancias.AddCell(costo);
            tablaDeDiscrepancias.AddCell(unidadDeMedida);
        }
        private void FechaDebida_DTP_ValueChanged(object sender, EventArgs e)
        {
            if (Datos.Current == null)
            {
                return;
            }
            Discrepancia      discrepancia = ((Discrepancia)Datos.Current);
            DateTime          fecha_debida;
            SchemaSettingInfo variable = null;

            switch (discrepancia.Nivel)
            {
            case 1:
            {
                variable = _variables.GetItem("PLAZO_MAXIMO_DISCREPANCIAS_N1");
            }
            break;

            case 2:
            {
                variable = _variables.GetItem("PLAZO_MAXIMO_DISCREPANCIAS_N2");
            }
            break;

            case 3:
            {
                variable = _variables.GetItem("PLAZO_MAXIMO_DISCREPANCIAS_N3");
            }
            break;

            default: break;
            }

            if (variable != null)
            {
                int porc_ampliacion = Convert.ToInt32(_variables.GetItem("PLAZO_MAXIMO_AMPLIACION").Value);
                int dias_ampliacion = (Convert.ToInt32(variable.Value) * porc_ampliacion) / 100;
                fecha_debida = discrepancia.FechaDebida.AddDays(dias_ampliacion);
                if (fecha_debida.Date < FechaDebida_DTP.Value.Date)
                {
                    FechaDebida_DTP.Value = fecha_debida;
                }
            }
        }
        public List <Discrepancia> Read_DiscrepanciaDocumento()
        {
            List <Discrepancia> discrepancias = new List <Discrepancia>();
            DataTable           dataTable     = readGeneralData.GetDataTable("[dbo].[Read_DiscrepanciaDocumento]", "@IdCabeceraDocumento", IdCabeceraDocumento);
            DataRow             row;

            Discrepancia discrepancia;

            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                row          = dataTable.Rows[i];
                discrepancia = new Discrepancia()
                {
                    IdDiscrepanciaDocumento = Convert.ToInt32(row["IdDiscrepanciaDocumento"].ToString()),
                    Tipo        = row["TDCodigo"].ToString(),
                    Descripcion = row["TDDescripcion"].ToString()
                };
                discrepancias.Add(discrepancia);
            }

            return(discrepancias);
        }
        public ConcesionAmpliacionActionForm(bool IsModal, InformeAmpliacion ampliacion, Auditoria auditoria, Form parent)
            : base(IsModal)
        {
            InitializeComponent();
            _variables = SchemaSettingList.GetList();
            _parent    = parent as AuditoriaUIForm;
            _auditoria = auditoria;
            _entity    = _auditoria.Informes.GetItem(ampliacion.OidInformeDiscrepancia);
            _list      = new List <Discrepancia>();

            foreach (Ampliacion info in ampliacion.Ampliaciones)
            {
                Discrepancia obj = _entity.Discrepancias.GetItem(info.OidDiscrepancia);
                if (obj != null)
                {
                    _list.Add(obj);
                }
            }

            SetFormData();
            this.Text = Resources.Labels.CONCESION_AMPLIACION_TITLE;
        }
Exemple #11
0
        public FrmDiscrepancia(Discrepancia discrepancia, string tipoDoc)
        {
            InitializeComponent();
            _tipoDoc = tipoDoc;
            discrepanciaBindingSource.DataSource = discrepancia;
            discrepanciaBindingSource.ResetBindings(false);

            Load += (s, e) =>
            {
                using (var ctx = new OpenInvoicePeruDb())
                {
                    var tipoDocumento = ctx.Set <TipoDocumento>()
                                        .AsNoTracking()
                                        .SingleOrDefault(p => p.Codigo == _tipoDoc);

                    if (tipoDocumento == null)
                    {
                        return;
                    }

                    tipoDiscrepanciaBindingSource.DataSource = ctx.Set <TipoDiscrepancia>()
                                                               .Where(t => t.IdTipoDocumento == tipoDocumento.Id).AsNoTracking().ToList();

                    tipoDiscrepanciaBindingSource.ResetBindings(false);
                }
            };

            toolOk.Click += (s, e) =>
            {
                discrepanciaBindingSource.EndEdit();

                DialogResult = DialogResult.OK;
            };

            toolCancel.Click += (s, e) => DialogResult = DialogResult.Cancel;
        }
Exemple #12
0
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;

                switch (tbPaginas.SelectedIndex)
                {
                case 0:
                    var detalle = new DetalleDocumento();

                    using (var frm = new FrmDetalleDocumento(detalle, _documento))
                    {
                        if (frm.ShowDialog(this) != DialogResult.OK)
                        {
                            return;
                        }

                        _documento.Items.Add(detalle);

                        CalcularTotales();
                    }
                    break;

                case 1:
                    var datoAdicional = new DatoAdicional();
                    using (var frm = new FrmDatosAdicionales(datoAdicional))
                    {
                        if (frm.ShowDialog(this) != DialogResult.OK)
                        {
                            return;
                        }

                        _documento.DatoAdicionales.Add(datoAdicional);
                    }
                    break;

                case 2:
                    var documentoRelacionado = new DocumentoRelacionado();
                    using (var frm = new FrmDocumentoRelacionado(documentoRelacionado))
                    {
                        if (frm.ShowDialog(this) != DialogResult.OK)
                        {
                            return;
                        }

                        _documento.Relacionados.Add(documentoRelacionado);
                    }
                    break;

                case 3:
                    var discrepancia = new Discrepancia();
                    using (var frm = new FrmDiscrepancia(discrepancia, _documento.TipoDocumento))
                    {
                        if (frm.ShowDialog(this) != DialogResult.OK)
                        {
                            return;
                        }

                        _documento.Discrepancias.Add(discrepancia);
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            finally
            {
                documentoElectronicoBindingSource.ResetBindings(false);
                Cursor.Current = Cursors.Default;
            }
        }
Exemple #13
0
        private async void CrearXmlFacturas(int ii)
        {
            try
            {
                string idDoc = Convert.ToString(DtDocumentos.Rows[ii]["Seriedocumento"] + "-" +
                                                DtDocumentos.Rows[ii]["NumeroDocumento"]);
                string vletras = Convert.ToString(DtDocumentos.Rows[ii]["letras"]);

                decimal vDscto         = 0;
                string  vNroDocumento  = Convert.ToString(DtDocumentos.Rows[ii]["clienteID"]);
                string  vTipoDocumento = Convert.ToString(DtDocumentos.Rows[ii]["IdentidadID"]);
                string  vNombreLegal   = Convert.ToString(DtDocumentos.Rows[ii]["ClienterazonSocial"]);


                DocumentoElectronico _xDocumento = new DocumentoElectronico
                {
                    Emisor   = CrearEmisor(DtEmpresa),
                    Receptor = new Contribuyente
                    {
                        NroDocumento  = vNroDocumento,
                        TipoDocumento = vTipoDocumento,
                        NombreLegal   = vNombreLegal,
                    },
                };
                _xDocumento.IdDocumento  = idDoc;
                _xDocumento.FechaEmision = DtpFechaDoc.Value.ToString(FormatoFecha);

                _xDocumento.Moneda             = "PEN";
                _xDocumento.MontoEnLetras      = vletras;
                _xDocumento.CalculoIgv         = 18m;
                _xDocumento.CalculoIsc         = Convert.ToDecimal(DtDocumentos.Rows[ii]["porcentajeIsc"]);
                _xDocumento.CalculoDetraccion  = 0.00m;
                _xDocumento.TipoDocumento      = Convert.ToString(DtDocumentos.Rows[ii]["documentoID"]);
                _xDocumento.TotalGravadas      = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteGravado"]);
                _xDocumento.TotalInafectas     = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteinafecto"]);
                _xDocumento.TotalExoneradas    = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteexonerado"]);
                _xDocumento.TotalGratuitas     = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteGratuitas"]);
                _xDocumento.TotalOtrosTributos = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteOtros"]);
                _xDocumento.TotalIsc           = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteisc"]);
                _xDocumento.TotalIgv           = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteIgv"]);
                _xDocumento.DescuentoGlobal    = vDscto;
                _xDocumento.TotalVenta         = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteventa"]);
                _xDocumento.Items = new List <DetalleDocumento>();

                // nuevo 2.1
                //          _xDocumento.PorcentajeIgv = Convert.ToDecimal(DtDocumentos.Rows[ii]["PorcentajeIgv"]);
                _xDocumento.FechaRegistro = Convert.ToString(DtDocumentos.Rows[ii]["fechaRegistro"]);
                _xDocumento.AnexoSunat    = Convert.ToString(DtDocumentos.Rows[ii]["AnexoSunat"]);
                _xDocumento.NroPedido     = Convert.ToString(DtDocumentos.Rows[ii]["pedidonumero"]);


                DtArticulos         = DetalleArticulos(DtDocumentos, ii);
                _xDocumento.TotItem = DtArticulos.Rows.Count;
                for (int i3 = 0; i3 <= DtArticulos.Rows.Count - 1; i3++)
                {
                    _xDocumento.Items.Add(DetalleItem(DtArticulos, i3));
                }

                string vTipoDoc = Convert.ToString(DtDocumentos.Rows[ii]["DocumentoID"]);
                string vNroDocumentoModifica = Convert.ToString(DtDocumentos.Rows[ii]["SeriedocumentoModifica"]) + "-" + Convert.ToString(DtDocumentos.Rows[ii]["NumeroDocumentoModifica"]);

                if (vTipoDoc == "08")
                {
                    string vNroDocumentoModifica1 = Convert.ToString(DtDocumentos.Rows[ii]["SeriedocumentoModifica"]);
                }
                if (vTipoDoc == "07" || vTipoDoc == "08")
                {
                    // nota de credito
                    var vRelacionado = new DocumentoRelacionado
                    {
                        TipoDocumento = Convert.ToString(DtDocumentos.Rows[ii]["TipoDocumentoModifica"]),
                        NroDocumento  = vNroDocumentoModifica
                    };
                    _xDocumento.Relacionados.Add(vRelacionado);

                    // nota de debito
                    var vDiscrepancia = new Discrepancia
                    {
                        Tipo          = Convert.ToString(DtDocumentos.Rows[ii]["TipodocumentoModifica"]),
                        NroReferencia = vNroDocumentoModifica,
                        Descripcion   = Convert.ToString(DtDocumentos.Rows[ii]["DescripcionMotivoNota"])
                    };
                    _xDocumento.Discrepancias.Add(vDiscrepancia);
                }
                string _metodoApi = "";
                switch (vTipoDoc)
                {
                case "07":
                    _metodoApi = "api/GenerarNotaCredito";
                    break;

                case "08":
                    _metodoApi = "api/GenerarNotaDebito";
                    break;

                default:
                    _metodoApi = "api/GenerarFactura";
                    break;
                }

                var response = await _client.PostAsJsonAsync(_metodoApi, _xDocumento);

                var respuesta = await response.Content.ReadAsAsync <DocumentoResponse>();

                if (!respuesta.Exito)
                {
                    throw new ApplicationException(respuesta.MensajeError);
                }



                idDoc       = DtEmpresa.Rows[0]["EmpresaRuc"] + "-" + vTipoDoc;
                idDoc      += "-" + Convert.ToString(DtDocumentos.Rows[ii]["Seriedocumento"] + "-" + DtDocumentos.Rows[ii]["NumeroDocumento"]);
                vArchivoXML = Path.Combine(vRutaXml, $"{idDoc}.xml");
                //    File.WriteAllBytes(vArchivoXML, Convert.FromBase64String(respuesta.TramaXmlSinFirma));
                //    return;

                //        String vRutaXml = Convert.ToString(DtEmpresa.Rows[0]["CarpetaEnviosXml"]);

                var tramaXmlSinFirma = respuesta.TramaXmlSinFirma;


                String vRutaCertificado = Convert.ToString(DtEmpresa.Rows[0]["CarpetaCertificadoDigital"]) +
                                          Convert.ToString(DtEmpresa.Rows[0]["NombreCertificadoDigital"]);
                var firmadoRequest = new FirmadoRequest
                {
                    TramaXmlSinFirma    = tramaXmlSinFirma,
                    CertificadoDigital  = Convert.ToBase64String(File.ReadAllBytes(vRutaCertificado)),
                    PasswordCertificado = Convert.ToString(DtEmpresa.Rows[0]["PasswCertificadoDigital"]),
                    UnSoloNodoExtension = true
                };

                var jsonFirmado = await _client.PostAsJsonAsync("api/Firmar", firmadoRequest);

                var respuestaFirmado = await jsonFirmado.Content.ReadAsAsync <FirmadoResponse>();

                if (!respuestaFirmado.Exito)
                {
                    throw new ApplicationException(respuestaFirmado.MensajeError);
                }


                vArchivoXML = Path.Combine(vRutaXml, $"{idDoc}.xml");



                File.WriteAllBytes(vArchivoXML, Convert.FromBase64String(respuestaFirmado.TramaXmlFirmado));

                ReemplaCaracteres(Convert.ToString(vArchivoXML));
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                txtResult.Text = txtResult.Text + ex.Message + Environment.NewLine;
            }
        }
Exemple #14
0
        private void DatosNDebito()
        {
            var dtsEmisor = new Contribuyente()
            {
                NroDocumento    = "20525411401",
                TipoDocumento   = "6",
                Direccion       = "MZA. 228 LOTE. 06 ZONA INDUSTRIAL  PIURA - PIURA - PIURA",
                Departamento    = "PIURA",
                Provincia       = "PIURA",
                Distrito        = "PIURA",
                NombreLegal     = "PIURAMAQ S.R.L.",
                NombreComercial = "",
                Ubigeo          = "200101"
            };

            var dtsReceptor = new Contribuyente()
            {
                NroDocumento    = "10472308616",
                TipoDocumento   = "6",
                NombreLegal     = "MEJIA MOSCOL JUAN JOSE",
                NombreComercial = "",
                Direccion       = "JR. TUMBES NRO. 100 CENTRO PIURA (A 1 CUADRA DE AV. LIBERTAD CON BOLOGNESI)"
            };

            var dtsItems = new DetalleDocumento
            {
                Id                     = 1,
                Cantidad               = 2000,
                UnidadMedida           = "NIU",
                CodigoItem             = "COD001",
                ItemClassificationCode = "82141601",
                Descripcion            = "PRODUCTO PRUEBA",
                PrecioUnitario         = 21.92m,
                PrecioReferencial      = 25.86m,
                TipoPrecio             = "01",
                TipoImpuesto           = "10",
                OtroImpuesto           = 0,
                Descuento              = 0,
                Suma                   = 2000 * 21.92m,                           //_detalle.PrecioUnitario * _detalle.Cantidad
                Impuesto               = (2000 * 21.92m) * _documento.CalculoIgv, //_detalle.Suma * _documento.CalculoIgv
                ImpuestoSelectivo      = 0,                                       //_detalle.Suma * _documento.CalculoIsc;
                TotalVenta             = (2000 * 21.92m) - 0                      //_detalle.Suma - _detalle.Descuento
            };

            _documento.IdDocumento   = "FND1-00000001";
            _documento.TipoDocumento = "08";
            _documento.Emisor        = dtsEmisor;
            _documento.Receptor      = dtsReceptor;
            _documento.FechaEmision  = DateTime.Today.ToShortDateString();
            _documento.Moneda        = "PEN";
            _documento.TipoOperacion = "0101";
            //Agregamos Detalle
            _documento.Items.Add(dtsItems);
            CalcularTotales();

            //Nota de Credito
            var dtsDocumentoRelacionado = new DocumentoRelacionado
            {
                NroDocumento  = "F001-00000001",
                TipoDocumento = "01"
            };

            _documento.Relacionados.Add(dtsDocumentoRelacionado);

            var dtsDiscrepancia = new Discrepancia
            {
                NroReferencia = "F001-00000001",
                Tipo          = "01",
                Descripcion   = "Nota de Debito del usuario admin"
            };

            _documento.Discrepancias.Add(dtsDiscrepancia);
        }
Exemple #15
0
        private void DatosNCredito()
        {
            var dtsEmisor = new Contribuyente()
            {
                NroDocumento       = "20561278441",
                TipoDocumento      = "6",
                Direccion          = "AV. TACNA NRO. 516 LAMBAYEQUE - FERREÑAFE - FERREÑAFE",
                Departamento       = "LAMBAYEQUE",
                Provincia          = "FERREÑAFE",
                Distrito           = "FERREÑAFE",
                NombreLegal        = "INVERSIONES NANDO´S CHICKEN SAC",
                NombreComercial    = "",
                Ubigeo             = "140201",
                CodDomicilioFiscal = "0000" //Código de cuatro dígitos asignado por SUNAT
            };

            var dtsReceptor = new Contribuyente()
            {
                NroDocumento    = "-",
                TipoDocumento   = "0",
                NombreLegal     = "TORRES LEON ERWIN STALIN",
                NombreComercial = "",
                Direccion       = "PIURA - PIURA - PIURA"
            };

            _documento.Items.Clear();
            for (var i = 1; i < 3; i++)
            {
                _documento.CalculoIgv = 0.00m;
                var dtsItems = new DetalleDocumento
                {
                    Id           = i,
                    Cantidad     = 1m,
                    UnidadMedida = "NIU",
                    CodigoItem   = "COD001" + i,
                    //ItemClassificationCode = "82141601",// Este código será obligatorio para el 1-1-2019 - catálogo N° 15 del Anexo N° 8 - OBLIGATOIO PARA EXPORTACIONES DESDE NOVIEMBRE
                    Descripcion       = "PRODUCTO PRUEBA",
                    PrecioUnitario    = 42.3728m, //Consignar 0.00 siempre y cuando la factura sea gratuita - TipoImpuesto=21
                    PrecioReferencial = 50m,
                    TipoPrecio        = "01",     //Se usa 02 cuando el tipo de impuesto es gratuito - Valor referencial unitario en operaciones no onerosas
                    TipoImpuesto      = "40",
                    OtroImpuesto      = 0,
                    Descuento         = 0,
                    Suma              = 42.3728m * 1m,                           //_detalle.PrecioUnitario * _detalle.Cantidad
                    Impuesto          = (42.3728m * 1m) * _documento.CalculoIgv, //_detalle.Suma * _documento.CalculoIgv
                    ImpuestoSelectivo = 0,                                       //_detalle.Suma * _documento.CalculoIsc;
                    TotalVenta        = (42.3728m * 1m) - 0                      //_detalle.Suma - _detalle.Descuento
                };
                //Agregamos Detalle
                _documento.Items.Add(dtsItems);
            }

            _documento.Cargos        = 2.00m;
            _documento.IdDocumento   = "FC05-00000005";
            _documento.TipoDocumento = "07";
            _documento.Emisor        = dtsEmisor;
            _documento.Receptor      = dtsReceptor;
            _documento.FechaEmision  = DateTime.Today.ToShortDateString();
            _documento.Moneda        = "PEN";
            _documento.TipoOperacion = "0200";
            //_documento.Imcoterm = "FCA"; //Esto se usa para la factura de exportacion - ver listado de IMCOTERM


            CalcularTotales();

            //Nota de Credito
            _documento.Relacionados.Clear();
            var dtsDocumentoRelacionado = new DocumentoRelacionado
            {
                NroDocumento  = "F005-00000005",
                TipoDocumento = "01"
            };

            _documento.Relacionados.Add(dtsDocumentoRelacionado);
            _documento.Discrepancias.Clear();
            var dtsDiscrepancia = new Discrepancia
            {
                NroReferencia = "F005-00000005",
                Tipo          = "09",
                Descripcion   = "Nota de Credito del usuario admin"
            };

            _documento.Discrepancias.Add(dtsDiscrepancia);
        }
        public ActionResult <IEnumerable <string> > DiscrepanciaMoneda([FromBody] Discrepancia Gavs)
        {
            var respuesta = Tesoservice.DiscrepanciaM(Gavs);

            return(Ok(respuesta));
        }