Beispiel #1
0
        public ActionResult DeleteConfirmed(string id)
        {
            TCAMBIO tCAMBIO = db.TCAMBIOs.Find(id);

            db.TCAMBIOs.Remove(tCAMBIO);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #2
0
 public ActionResult Edit([Bind(Include = "KURST,FCURR,TCURR,GDATU,UKURS")] TCAMBIO tCAMBIO)
 {
     //Codigo incrustado
     //tCAMBIO.KURST = "C";
     if (ModelState.IsValid)
     {
         db.Entry(tCAMBIO).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tCAMBIO));
 }
Beispiel #3
0
        // GET: TCambio/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TCAMBIO tCAMBIO = db.TCAMBIOs.Find(id);

            if (tCAMBIO == null)
            {
                return(HttpNotFound());
            }
            return(View(tCAMBIO));
        }
Beispiel #4
0
 public ActionResult Edit([Bind(Include = "KURST,FCURR,TCURR,GDATU,UKURS")] TCAMBIO tCAMBIO)
 {
     //Codigo incrustado
     tCAMBIO.KURST = "C";
     if (ModelState.IsValid)
     {
         db.Entry(tCAMBIO).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.TCURR = new SelectList(db.MONEDAs, "WAERS", "ISOCD", tCAMBIO.TCURR);
     ViewBag.FCURR = new SelectList(db.MONEDAs, "WAERS", "ISOCD", tCAMBIO.FCURR);
     return(View(tCAMBIO));
 }
Beispiel #5
0
        // GET: TCambio/Details/5
        public ActionResult Details(string fcur, string tcur, string gd)
        {
            int pagina = 832; //ID EN BASE DE DATOS

            using (TruequeEntities db = new TruequeEntities())
            {
                string u    = User.Identity.Name;
                var    user = db.USUARIOs.Where(a => a.ID.Equals(u)).FirstOrDefault();
                ViewBag.permisos = db.PAGINAVs.Where(a => a.ID.Equals(user.ID)).ToList();
                ViewBag.carpetas = db.CARPETAVs.Where(a => a.USUARIO_ID.Equals(user.ID)).ToList();
                ViewBag.usuario  = user; ViewBag.returnUrl = Request.Url.PathAndQuery;;
                ViewBag.rol      = user.PUESTO.PUESTOTs.Where(a => a.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50;
                ViewBag.Title    = db.PAGINAs.Where(a => a.ID.Equals(pagina)).FirstOrDefault().PAGINATs.Where(b => b.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50;
                ViewBag.warnings = db.WARNINGVs.Where(a => (a.PAGINA_ID.Equals(pagina) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList();
                ViewBag.textos   = db.TEXTOes.Where(a => (a.PAGINA_ID.Equals(831) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList();

                try
                {
                    string p = Session["pais"].ToString();
                    ViewBag.pais = p + ".svg";
                }
                catch
                {
                    //return RedirectToAction("Pais", "Home");
                }
                Session["spras"] = user.SPRAS_ID;
                //Para las version de las fechas
                var      arrF = gd.Split('/');
                var      dtgd = arrF[1] + '/' + arrF[0] + '/' + arrF[2];
                DateTime dt   = DateTime.Parse(dtgd);
                var      con  = db.TCAMBIOs
                                .Where(x => x.FCURR == fcur && x.TCURR == tcur && x.GDATU == dt).FirstOrDefault();

                TCAMBIO co = new TCAMBIO();
                co.KURST = con.KURST;
                co.FCURR = con.FCURR;
                co.TCURR = con.TCURR;
                co.GDATU = con.GDATU;
                co.UKURS = con.UKURS;
                return(View(co));
            }
        }
Beispiel #6
0
        private string Detalle(DOCUMENTO doc, ref List <DetalleContab> contas, CONPOSAPH enca, List <DOCUMENTOF> docf, bool hijo)
        {
            contas = new List <DetalleContab>();
            TAT001Entities   db   = new TAT001Entities();
            List <CONPOSAPP> conp = new List <CONPOSAPP>();
            CLIENTE          clien;
            CUENTA           cuent;
            TCAMBIO          cambio = new TCAMBIO();
            TAXEOH           taxh   = new TAXEOH();
            List <TAXEOP>    taxp   = new List <TAXEOP>();
            MATERIAL         material;

            string[] grupos;
            string   grupo   = "";
            string   materi  = "";
            string   factura = "";

            try
            {
                try
                {
                    conp = db.CONPOSAPPs.Where(x => x.CONSECUTIVO == enca.CONSECUTIVO).ToList();
                }
                catch (Exception f)
                {
                    return("No se encontro datos de configuracion para detalle contable");
                }
                try
                {
                    clien = db.CLIENTEs.Where(x => x.KUNNR == doc.PAYER_ID).Single();
                }
                catch (Exception g)
                {
                    return("No se encontro datos de cliente para detalle contable");
                }
                try
                {
                    cuent = db.CUENTAs.Where(x => x.PAIS_ID == doc.PAIS_ID && x.SOCIEDAD_ID == doc.SOCIEDAD_ID && x.TALL_ID == doc.TALL_ID).Single();
                }
                catch (Exception h)
                {
                    return("No se encontro datos de cuenta para detalle contable");
                }
                try
                {
                    string pais = db.TAX_LAND.Where(x => x.ACTIVO == true && x.PAIS_ID == doc.PAIS_ID).Select(x => x.PAIS_ID).Single();
                    if (String.IsNullOrEmpty(pais) == false)
                    {
                        if (enca.TIPO_DOC == "DG" || enca.TIPO_DOC == "BB" || enca.TIPO_DOC == "KG")
                        {
                            try
                            {
                                taxh = db.TAXEOHs.Where(x => x.PAIS_ID == doc.PAIS_ID && x.SOCIEDAD_ID == doc.SOCIEDAD_ID && x.KUNNR == clien.KUNNR && x.CONCEPTO_ID == doc.CONCEPTO_ID).Single();
                            }
                            catch (Exception)
                            {
                                return("No se encontro datos de configuracion de taxeo");
                            }
                        }
                    }
                }
                catch (Exception z)
                {
                }
                try
                {
                    if (doc.PAIS_ID == "CO")
                    {
                        if (enca.TIPO_DOC == "DG" || enca.TIPO_DOC == "BB")
                        {
                            taxp = db.TAXEOPs.Where(x => x.PAIS_ID == doc.PAIS_ID && x.SOCIEDAD_ID == doc.SOCIEDAD_ID && x.KUNNR == clien.KUNNR && x.CONCEPTO_ID == doc.CONCEPTO_ID).ToList();
                        }
                    }
                }
                catch (Exception)
                {
                    return("No se encontro configuracion para extraccion de retencion");
                }
                if (docf.Count > 0)
                {
                    factura = docf[0].FACTURA;
                }
                if (String.IsNullOrEmpty(clien.EXPORTACION) == false)
                {
                    try
                    {
                        cambio = db.TCAMBIOs.Where(x => x.FCURR == doc.MONEDA_ID && x.TCURR == "USD" && x.GDATU == DateTime.Today).Single();
                    }
                    catch (Exception)
                    {
                        return("No se encontro el cambio de moneda de la fecha actual.");
                    }
                }

                for (int i = 0; i < conp.Count; i++)
                {
                    if (conp[i].POSICION == 1)
                    {
                        DetalleContab conta = new DetalleContab();
                        conta.POS_TYPE  = conp[i].KEY;
                        conta.ACCOUNT   = cuent.ABONO.ToString();
                        conta.COMP_CODE = doc.SOCIEDAD_ID;
                        conta.BUS_AREA  = conp[i].BUS_AREA;
                        conta.POST_KEY  = conp[i].POSTING_KEY;
                        conta.TEXT      = doc.CONCEPTO;
                        conta.BALANCE   = Conversion(Convert.ToDecimal(doc.MONTO_DOC_MD), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                        if (conp[i].POSTING_KEY == "11")
                        {
                            if (enca.TIPO_DOC == "BB")
                            {
                                if (doc.PAIS_ID == "CO")
                                {
                                    conta.BALANCE = Conversion(Convert.ToDecimal(doc.MONTO_DOC_MD + (doc.MONTO_DOC_MD * taxh.PORC / 100)), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                }
                                conta.REF_KEY1 = clien.STCD1;
                                conta.REF_KEY3 = clien.NAME1;
                                if (enca.CALC_TAXT == false)
                                {
                                    conta.TAX_CODE = conp[i].TAX_CODE;
                                }
                            }
                            else
                            {
                                conta.REF_KEY1 = conp[i].REF_KEY1;
                                conta.REF_KEY3 = conp[i].REF_KEY3;
                            }
                            conta.ACCOUNT = clien.PAYER;
                        }
                        if (conp[i].POSTING_KEY == "31")
                        {
                            conta.ACCOUNT = clien.PROVEEDOR_ID;
                            if (enca.TIPO_DOC == "KR" && doc.PAIS_ID == "CO")
                            {
                                conta.ASSIGNMENT = clien.PAYER;
                                if (enca.CALC_TAXT == false)
                                {
                                    conta.TAX_CODE = taxh.IMPUESTO_ID;
                                }
                            }
                            if (enca.TIPO_DOC == "KG" && doc.PAIS_ID == "CO")
                            {
                                conta.BALANCE = Conversion(Convert.ToDecimal(doc.MONTO_DOC_MD + (doc.MONTO_DOC_MD * taxh.PORC / 100)), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                            }
                        }
                        if (conp[i].POSTING_KEY == "50" && enca.TIPO_DOC == "RN")
                        {
                            conta.ACCOUNT = cuent.CLEARING.ToString();
                        }
                        if (conp[i].POSTING_KEY == "50" && enca.TIPO_DOC == "SA" && hijo)
                        {
                            conta.ACCOUNT = cuent.CLEARING.ToString();
                        }
                        if (doc.PAIS_ID == "CO" && enca.TIPO_DOC != "SA")
                        {
                            if (taxp.Count > 0)
                            {
                                for (int k = 0; k < taxp.Count; k++)
                                {
                                    conta.RETENCION_ID += taxp[k].RETENCION_ID + ",";
                                }
                                conta.RETENCION_ID = conta.RETENCION_ID.Substring(0, conta.RETENCION_ID.Length - 1);
                            }
                            if (enca.TIPO_SOL == "KG")
                            {
                                conta.ACCOUNT = clien.PROVEEDOR_ID;
                            }
                        }
                        contas.Add(conta);
                    }
                    else
                    {
                        List <DOCUMENTOM> docm = db.DOCUMENTOMs.Where(x => x.NUM_DOC == doc.NUM_DOC).ToList();
                        for (int j = 0; j < docm.Count; j++)
                        {
                            DetalleContab conta = new DetalleContab();
                            conta.POS_TYPE    = conp[i].KEY;
                            conta.COMP_CODE   = doc.SOCIEDAD_ID;
                            conta.BUS_AREA    = conp[i].BUS_AREA;
                            conta.POST_KEY    = conp[i].POSTING_KEY;
                            conta.TEXT        = doc.CONCEPTO;
                            conta.REF_KEY1    = clien.STCD1;
                            conta.REF_KEY3    = clien.NAME1;
                            conta.SALES_ORG   = clien.VKORG;
                            conta.DIST_CHANEL = clien.VTWEG;
                            conta.DIVISION    = clien.SPART;
                            if (enca.TIPO_DOC != "RN" && doc.PAIS_ID != "CO")
                            {
                                conta.CUSTOMER = doc.PAYER_ID;
                                conta.PRODUCT  = docm[j].MATNR;
                                if (conp[i].QUANTITY != null && conp[i].QUANTITY != 0)
                                {
                                    conta.QTY = conp[i].QUANTITY.ToString();
                                }
                                conta.AMOUNT_LC = conp[i].BASE_UNIT;
                                conta.ACCOUNT   = cuent.CARGO.ToString();
                                //conta.BALANCE = (docp[j].MONTO_APOYO * docp[j].VOLUMEN_EST).ToString();

                                //conta.BALANCE = docp[j].APOYO_REAL.ToString();
                                if (enca.TIPO_DOC == "BB" || enca.TIPO_DOC == "DG")
                                {
                                    //conta.BALANCE = docm[j].APOYO_REAL.ToString(); //KCMX notacredito
                                    conta.BALANCE = Conversion(Convert.ToDecimal(docm[j].APOYO_REAL), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                }
                                else if (enca.TIPO_DOC == "SA" && hijo)
                                {
                                    conta.BALANCE = Conversion(Convert.ToDecimal(docm[j].APOYO_REAL), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                }
                                else
                                {
                                    //conta.BALANCE = docm[j].APOYO_EST.ToString(); //KCMX solic
                                    conta.BALANCE = Conversion(Convert.ToDecimal(docm[j].APOYO_EST), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                }
                            }
                            else
                            {
                                //conta.SALES_ORG =
                                //conta.DIST_CHANEL =
                                //conta.DIVISION =
                                conta.CUSTOMER    =
                                    conta.PRODUCT = "";
                                conta.ACCOUNT     = cuent.ABONO.ToString();
                                conta.BALANCE     = Conversion(Convert.ToDecimal(docm[j].APOYO_REAL), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                if (enca.TIPO_DOC == "BB" || enca.TIPO_DOC == "SA")
                                {
                                    if (doc.PAIS_ID == "CO")
                                    {
                                        //conta.SALES_ORG = clien.VKORG;
                                        //conta.DIST_CHANEL = clien.VTWEG;
                                        //conta.DIVISION = clien.SPART;
                                        conta.SALES_DIST = clien.BZIRK;
                                        conta.CUSTOMER   = doc.PAYER_ID;
                                        conta.PRODUCT    = docm[j].MATNR;
                                        //conta.REF_KEY1 = clien.STCD1;
                                        //conta.REF_KEY3 = clien.NAME1;
                                        conta.ACCOUNT = cuent.CARGO.ToString();
                                        if (enca.TIPO_DOC == "SA")
                                        {
                                            conta.BALANCE    = Conversion(Convert.ToDecimal(docm[j].APOYO_EST), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                            conta.ASSIGNMENT = doc.PAYER_ID;
                                        }
                                        if (enca.TIPO_DOC == "BB")
                                        {
                                            conta.BALANCE = Conversion(Convert.ToDecimal(docm[j].APOYO_REAL), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                        }
                                    }
                                }
                                //if (enca.TIPO_DOC != "KG" && doc.PAIS_ID == "CO")
                                //{
                                //    //conta.BALANCE = docm[j].APOYO_EST.ToString();
                                //    conta.BALANCE = Conversion(Convert.ToDecimal(docm[j].APOYO_EST), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                //}
                                if (enca.TIPO_DOC == "KG" && doc.PAIS_ID == "CO")
                                {
                                    //conta.BALANCE = (doc.MONTO_DOC_MD + (doc.MONTO_DOC_MD * tax.PORC / 100)).ToString();
                                    conta.BALANCE  = Conversion(Convert.ToDecimal(doc.MONTO_DOC_MD + (doc.MONTO_DOC_MD * taxh.PORC / 100)), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                    conta.ACCOUNT  = cuent.CLEARING.ToString();
                                    conta.PRODUCT  = docm[j].MATNR;
                                    conta.CUSTOMER = doc.PAYER_ID;
                                }
                                if (enca.TIPO_DOC == "DG" && doc.PAIS_ID == "CO")
                                {
                                    conta.ACCOUNT  = cuent.CARGO.ToString();
                                    conta.BALANCE  = Conversion(Convert.ToDecimal(docm[j].APOYO_REAL), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                    conta.PRODUCT  = docm[j].MATNR;
                                    conta.CUSTOMER = doc.PAYER_ID;
                                    conta.REF_KEY1 = factura;
                                    conta.REF_KEY3 = clien.NAME1;
                                }
                                if (enca.TIPO_DOC == "RN")
                                {
                                    conta.ACCOUNT = cuent.CLEARING.ToString();
                                }
                            }
                            if (enca.TIPO_DOC == "KR" && doc.PAIS_ID == "CO")
                            {
                                if (enca.CALC_TAXT == false)
                                {
                                    conta.TAX_CODE = taxh.IMPUESTO_ID;
                                }
                                conta.ASSIGNMENT = clien.PAYER;
                                conta.PRODUCT    = docm[j].MATNR;
                                conta.CUSTOMER   = doc.PAYER_ID;
                                conta.ACCOUNT    = cuent.CLEARING.ToString();
                            }
                            else
                            {
                                if (enca.CALC_TAXT == false)
                                {
                                    materi   = docm[j].MATNR;
                                    material = db.MATERIALs.Where(x => x.ID == materi).First();
                                    grupos   = conp[i].MATERIALGP.Split('+');
                                    grupo    = grupos.Where(x => x == material.MATERIALGP_ID).FirstOrDefault();
                                    if (String.IsNullOrEmpty(grupo) == false)
                                    {
                                        conta.TAX_CODE = conp[i].TAXCODEGP;
                                    }
                                    else
                                    {
                                        conta.TAX_CODE = conp[i].TAX_CODE;
                                    }
                                }
                            }
                            if (enca.TIPO_DOC == "DG" || enca.TIPO_DOC == "BB")
                            {
                                if (doc.PAIS_ID != "CO")
                                {
                                    conta.REF_KEY1 = conp[i].REF_KEY1;
                                    conta.REF_KEY3 = conp[i].REF_KEY3;
                                }
                            }
                            contas.Add(conta);
                            if (enca.TIPO_DOC == "RN" || enca.TIPO_DOC == "KR" || enca.TIPO_DOC == "KG")
                            {
                                break;
                            }
                        }
                        List <DOCUMENTOP> docp = db.DOCUMENTOPs.Where(x => x.NUM_DOC == doc.NUM_DOC).ToList();
                        for (int j = 0; j < docp.Count; j++)
                        {
                            DetalleContab conta = new DetalleContab();
                            conta.POS_TYPE    = conp[i].KEY;
                            conta.COMP_CODE   = doc.SOCIEDAD_ID;
                            conta.BUS_AREA    = conp[i].BUS_AREA;
                            conta.POST_KEY    = conp[i].POSTING_KEY;
                            conta.TEXT        = doc.CONCEPTO;
                            conta.REF_KEY1    = clien.STCD1;
                            conta.REF_KEY3    = clien.NAME1;
                            conta.SALES_ORG   = clien.VKORG;
                            conta.DIST_CHANEL = clien.VTWEG;
                            conta.DIVISION    = clien.SPART;
                            if (enca.TIPO_DOC != "RN" && doc.PAIS_ID != "CO")
                            {
                                conta.CUSTOMER = doc.PAYER_ID;
                                conta.PRODUCT  = docp[j].MATNR;
                                if (conp[i].QUANTITY != null && conp[i].QUANTITY != 0)
                                {
                                    conta.QTY = conp[i].QUANTITY.ToString();
                                }
                                conta.AMOUNT_LC = conp[i].BASE_UNIT;
                                conta.ACCOUNT   = cuent.CARGO.ToString();
                                //conta.BALANCE = (docp[j].MONTO_APOYO * docp[j].VOLUMEN_EST).ToString();

                                //conta.BALANCE = docp[j].APOYO_REAL.ToString();
                                if (enca.TIPO_DOC == "BB" || enca.TIPO_DOC == "DG")
                                {
                                    //conta.BALANCE = docp[j].APOYO_REAL.ToString(); //KCMX notacredito
                                    conta.BALANCE = Conversion(Convert.ToDecimal(docp[j].APOYO_REAL), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                }
                                else if (enca.TIPO_DOC == "SA" && hijo)
                                {
                                    //conta.BALANCE = docp[j].APOYO_EST.ToString(); //KCMX solic
                                    conta.BALANCE = Conversion(Convert.ToDecimal(docp[j].APOYO_REAL), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                }
                                else
                                {
                                    conta.BALANCE = Conversion(Convert.ToDecimal(docp[j].APOYO_EST), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                }
                            }
                            else
                            {
                                //conta.SALES_ORG =
                                //conta.DIST_CHANEL =
                                //conta.DIVISION =
                                conta.CUSTOMER    =
                                    conta.PRODUCT = "";
                                conta.ACCOUNT     = cuent.ABONO.ToString();
                                conta.BALANCE     = Conversion(Convert.ToDecimal(doc.MONTO_DOC_MD), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                if (enca.TIPO_DOC == "BB" || enca.TIPO_DOC == "SA")
                                {
                                    if (doc.PAIS_ID == "CO")
                                    {
                                        //conta.SALES_ORG = clien.VKORG;
                                        //conta.DIST_CHANEL = clien.VTWEG;
                                        //conta.DIVISION = clien.SPART;
                                        conta.SALES_DIST = clien.BZIRK;
                                        conta.CUSTOMER   = doc.PAYER_ID;
                                        conta.PRODUCT    = docp[j].MATNR;
                                        //conta.REF_KEY1 = clien.STCD1;
                                        //conta.REF_KEY3 = clien.NAME1;
                                        conta.ACCOUNT = cuent.CARGO.ToString();
                                        if (enca.TIPO_DOC == "SA")
                                        {
                                            conta.ASSIGNMENT = doc.PAYER_ID;
                                            conta.BALANCE    = Conversion(Convert.ToDecimal(docp[j].APOYO_EST), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                        }
                                        if (enca.TIPO_DOC == "BB")
                                        {
                                            conta.BALANCE = Conversion(Convert.ToDecimal(docp[j].APOYO_REAL), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                        }
                                    }
                                }
                                //if (enca.TIPO_DOC != "KG" && doc.PAIS_ID == "CO")
                                //{
                                //    //conta.BALANCE = docp[j].APOYO_EST.ToString();
                                //    conta.BALANCE = Conversion(Convert.ToDecimal(docp[j].APOYO_EST), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                //}
                                if (enca.TIPO_DOC == "KG" && doc.PAIS_ID == "CO")
                                {
                                    //conta.BALANCE = (doc.MONTO_DOC_MD + (doc.MONTO_DOC_MD * tax.PORC / 100)).ToString();
                                    conta.BALANCE  = Conversion(Convert.ToDecimal(doc.MONTO_DOC_MD + (doc.MONTO_DOC_MD * taxh.PORC / 100)), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                    conta.ACCOUNT  = cuent.CLEARING.ToString();
                                    conta.PRODUCT  = docp[j].MATNR;
                                    conta.CUSTOMER = doc.PAYER_ID;
                                }
                                if (enca.TIPO_DOC == "DG" && doc.PAIS_ID == "CO")
                                {
                                    conta.ACCOUNT  = cuent.CARGO.ToString();
                                    conta.BALANCE  = Conversion(Convert.ToDecimal(docp[j].APOYO_REAL), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC).ToString();
                                    conta.PRODUCT  = docp[j].MATNR;
                                    conta.CUSTOMER = doc.PAYER_ID;
                                    conta.REF_KEY1 = factura;
                                    conta.REF_KEY3 = clien.NAME1;
                                    //conta.SALES_ORG = clien.VKORG;
                                    //conta.DIST_CHANEL = clien.VTWEG;
                                    //conta.DIVISION = clien.SPART;
                                }
                                if (enca.TIPO_DOC == "RN")
                                {
                                    conta.ACCOUNT = cuent.CLEARING.ToString();
                                }
                            }
                            if (enca.TIPO_DOC == "KR" && doc.PAIS_ID == "CO")
                            {
                                if (enca.CALC_TAXT == false)
                                {
                                    conta.TAX_CODE = taxh.IMPUESTO_ID;
                                }
                                conta.ASSIGNMENT = clien.PAYER;
                                conta.PRODUCT    = docp[j].MATNR;
                                conta.CUSTOMER   = doc.PAYER_ID;
                                conta.ACCOUNT    = cuent.CLEARING.ToString();
                            }
                            else
                            {
                                if (enca.CALC_TAXT == true)
                                {
                                    materi   = docp[j].MATNR;
                                    material = db.MATERIALs.Where(y => y.ID == materi).Single();
                                    grupos   = conp[i].MATERIALGP.Split('+');
                                    grupo    = grupos.Where(x => x == material.MATERIALGP_ID).FirstOrDefault();
                                    if (String.IsNullOrEmpty(grupo) == false)
                                    {
                                        conta.TAX_CODE = conp[i].TAXCODEGP;
                                    }
                                    else
                                    {
                                        conta.TAX_CODE = conp[i].TAX_CODE;
                                    }
                                }
                            }
                            if (enca.TIPO_DOC == "DG" || enca.TIPO_DOC == "BB")
                            {
                                if (doc.PAIS_ID != "CO")
                                {
                                    conta.REF_KEY1 = conp[i].REF_KEY1;
                                    conta.REF_KEY3 = conp[i].REF_KEY3;
                                }
                            }
                            contas.Add(conta);
                            if (enca.TIPO_DOC == "RN" || enca.TIPO_DOC == "KR" || enca.TIPO_DOC == "KG")
                            {
                                break;
                            }
                        }


                        if (enca.TIPO_DOC == "BB" && doc.PAIS_ID == "CO")
                        {
                            DetalleContab conta = new DetalleContab();
                            conta.POS_TYPE    = conp[i].KEY;
                            conta.ACCOUNT     = cuent.CLEARING.ToString();
                            conta.BALANCE     = (Conversion(Convert.ToDecimal(doc.MONTO_DOC_MD + (doc.MONTO_DOC_MD * taxh.PORC / 100)), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC) - Conversion(Convert.ToDecimal(doc.MONTO_DOC_MD), clien.EXPORTACION, Convert.ToDecimal(cambio.UKURS), ref conta.AMOUNT_LC)).ToString();
                            conta.COMP_CODE   = doc.SOCIEDAD_ID;
                            conta.BUS_AREA    = conp[i].BUS_AREA;
                            conta.POST_KEY    = conp[i].POSTING_KEY;
                            conta.TEXT        = doc.CONCEPTO;
                            conta.REF_KEY1    = clien.STCD1;
                            conta.REF_KEY3    = clien.NAME1;
                            conta.CUSTOMER    = doc.PAYER_ID;
                            conta.SALES_ORG   = clien.VKORG;
                            conta.DIST_CHANEL = clien.VTWEG;
                            conta.DIVISION    = clien.SPART;
                            conta.TAX_CODE    = conp[i].TAX_CODE;
                            contas.Add(conta);
                        }
                    }
                }
                return("");
            }
            catch (Exception e)
            {
                return("Error al obtener detalle contable");
            }
        }
Beispiel #7
0
        public ActionResult Create([Bind(Include = "KURST,FCURR,TCURR,GDATU,UKURS")] TCAMBIO tCAMBIO)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (tCAMBIO.UKURS != 0 && tCAMBIO.UKURS != null)
                    {
                        tCAMBIO.KURST = "C";
                        db.TCAMBIOs.Add(tCAMBIO);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                }

                ViewBag.TCURR = new SelectList(db.MONEDAs, "WAERS", "WAERS", tCAMBIO.TCURR);
                ViewBag.FCURR = new SelectList(db.MONEDAs, "WAERS", "WAERS", tCAMBIO.FCURR);
                //Como se genera la lista se borra y se ocupa regenerar
                int pagina = 834; //ID EN BASE DE DATOS
                using (TAT001Entities db = new TAT001Entities())
                {
                    string u = User.Identity.Name;
                    //string u = "admin";
                    var user = db.USUARIOs.Where(a => a.ID.Equals(u)).FirstOrDefault();
                    ViewBag.permisos = db.PAGINAVs.Where(a => a.ID.Equals(user.ID)).ToList();
                    ViewBag.carpetas = db.CARPETAVs.Where(a => a.USUARIO_ID.Equals(user.ID)).ToList();
                    ViewBag.usuario  = user; ViewBag.returnUrl = Request.Url.PathAndQuery;;
                    ViewBag.rol      = user.PUESTO.PUESTOTs.Where(a => a.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50;
                    ViewBag.Title    = db.PAGINAs.Where(a => a.ID.Equals(pagina)).FirstOrDefault().PAGINATs.Where(b => b.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50;
                    ViewBag.warnings = db.WARNINGVs.Where(a => (a.PAGINA_ID.Equals(pagina) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList();
                    ViewBag.textos   = db.TEXTOes.Where(a => (a.PAGINA_ID.Equals(831) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList();
                    ViewBag.error    = "Campo Nulo o Valor Incorrecto";
                    try
                    {
                        string p = Session["pais"].ToString();
                        ViewBag.pais = p + ".svg";
                    }
                    catch
                    {
                        //ViewBag.pais = "mx.svg";
                        //return RedirectToAction("Pais", "Home");
                    }
                    Session["spras"] = user.SPRAS_ID;
                }

                return(View(tCAMBIO));
            }
            catch (Exception e)
            {
                ViewBag.TCURR = new SelectList(db.MONEDAs, "WAERS", "WAERS", tCAMBIO.TCURR);
                ViewBag.FCURR = new SelectList(db.MONEDAs, "WAERS", "WAERS", tCAMBIO.FCURR);
                //Como se genera la lista se borra y se ocupa regenerar
                int pagina = 834; //ID EN BASE DE DATOS
                using (TAT001Entities db = new TAT001Entities())
                {
                    string u = User.Identity.Name;
                    //string u = "admin";
                    var user = db.USUARIOs.Where(a => a.ID.Equals(u)).FirstOrDefault();
                    ViewBag.permisos = db.PAGINAVs.Where(a => a.ID.Equals(user.ID)).ToList();
                    ViewBag.carpetas = db.CARPETAVs.Where(a => a.USUARIO_ID.Equals(user.ID)).ToList();
                    ViewBag.usuario  = user; ViewBag.returnUrl = Request.Url.PathAndQuery;;
                    ViewBag.rol      = user.PUESTO.PUESTOTs.Where(a => a.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50;
                    ViewBag.Title    = db.PAGINAs.Where(a => a.ID.Equals(pagina)).FirstOrDefault().PAGINATs.Where(b => b.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50;
                    ViewBag.warnings = db.WARNINGVs.Where(a => (a.PAGINA_ID.Equals(pagina) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList();
                    ViewBag.textos   = db.TEXTOes.Where(a => (a.PAGINA_ID.Equals(831) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList();
                    ViewBag.error    = e.Message.ToString();
                    try
                    {
                        string p = Session["pais"].ToString();
                        ViewBag.pais = p + ".svg";
                    }
                    catch
                    {
                        //ViewBag.pais = "mx.svg";
                        //return RedirectToAction("Pais", "Home");
                    }
                    Session["spras"] = user.SPRAS_ID;
                }
                return(View(tCAMBIO));
            }
        }