public ProductoListRpt GetListReport(ProductList list) { if (list.Count == 0) { return(null); } ProductoListRpt doc = new ProductoListRpt(); List <ProductoPrint> pList = new List <ProductoPrint>(); foreach (ProductInfo item in list) { pList.Add(ProductoPrint.New(item)); } doc.SetDataSource(pList); FormatHeader(doc); return(doc); }
public static void IsPosibleDelete(long oid) { QueryConditions conditions = new QueryConditions { Familia = Familia.New().GetInfo(false), Estado = EEstado.NoAnulado, }; conditions.Familia.Oid = oid; ProductList productos = ProductList.GetList(conditions, false); if (productos.Count > 0) { throw new iQException(Resources.Messages.PRODUCTOS_ASOCIADOS); } SerieFamiliaList series = SerieFamiliaList.GetList(conditions, false); if (series.Count > 0) { throw new iQException(Resources.Messages.SERIES_ASOCIADAS); } }
public List <CuentaResumen> GetCuentasAndImpuestos(bool get_indirectos) { try { List <CuentaResumen> list = new List <CuentaResumen>(); ProductList productos = ProductList.GetList(false, true); FamiliaList familias = FamiliaList.GetList(false, true); ImpuestoList impuestos = ImpuestoList.GetList(false); bool nuevo; ProductInfo producto; FamiliaInfo familia; string cuenta; string nombre; foreach (InputInvoiceLineInfo item in _conceptos) { ImpuestoResumen impuesto = new ImpuestoResumen(); nuevo = true; producto = productos.GetItem(item.OidProducto); familia = familias.GetItem(producto.OidFamilia); cuenta = (producto.CuentaContableCompra == string.Empty) ? familia.CuentaContableCompra : producto.CuentaContableCompra; nombre = (producto.CuentaContableCompra == string.Empty) ? familia.Codigo + " " + familia.Nombre : producto.Codigo + " " + producto.Nombre; //Agrupamos los conceptos por cuentas contables for (int i = 0; i < list.Count; i++) { CuentaResumen cr = list[i]; //Tiene prioridad la cuenta contable del producto if (producto.CuentaContableCompra != string.Empty) { if ((cr.CuentaContable == producto.CuentaContableCompra) && (cr.Impuesto != null && cr.Impuesto.OidImpuesto == item.OidImpuesto)) { cr.Importe += item.BaseImponible; cr.Impuesto.Importe += item.Impuestos; cr.Impuesto.BaseImponible += item.BaseImponible; list[i] = cr; nuevo = false; break; } } //Luego la de la familia else if ((cr.CuentaContable == familia.CuentaContableCompra) && (cr.Impuesto != null && cr.Impuesto.OidImpuesto == item.OidImpuesto)) { cr.Importe += item.BaseImponible; cr.Impuesto.Importe += item.Impuestos; cr.Impuesto.BaseImponible += item.BaseImponible; list[i] = cr; nuevo = false; break; } } if (nuevo) { CuentaResumen new_cr = new CuentaResumen { OidFamilia = producto.OidFamilia, Importe = item.BaseImponible, CuentaContable = cuenta, Nombre = nombre, }; if (item.Impuestos != 0) { ImpuestoInfo imp = null; if (item.OidImpuesto != 0) { imp = impuestos.GetItem(item.OidImpuesto); } else { imp = impuestos.GetItemByProperty("Porcentaje", item.PImpuestos); } new_cr.Impuesto = new ImpuestoResumen { OidImpuesto = item.OidImpuesto, BaseImponible = item.BaseImponible, Importe = item.Impuestos, SubtipoFacturaRecibida = imp.CodigoImpuestoA3Recibida, Porcentaje = imp.Porcentaje, }; } else if ((get_indirectos) && (item.CuentaContable == "4727000001")) { new_cr.Impuesto = new ImpuestoResumen { OidImpuesto = 4, BaseImponible = 0, Importe = item.Total, SubtipoFacturaRecibida = impuestos.GetItem(4).CodigoImpuestoA3Recibida, }; } list.Add(new_cr); } } return(list); } catch { throw new iQException(String.Format(Resources.Messages.ERROR_FACTURA_CUENTA, NFactura, Acreedor)); } }
public List <CuentaResumen> GetCuentas() { try { List <CuentaResumen> list = new List <CuentaResumen>(); ProductList productos = ProductList.GetList(false, true); FamiliaList familias = FamiliaList.GetList(false, true); bool nuevo; ProductInfo producto; FamiliaInfo familia; string cuenta; foreach (InputInvoiceLineInfo item in _conceptos) { nuevo = true; producto = productos.GetItem(item.OidProducto); if (producto == null) { producto = productos.GetItem(InputDeliveryLineInfo.Get(item.OidConceptoAlbaran, false).OidProducto); } familia = familias.GetItem(producto.OidFamilia); cuenta = (producto.CuentaContableCompra == string.Empty) ? familia.CuentaContableCompra : producto.CuentaContableCompra; //Agrupamos los conceptos por cuentas contables for (int i = 0; i < list.Count; i++) { CuentaResumen cr = list[i]; //Tiene prioridad la cuenta contable del producto if (producto.CuentaContableCompra != string.Empty) { if (cr.CuentaContable == producto.CuentaContableCompra) { cr.Importe += item.BaseImponible; list[i] = cr; nuevo = false; break; } } //Luego la de la familia else if (cr.CuentaContable == familia.CuentaContableCompra) { cr.Importe += item.BaseImponible; list[i] = cr; nuevo = false; break; } } if (nuevo) { list.Add(new CuentaResumen { OidFamilia = producto.OidFamilia, Importe = item.BaseImponible, CuentaContable = cuenta }); } } return(list); } catch { throw new iQException(String.Format(Resources.Messages.ERROR_FACTURA_CUENTA, NFactura, Acreedor)); } }
public new static IAgenteHipatiaList GetAgentes(EntidadInfo entidad) { IAgenteHipatiaList lista = new IAgenteHipatiaList(new List <IAgenteHipatia>()); if (entidad.Tipo == typeof(Almacen).Name) { StoreList list = StoreList.GetList(false); foreach (StoreInfo obj in list) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Despachante).Name) { DespachanteList list = DespachanteList.GetList(false); foreach (DespachanteInfo obj in list) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Employee).Name) { EmployeeList list = EmployeeList.GetList(false); foreach (EmployeeInfo obj in list) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Expedient).Name) { ExpedienteList list = ExpedienteList.GetList(false); foreach (ExpedientInfo obj in list) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(InputInvoice).Name) { InputInvoiceList list = InputInvoiceList.GetList(false); foreach (InputInvoiceInfo obj in list) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(LineaFomento).Name) { LineaFomentoList list = LineaFomentoList.GetList(false); foreach (LineaFomentoInfo obj in list) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Naviera).Name) { NavieraList list = NavieraList.GetList(false); foreach (NavieraInfo obj in list) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Payment).Name) { PaymentList list = PaymentList.GetList(false); foreach (PaymentInfo obj in list) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Product).Name) { ProductList list = ProductList.GetList(false); foreach (ProductInfo obj in list) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Proveedor).Name) { ProveedorList list = ProveedorList.GetList(false); foreach (ProveedorInfo obj in list) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Transporter).Name) { TransporterList list = TransporterList.GetList(false); foreach (TransporterInfo obj in list) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else { throw new iQException("No se ha encontrado el tipo de entidad " + entidad.Tipo); } return(lista); }
public ReportClass GetDetailReport(InputInvoiceInfo item, FormatConfFacturaAlbaranReport conf) { if (item == null) { return(null); } List <InputInvoiceLinePrint> conceptos = new List <InputInvoiceLinePrint>(); List <InputInvoicePrint> pList = new List <InputInvoicePrint>(); foreach (InputInvoiceLineInfo cfi in item.Conceptos) { conceptos.Add(cfi.GetPrintObject()); } //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports if (conceptos.Count <= 0) { return(null); } pList.Add(item.GetPrintObject()); ProductList productos = ProductList.GetList(false); foreach (InputInvoiceLinePrint cfp in conceptos) { if (cfp.OidProducto == 0) { continue; } ProductInfo prod = productos.GetItem(cfp.OidProducto); if (prod != null) { if (prod.AyudaKilo > 0) { cfp.Concepto += " *"; } } } List <ImpuestoResumen> irpf_list = new List <ImpuestoResumen>(); foreach (DictionaryEntry irpf in item.GetIRPF()) { irpf_list.Add((ImpuestoResumen)irpf.Value); } ReportClass doc = null; try { doc = GetReportFromName("Invoice", "InputInvoiceRpt"); } catch { doc = new InputInvoiceRpt(); } doc.Subreports["LinesSubRpt"].SetDataSource(conceptos); if (doc.Subreports["IRPFSubListRpt"] != null) { doc.Subreports["IRPFSubListRpt"].SetDataSource(irpf_list); } doc.SetDataSource(pList); CompanyInfo company = CompanyInfo.Get(Schema.Oid, false); doc.SetParameterValue("nombreEmpresa", company.Name); doc.SetParameterValue("dirEmpresa", company.Direccion); doc.SetParameterValue("dir2Empresa", company.CodPostal + ". " + company.Municipio + ". " + company.Provincia); doc.SetParameterValue("CIFEmpresa", company.VatNumber); doc.SetParameterValue("nota", conf.nota); doc.SetParameterValue("copia", (conf.copia != null) ? conf.copia : string.Empty); doc.SetParameterValue("cuentaBancaria", (conf.cuenta_bancaria != string.Empty) ? conf.cuenta_bancaria : company.CuentaBancaria); return(doc); }