public static BE.SolicitudCompra SolicitudCompra(JS.SolicitudCompra jsSolicitudCompra) { BE.SolicitudCompra beSolicitudCompra = null; try { if (jsSolicitudCompra != null) { beSolicitudCompra = new BE.SolicitudCompra(); beSolicitudCompra.Serie = 0; beSolicitudCompra.Tipo = char.Parse(jsSolicitudCompra.tipo); beSolicitudCompra.Usuario = jsSolicitudCompra.usuario; beSolicitudCompra.Comentario = jsSolicitudCompra.comentario; beSolicitudCompra.FechaContable = ParseStringToDatetime(jsSolicitudCompra.FechaContable); beSolicitudCompra.FechaCreacion = ParseStringToDatetime(jsSolicitudCompra.FechaCreacion); beSolicitudCompra.FechaNecesita = ParseStringToDatetime(jsSolicitudCompra.FechaNecesita); beSolicitudCompra.IdSucursal = ParseStringToInt(jsSolicitudCompra.idSucursal); beSolicitudCompra.IdArea = ParseStringToInt(jsSolicitudCompra.idArea); beSolicitudCompra.DocEntry = 0; beSolicitudCompra.Detalle = new List <BE.SolicitudCompraDetalle>(); int nroLinea = 1; foreach (var jsDetalle in jsSolicitudCompra.items) { var beDetalle = new BE.SolicitudCompraDetalle(); beDetalle.NroLinea = nroLinea; beDetalle.Codigo = jsDetalle.codArticulo; beDetalle.Descripcion = jsDetalle.descripcion; beDetalle.Cantidad = ParseStringToDouble(jsDetalle.cantidad); beDetalle.Precio = 0.0; beDetalle.CodAlmacen = jsDetalle.codAlmacen; beDetalle.CodProyecto = ""; beDetalle.CodCentroCosto = jsDetalle.codCentroCosto; beDetalle.CodProveedor = jsDetalle.codProveedor; beSolicitudCompra.Detalle.Add(beDetalle); nroLinea++; } } return(beSolicitudCompra); } catch (Exception ex) { throw ex; } }
public string Enviar(BE.SolicitudCompra beSolicitudCompra, out int errCode, out string errMessage) { string docEntry = ""; int errCod = 0; string errMsg = ""; try { Documents oSolicitudCompra = oCompany.GetBusinessObject(BoObjectTypes.oPurchaseRequest); oSolicitudCompra.Series = beSolicitudCompra.Serie; if (beSolicitudCompra.Tipo.Equals('I')) { oSolicitudCompra.DocType = BoDocumentTypes.dDocument_Items; } else if (beSolicitudCompra.Tipo.Equals('S')) { oSolicitudCompra.DocType = BoDocumentTypes.dDocument_Service; } oSolicitudCompra.DocDate = beSolicitudCompra.FechaContable; oSolicitudCompra.TaxDate = beSolicitudCompra.FechaContable; oSolicitudCompra.DocDueDate = beSolicitudCompra.FechaCreacion; oSolicitudCompra.ReqType = 12; //oSolicitudCompra.Requester = "solpeceh"; //oSolicitudCompra.RequesterName = beSolicitudCompra.Usuario; oSolicitudCompra.Requester = beSolicitudCompra.Usuario; oSolicitudCompra.RequriedDate = beSolicitudCompra.FechaNecesita; oSolicitudCompra.RequesterBranch = beSolicitudCompra.IdSucursal; oSolicitudCompra.RequesterDepartment = beSolicitudCompra.IdArea; oSolicitudCompra.Comments = beSolicitudCompra.Comentario; int linea = 0; if (beSolicitudCompra.Tipo.Equals('I')) { foreach (var beSolicitudCompraDetalle in beSolicitudCompra.Detalle) { if (linea > 0) { oSolicitudCompra.Lines.Add(); } oSolicitudCompra.Lines.ItemCode = beSolicitudCompraDetalle.Codigo; oSolicitudCompra.Lines.ItemDescription = beSolicitudCompraDetalle.Descripcion; oSolicitudCompra.Lines.Quantity = beSolicitudCompraDetalle.Cantidad; //oEntradaAlmacen.Lines.Price = beEntradaAlmacenDetalle.Precio; //oEntradaAlmacen.Lines.UnitPrice = beEntradaAlmacenDetalle.Precio; //oEntradaAlmacen.Lines.TaxCode = beEntradaAlmacenDetalle.CodImpuesto; //oEntradaAlmacen.Lines.Currency = beEntradaAlmacenDetalle.CodMoneda; oSolicitudCompra.Lines.RequiredDate = beSolicitudCompra.FechaNecesita; oSolicitudCompra.Lines.WarehouseCode = beSolicitudCompraDetalle.CodAlmacen; //oEntradaAlmacen.Lines.AccountCode = beEntradaAlmacenDetalle.CodCuentaContable; oSolicitudCompra.Lines.CostingCode = beSolicitudCompraDetalle.CodCentroCosto; //oEntradaAlmacen.Lines.ProjectCode = beEntradaAlmacenDetalle.CodProyecto; linea++; } } else if (beSolicitudCompra.Tipo.Equals('S')) { foreach (var beSolicitudCompraDetalle in beSolicitudCompra.Detalle) { if (linea > 0) { oSolicitudCompra.Lines.Add(); } oSolicitudCompra.Lines.UserFields.Fields.Item("U_EXX_SERCOMPR").Value = beSolicitudCompraDetalle.Codigo; oSolicitudCompra.Lines.ItemDescription = beSolicitudCompraDetalle.Descripcion; oSolicitudCompra.Lines.Quantity = beSolicitudCompraDetalle.Cantidad; //oEntradaAlmacen.Lines.Price = beEntradaAlmacenDetalle.Precio; //oEntradaAlmacen.Lines.UnitPrice = beEntradaAlmacenDetalle.Precio; //oEntradaAlmacen.Lines.TaxCode = beEntradaAlmacenDetalle.CodImpuesto; //oEntradaAlmacen.Lines.Currency = beEntradaAlmacenDetalle.CodMoneda; oSolicitudCompra.Lines.RequiredDate = beSolicitudCompra.FechaNecesita; //oSolicitudCompra.Lines.WarehouseCode = beSolicitudCompraDetalle.CodAlmacen; //oEntradaAlmacen.Lines.AccountCode = beEntradaAlmacenDetalle.CodCuentaContable; oSolicitudCompra.Lines.CostingCode = beSolicitudCompraDetalle.CodCentroCosto; //oEntradaAlmacen.Lines.ProjectCode = beEntradaAlmacenDetalle.CodProyecto; linea++; } } int retCode = oSolicitudCompra.Add(); if (retCode == 0) { docEntry = oCompany.GetNewObjectKey(); } else { oCompany.GetLastError(out errCod, out errMsg); } errCode = errCod; errMessage = errMsg; return(docEntry); } catch (Exception ex) { throw ex; } }