private void actulizarCursor() { DataRow orow = null; //DataTable cursortipvoucher = new DataTable(); //cursortipvoucher = ocapa.cag3i00_consulta(GlobalVars.GetInstance.Company, txtcodsubdiario.Text, "", 1, GlobalVars.GetInstance.TipoDocumentoContableTodos, "", "", ""); //if (ocapa.sql_error.Length > 0) //{ // frmclass.ShowError(ocapa.sql_error, this); // return; //} //if (cursortipvoucher.Rows.Count == 0) //{ // Interaction.MsgBox("Problemas al hallar tipo de voucher", 64, ""); // return; //} //DataTable cursorformaspagos = new DataTable(); //cursorformaspagos = ocapa.CaeSoft_GetallFormaPagoContabilidad(txtcodpago.Text, 1, 0, "", "", "", GlobalVars.GetInstance.Company); //if (ocapa.sql_error.Length > 0) //{ // frmclass.ShowError(ocapa.sql_error, this); // return; //} //if (cursorformaspagos.Rows.Count == 0) //{ // return; //} int nfila = 0; for (nfila = 0; nfila <= DocumentosPendientes.Rows.Count - 1; nfila++) { if (Convert.ToDecimal(DocumentosPendientes.Rows[nfila]["pagosoles"]) < 0) { DocumentosPendientes.Rows[nfila]["debehaber"] = (DocumentosPendientes.Rows[nfila]["debehaber"].ToString() == VariablesPublicas.ContabilidadIdCargo ? VariablesPublicas.ContabilidadIdAbono : VariablesPublicas.ContabilidadIdCargo); } } int lc_contador = 0; int ncont = 0; int lccontcampos = 0; //string xnomcolumna = ""; decimal vmtcambio = VariablesPublicas.StringtoDecimal(txtCambio.Text); try { tb_co_MovimientosdetBL BL = new tb_co_MovimientosdetBL(); tb_co_Movimientosdet BE = new tb_co_Movimientosdet(); BE.perianio = VariablesPublicas.perianio; BE.perimes = VariablesPublicas.PADL(fEmision.Value.Month.ToString().Trim(), 2, "0"); // VariablesPublicas.PADL(txtMes.Text.Trim(), 2, "0"); BE.moduloid = VariablesDominio.VarTesoreria.Moduloid; BE.local = VariablesDominio.VarTesoreria.Local; BE.diarioid = "XXXX"; BE.asiento = "XXXXXX"; //VariablesPublicas.PADL(txtAsiento.Text.Trim(), 6, "0"); DetFacturacion = BL.GetAll(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0]; } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } //cac3p00 = ocapa.cac3p00_consulta("", "xxx", "", "", "", "", ""); //cac3g00 = ocapa.cac3g00_consulta("xx", "xx", "", "", "", "", ""); //cac3g00.Rows.Add(VariablesPublicas.INSERTINTOTABLE(cac3g00)); //if (ocapa.sql_error.Length > 0) //{ // frmclass.ShowError(ocapa.sql_error, this); // return; //} // Detalles a Amortizar / Pagar decimal vmdebesoles = 0; decimal vmdebedolares = 0; decimal vmhabersoles = 0; decimal vmhaberdolares = 0; decimal vmdebesoles10 = 0; decimal vmdebedolares10 = 0; decimal vmhabersoles10 = 0; decimal vmhaberdolares10 = 0; decimal ndifsoles = 0; for (ncont = 0; ncont <= DocumentosPendientes.Rows.Count - 1; ncont++) { if (Convert.ToBoolean(DocumentosPendientes.Rows[ncont]["selecciona"]) == true) { orow = VariablesPublicas.InsertIntoTable(DetFacturacion); for (lc_contador = 0; lc_contador <= DocumentosPendientes.Rows.Count - 1; lc_contador++) { #region Caso 1: Si no es Nota de Credito orow["debehaber"] = DocumentosPendientes.Rows[ncont]["debehaber"]; #endregion #region Caso 1: Si es Nota de Credito if (DocumentosPendientes.Rows[ncont]["tipdoc"].ToString() == "07") { if (Equivalencias.Left(DocumentosPendientes.Rows[ncont]["cuentaid"].ToString(), 1) == "1") { orow["debehaber"] = "D"; } else if (Equivalencias.Left(DocumentosPendientes.Rows[ncont]["cuentaid"].ToString(), 1) == "4") { orow["debehaber"] = "H"; } } #endregion orow["cuentaid"] = DocumentosPendientes.Rows[ncont]["cuentaid"]; orow["cuentaname"] = DocumentosPendientes.Rows[ncont]["cuentaname"]; orow["ctacte"] = DocumentosPendientes.Rows[ncont]["ctacte"]; orow["nmruc"] = DocumentosPendientes.Rows[ncont]["nmruc"]; orow["ctactename"] = DocumentosPendientes.Rows[ncont]["ctactename"]; orow["tipdoc"] = DocumentosPendientes.Rows[ncont]["tipdoc"]; orow["serdoc"] = DocumentosPendientes.Rows[ncont]["serdoc"]; orow["numdoc"] = DocumentosPendientes.Rows[ncont]["numdoc"]; orow["fechdoc"] = DocumentosPendientes.Rows[ncont]["fechdoc"]; orow["fechvenc"] = DocumentosPendientes.Rows[ncont]["fechvenc"]; orow["importe"] = (DocumentosPendientes.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["pagosoles"])) : Math.Abs(Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["pagodolares"]))); orow["importecambio"] = (DocumentosPendientes.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["pagodolares"])) : Math.Abs(Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["pagosoles"]))); orow["soles"] = Math.Abs(Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["pagosoles"])); orow["dolares"] = Math.Abs(Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["pagodolares"])); orow["moneda"] = DocumentosPendientes.Rows[ncont]["moneda"]; orow["tipcamb"] = DocumentosPendientes.Rows[ncont]["tipcamb"]; orow["tipcambuso"] = "V"; // DocumentosPendientes.Rows[ncont]["tipcambuso"]; orow["tipcambfech"] = DocumentosPendientes.Rows[ncont]["fechdoc"]; orow["pedidoid"] = DocumentosPendientes.Rows[ncont]["pedidoid"]; orow["tip_op"] = DocumentosPendientes.Rows[ncont]["tip_op"]; orow["ser_op"] = DocumentosPendientes.Rows[ncont]["ser_op"]; orow["num_op"] = DocumentosPendientes.Rows[ncont]["num_op"]; } //for (lccontcampos = 0; lccontcampos <= DetFacturacion.Columns.Count - 1; lccontcampos++) //{ // orow[DetFacturacion.Columns[lccontcampos].ColumnName] = DocumentosPendientes.Rows[ncont][DetFacturacion.Columns[lccontcampos].ColumnName]; //} //for (lccontcampos = 0; lccontcampos <= DocumentosPendientes.Columns.Count - 1; lccontcampos++) //{ // if (DocumentosPendientes.Columns[lccontcampos].ColumnName.ToUpper() == "pagosoles" | DocumentosPendientes.Columns[lccontcampos].ColumnName.ToUpper() == "pagodolares" | DocumentosPendientes.Columns[lccontcampos].ColumnName.ToUpper() == "fechdoc") // { // xnomcolumna = DocumentosPendientes.Columns[lccontcampos].ColumnName.ToUpper(); // if (xnomcolumna == "pagosoles" | xnomcolumna == "pagodolares") // { // if (xnomcolumna == "pagosoles") // { // if (Convert.ToDecimal(DocumentosPendientes.Rows[ncont][DocumentosPendientes.Columns[lccontcampos].ColumnName]) > Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["saldosoles"])) // { // orow["imp1_3a"] = DocumentosPendientes.Rows[ncont]["saldosoles"]; // } // else // { // orow["imp1_3a"] = DocumentosPendientes.Rows[ncont][DocumentosPendientes.Columns[lccontcampos].ColumnName]; // } // } // else // { // if (Convert.ToDecimal(DocumentosPendientes.Rows[ncont][DocumentosPendientes.Columns[lccontcampos].ColumnName]) > Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["saldodolares"])) // { // orow["imp2_3a"] = DocumentosPendientes.Rows[ncont]["saldodolares"]; // } // else // { // orow["imp2_3a"] = DocumentosPendientes.Rows[ncont][DocumentosPendientes.Columns[lccontcampos].ColumnName]; // } // } // } //if (xnomcolumna == "fechdoc") //{ // orow["fref_3a"] = DocumentosPendientes.Rows[ncont][DocumentosPendientes.Columns[lccontcampos].ColumnName]; //} //} //} if (DocumentosPendientes.Rows[ncont]["debehaber"].ToString() == VariablesPublicas.ContabilidadIdCargo) { vmdebesoles = vmdebesoles + Math.Abs(Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["pagosoles"])); vmdebedolares = vmdebedolares + Math.Abs(Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["pagodolares"])); } else { vmhabersoles = vmhabersoles + Math.Abs(Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["pagosoles"])); vmhaberdolares = vmhaberdolares + Math.Abs(Convert.ToDecimal(DocumentosPendientes.Rows[ncont]["pagodolares"])); } DetFacturacion.Rows.Add(orow); } } // Gastos Adicionales for (ncont = 0; ncont <= TabCac3p00GastosAdic.Rows.Count - 1; ncont++) { if ((!object.ReferenceEquals(TabCac3p00GastosAdic.Rows[ncont]["cuentaid"], DBNull.Value))) { if (TabCac3p00GastosAdic.Rows[ncont]["cuentaid"].ToString().Trim().Length > 0) { orow = VariablesPublicas.InsertIntoTable(DetFacturacion); for (lccontcampos = 0; lccontcampos <= DetFacturacion.Columns.Count - 1; lccontcampos++) { orow[DetFacturacion.Columns[lccontcampos].ColumnName] = TabCac3p00GastosAdic.Rows[ncont][DetFacturacion.Columns[lccontcampos].ColumnName]; } orow["ctacte"] = xctacte; orow["nmruc"] = txtRuc.Text; orow["ctactename"] = txtCtactename.Text; if (TabCac3p00GastosAdic.Rows[ncont]["moneda"].ToString() == "1") { orow["importe"] = TabCac3p00GastosAdic.Rows[ncont]["Importe"]; orow["importecambio"] = TabCac3p00GastosAdic.Rows[ncont]["ImporteCambio"]; orow["soles"] = TabCac3p00GastosAdic.Rows[ncont]["Importe"]; orow["dolares"] = TabCac3p00GastosAdic.Rows[ncont]["ImporteCambio"]; } else { orow["importe"] = TabCac3p00GastosAdic.Rows[ncont]["Importe"]; orow["importecambio"] = TabCac3p00GastosAdic.Rows[ncont]["ImporteCambio"]; orow["dolares"] = TabCac3p00GastosAdic.Rows[ncont]["Importe"]; orow["soles"] = TabCac3p00GastosAdic.Rows[ncont]["ImporteCambio"]; } DetFacturacion.Rows.Add(orow); if (TabCac3p00GastosAdic.Rows[ncont]["debehaber"].ToString() == VariablesPublicas.ContabilidadIdCargo) { vmdebesoles = vmdebesoles + Math.Abs(Convert.ToDecimal(orow["soles"])); vmdebedolares = vmdebedolares + Math.Abs(Convert.ToDecimal(orow["dolares"])); } else { vmhabersoles = vmhabersoles + Math.Abs(Convert.ToDecimal(orow["soles"])); vmhaberdolares = vmhaberdolares + Math.Abs(Convert.ToDecimal(orow["dolares"])); } } } } // Detalle Cuenta bancos // Un Registro de Letra if (rbUnaletra.Checked) { tablavariasletras = DetFacturacion.Clone(); tablavariasletras.Rows.Add(VariablesPublicas.InsertIntoTable(tablavariasletras)); tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["cuentaid"] = txtCuentaletra.Text; tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["tipdoc"] = "62"; tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["cuentaid"] = txtCuentaletra.Text; tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["cuentaname"] = txtDcuentaletra.Text; tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["serdoc"] = txtSerie.Text; tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["ctacte"] = xctacte; tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["nmruc"] = txtRuc.Text; tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["ctactename"] = txtCtactename.Text; tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["numdoc"] = txtNumpago.Text; tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["fechdoc"] = fEmision.Value.Date; if (fechaVenc.Checked) { tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["fechvenc"] = fechaVenc.Value.Date; } if (vmdebesoles > vmhabersoles) { tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["debehaber"] = VariablesPublicas.ContabilidadIdAbono; } else { tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["debehaber"] = VariablesPublicas.ContabilidadIdCargo; } tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["soles"] = Math.Abs(vmdebesoles - vmhabersoles); tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["dolares"] = Math.Abs(vmdebedolares - vmhaberdolares); tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["moneda"] = (rbDolares.Checked ? 2 : 1); if (rbDolares.Checked) { if (vmtcambio == 0) { tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["soles"] = 0; } else { tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["importe"] = Math.Round(Convert.ToDecimal(tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["dolares"]), 2); tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["importecambio"] = Math.Round(Convert.ToDecimal(tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["dolares"]) * vmtcambio, 2); tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["soles"] = Math.Round(Convert.ToDecimal(tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["dolares"]) * vmtcambio, 2); //tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["soles"] = Math.Round(Convert.ToDecimal(tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["imp2_3a"]) * vmtcambio, 2); } } else { if (vmtcambio == 0) { tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["dolares"] = 0; } else { tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["importe"] = Math.Round(Convert.ToDecimal(tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["soles"]), 2); tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["importecambio"] = Math.Round(Convert.ToDecimal(tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["soles"]) / vmtcambio, 2); tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["dolares"] = Math.Round(Convert.ToDecimal(tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["soles"]) / vmtcambio, 2); //tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["dolares"] = Math.Round(Convert.ToDecimal(tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["imp1_3a"]) / vmtcambio, 2); } } tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["tipcamb"] = txtCambio.Text; tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["tipcambuso"] = "V"; tablavariasletras.Rows[tablavariasletras.Rows.Count - 1]["tipcambfech"] = fEmision.Text; } else { //completa demas datos a letras generadas for (ncont = 0; ncont <= tablavariasletras.Rows.Count - 1; ncont++) { tablavariasletras.Rows[ncont]["cuentaid"] = txtCuentaletra.Text; tablavariasletras.Rows[ncont]["cuentaname"] = txtDcuentaletra.Text; tablavariasletras.Rows[ncont]["fechdoc"] = fEmision.Value.Date; tablavariasletras.Rows[ncont]["moneda"] = (rbDolares.Checked ? 2 : 1); tablavariasletras.Rows[ncont]["tipcamb"] = txtCambio.Text; tablavariasletras.Rows[ncont]["tipcambuso"] = "V"; tablavariasletras.Rows[ncont]["tipcambfech"] = fEmision.Text; if (vmdebesoles > vmhabersoles) { tablavariasletras.Rows[ncont]["debehaber"] = VariablesPublicas.ContabilidadIdAbono; } else { tablavariasletras.Rows[ncont]["debehaber"] = VariablesPublicas.ContabilidadIdCargo; } //tablavariasletras.Rows[ncont]["codbanco_3a"] = txtcodbanco.Text; } } tablavariasletras.AcceptChanges(); if (vmdebesoles > vmhabersoles) { vmdebesoles10 = Math.Abs(vmdebesoles - vmhabersoles); vmdebedolares10 = Math.Abs(vmdebedolares - vmhaberdolares); } else { vmhabersoles10 = Math.Abs(vmdebesoles - vmhabersoles); vmhaberdolares10 = Math.Abs(vmdebedolares - vmhaberdolares); } for (ncont = 0; ncont <= tablavariasletras.Rows.Count - 1; ncont++) { DetFacturacion.Rows.Add(VariablesPublicas.InsertIntoTable(DetFacturacion)); for (lccontcampos = 0; lccontcampos <= tablavariasletras.Columns.Count - 1; lccontcampos++) { if (VariablesPublicas.SeekNameColumn(DetFacturacion, tablavariasletras.Columns[lccontcampos].ColumnName.ToUpper())) { DetFacturacion.Rows[DetFacturacion.Rows.Count - 1][tablavariasletras.Columns[lccontcampos].ColumnName] = tablavariasletras.Rows[ncont][tablavariasletras.Columns[lccontcampos].ColumnName]; } } } //SUMATORIA SOLES/DOLARES ( EN DEBE HABER ) vmdebesoles = 0; vmhabersoles = 0; vmdebedolares = 0; vmhaberdolares = 0; for (ncont = 0; ncont <= DetFacturacion.Rows.Count - 1; ncont++) { DetFacturacion.Rows[ncont]["soles"] = Math.Round(Convert.ToDecimal(DetFacturacion.Rows[ncont]["soles"]), 2); DetFacturacion.Rows[ncont]["dolares"] = Math.Round(Convert.ToDecimal(DetFacturacion.Rows[ncont]["dolares"]), 2); if (DetFacturacion.Rows[ncont]["debehaber"].ToString() == VariablesPublicas.ContabilidadIdCargo) { vmdebesoles = vmdebesoles + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["soles"])); vmdebedolares = vmdebedolares + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["dolares"])); } else { vmhabersoles = vmhabersoles + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["soles"])); vmhaberdolares = vmhaberdolares + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["dolares"])); } } //AJUSTES tb_co_ConfigcuentasrhredBL BiL = new tb_co_ConfigcuentasrhredBL(); tb_co_Configcuentasrhred BiE = new tb_co_Configcuentasrhred(); DataTable tmptablaconfig = BiL.GetAll(VariablesPublicas.EmpresaID.ToString(), BiE).Tables[0]; //ocapa.FagRHP_ConfigCuentas_consulta(GlobalVars.GetInstance.Company); //DataTable tmptablaconfig = ocapa.FagRHP_ConfigCuentas_consulta(GlobalVars.GetInstance.Company); string xcuentaganancia = ""; string xcuentaperdida = ""; decimal ndifdolares = 0; string xccostoganancia = ""; string xccostoperdida = "70101"; if (tmptablaconfig.Rows.Count > 0) { xcuentaganancia = tmptablaconfig.Rows[0]["cuentaiddifganancia"].ToString(); xcuentaperdida = tmptablaconfig.Rows[0]["cuentaiddifperdida"].ToString(); //xccostoganancia = tmptablaconfig.Rows[0]["CCOSTO_DIFCAMGAN"].ToString(); //xccostoperdida = tmptablaconfig.Rows[0]["CCOSTO_DIFCAMPER"].ToString(); } //Ajustes DIF.CAMBIO DOLARES if ((!(vmhaberdolares == vmdebedolares))) { if (xcuentaganancia.Trim().Length > 0 & xcuentaperdida.Trim().Length > 0) { //DetFacturacion.Rows.Add(VariablesPublicas.InsertIntoTable(DetFacturacion)); DetFacturacion.ImportRow(DetFacturacion.Rows[0]); // Duplicar la primera fila DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cuentaname"] = ""; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["debehaber"] = ""; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["importe"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["importecambio"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["soles"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["dolares"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["ctacte"] = xctacte; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["nmruc"] = txtRuc.Text; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["ctactename"] = txtCtactename.Text; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["fechdoc"] = fEmision.Text; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["fechvenc"] = fEmision.Text; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["tipcamb"] = txtCambio.Text; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["tipcambuso"] = "V"; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["tipcambfech"] = fEmision.Text; //DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["dolares"] = 0; ndifdolares = vmdebedolares - vmhaberdolares; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["moneda"] = (rbDolares.Checked ? 2 : 1); DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["debehaber"] = (ndifdolares < 0 ? "D" : "H"); // perdida if ((vmdebedolares - vmhaberdolares) < 0) { DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cuentaid"] = xcuentaperdida; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cuentaname"] = CuentaNombre(VariablesPublicas.perianio, xcuentaperdida); DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cencosid"] = xccostoperdida; } else { DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cuentaid"] = xcuentaganancia; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cuentaname"] = CuentaNombre(VariablesPublicas.perianio, xcuentaganancia); DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cencosid"] = xccostoganancia; } DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["importe"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["importecambio"] = Math.Abs(ndifdolares); DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["soles"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["dolares"] = Math.Abs(ndifdolares); //DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cdoc_3a"] = cursorformaspagos.Rows[0]["CDOCPAGO"]; //DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["ndoc_3a"] = txtnumpago.Text; //DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["codbanco_3a"] = txtcodbanco.Text; //DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["fref_3a"] = femision.Value; } else { XtraMessageBox.Show("El asiento se va a generar con diferencia... Falta Configurar cuentas de ajuste x dif.cambio", ""); } } //Ajustes DIF.CAMBIO SOLES if ((!(vmdebesoles == vmhabersoles)) & Math.Abs(vmdebesoles - vmhabersoles) > 0) { if (xcuentaganancia.Trim().Length > 0 & xcuentaperdida.Trim().Length > 0) { //DetFacturacion.Rows.Add(VariablesPublicas.InsertIntoTable(DetFacturacion)); DetFacturacion.ImportRow(DetFacturacion.Rows[0]); // Duplicar la primera fila DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cuentaname"] = ""; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["debehaber"] = ""; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["importe"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["importecambio"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["soles"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["dolares"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["ctacte"] = xctacte; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["nmruc"] = txtRuc.Text; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["ctactename"] = txtCtactename.Text; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["fechdoc"] = fEmision.Text; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["fechvenc"] = fEmision.Text; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["tipcamb"] = txtCambio.Text; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["tipcambuso"] = "V"; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["tipcambfech"] = fEmision.Text; ndifsoles = vmdebesoles - vmhabersoles; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["moneda"] = (rbDolares.Checked ? 2 : 1); DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["debehaber"] = (ndifsoles < 0 ? "D" : "H"); // perdida if ((vmdebesoles - vmhabersoles) < 0) { DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cuentaid"] = xcuentaperdida; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cuentaname"] = CuentaNombre(VariablesPublicas.perianio, xcuentaperdida); DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cencosid"] = xccostoperdida; } else { DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cuentaid"] = xcuentaganancia; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cuentaname"] = CuentaNombre(VariablesPublicas.perianio, xcuentaganancia); DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["cencosid"] = xccostoganancia; } DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["importe"] = Math.Abs(ndifsoles); DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["importecambio"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["dolares"] = 0; DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["soles"] = Math.Abs(ndifsoles); //DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["dolares"] = 0; //DetFacturacion.Rows[DetFacturacion.Rows.Count - 1]["soles"] = Math.Abs(ndifsoles); } else { XtraMessageBox.Show("El asiento se va a generar con diferencia... Falta Configurar cuentas de ajuste x dif.cambio", ""); } } // Sumatoria para los totales Cabecera vmdebesoles = 0; vmdebedolares = 0; vmhabersoles = 0; vmhaberdolares = 0; for (ncont = 0; ncont <= DetFacturacion.Rows.Count - 1; ncont++) { if (DetFacturacion.Rows[ncont]["debehaber"].ToString() == VariablesPublicas.ContabilidadIdCargo) { vmdebesoles = vmdebesoles + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["soles"])); sumadebesoles = vmdebesoles; vmdebedolares = vmdebedolares + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["dolares"])); sumadebedolares = vmdebedolares; } else { vmhabersoles = vmhabersoles + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["soles"])); sumahabersoles = vmhabersoles; vmhaberdolares = vmhaberdolares + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["dolares"])); sumahaberdolares = vmhaberdolares; } } #region //// Cabecera //cac3g00.Rows[0]["ccia_3"] = GlobalVars.GetInstance.Company; //cac3g00.Rows[0]["cperiodo_3"] = GlobalVars.GetInstance.Periodo; //cac3g00.Rows[0]["ccom_3"] = txtcodsubdiario.Text; //cac3g00.Rows[0]["tcom_3"] = 2; //cac3g00.Rows[0]["tmov_3"] = ""; //cac3g00.Rows[0]["tasien_3"] = 3; //cac3g00.Rows[0]["mone_3"] = (rbDolares.Checked ? 2 : 1); //cac3g00.Rows[0]["fcom_3"] = femision.Value; //cac3g00.Rows[0]["fcome_3"] = femision.Value; //cac3g00.Rows[0]["tcam_3"] = VariablesPublicas.StringtoDecimal(txtcambio.Text); //cac3g00.Rows[0]["totd1_3"] = vmdebesoles + vmdebesoles10; //cac3g00.Rows[0]["totd2_3"] = vmdebedolares + vmdebedolares10; //cac3g00.Rows[0]["toth1_3"] = vmhabersoles + vmhabersoles10; //cac3g00.Rows[0]["toth2_3"] = vmhaberdolares + vmhaberdolares10; //cac3g00.Rows[0]["cuenb_3"] = ""; //cac3g00.Rows[0]["glosa_3"] = Strings.Mid(txtglosa.Text, 1, cac3g00.Columns["glosa_3"].MaxLength); //cac3g00.Rows[0]["girado_3"] = Strings.Mid(txtgirado.Text, 1, cac3g00.Columns["girado_3"].MaxLength); //cac3g00.Rows[0]["flag_3"] = 1; //cac3g00.Rows[0]["usuario_3"] = Strings.Mid(GlobalVars.GetInstance.UserSigla, 1, cac3g00.Columns["usuario_3"].MaxLength); //cac3g00.Rows[0]["fpago_3"] = txtcodpago.Text; //string nlastreg = ""; //string xcodmes = femision.Value.Month.ToString.Trim; //xcodmes = VariablesPublicas.PADL(xcodmes, 2, "0"); //nlastreg = ocapa.CaeSoft_GetAllMaximoMovimientoContable(cac3g00.Rows[0]["ccia_3"], cac3g00.Rows[0]["cperiodo_3"], txtcodsubdiario.Text, xcodmes); //tmptabla = ocapa.cac3p00_consulta(GlobalVars.GetInstance.Company, GlobalVars.GetInstance.Periodo, txtcodsubdiario.Text, xcodmes, nlastreg, "", ""); //if (ocapa.sql_error.Length > 0) //{ // ERP_CAESOFT_FORMS.frmclass.ShowError(ocapa.sql_error, this); // return; //} //dynamic nvmindice = 0; //while (tmptabla.Rows.Count > 0) //{ // nlastreg = ocapa.CaeSoft_GetAllMaximoMovimientoContable(cac3g00.Rows[0]["ccia_3"], cac3g00.Rows[0]["cperiodo_3"], txtcodsubdiario.Text, xcodmes); // tmptabla = ocapa.cac3p00_consulta(GlobalVars.GetInstance.Company, GlobalVars.GetInstance.Periodo, txtcodsubdiario.Text, xcodmes, nlastreg, "", ""); // nvmindice = nvmindice + 1; // if (nvmindice > 999999) // { // Interaction.MsgBox("ERROR LETAL SE ALCANZO EL ToPE DE REGiSTRO PARA ESTE TIPO DE VOUCHER.. CONSULTA A SISTEMAS", 16, ""); // return; // } //} //UltimoNumVoucher = nlastreg; //UltimoMesVoucher = xcodmes; //UltimoTipoVoucher = txtcodsubdiario.Text; //cac3g00.AcceptChanges(); //cac3p00.AcceptChanges(); ////Claves Principales //for (ncont = 0; ncont <= cac3g00.Rows.Count - 1; ncont++) //{ // cac3g00.Rows[ncont]["ncom_3"] = xcodmes + nlastreg; // cac3g00.Rows[ncont]["ccia_3"] = GlobalVars.GetInstance.Company; // cac3g00.Rows[ncont]["cperiodo_3"] = GlobalVars.GetInstance.Periodo; // cac3g00.Rows[ncont]["ccom_3"] = txtcodsubdiario.Text; // cac3g00.Rows[ncont]["flag_3"] = 1; //} //for (ncont = 0; ncont <= cac3p00.Rows.Count - 1; ncont++) //{ // cac3p00.Rows[ncont]["ncom_3a"] = xcodmes + nlastreg; // cac3p00.Rows[ncont]["ccia_3a"] = GlobalVars.GetInstance.Company; // cac3p00.Rows[ncont]["cperiodo_3a"] = GlobalVars.GetInstance.Periodo; // cac3p00.Rows[ncont]["ccom_3a"] = txtcodsubdiario.Text; // cac3p00.Rows[ncont]["flag_3a"] = 1; //} //if (!ocapa.cac3g00_update(cac3g00, cac3p00)) //{ // ERP_CAESOFT_FORMS.frmclass.ShowError(ocapa.sql_error, this); // UltimoTipoVoucher = ""; //} //else //{ // tablavariasletras = VariablesPublicas.Zap(tablavariasletras); // if (!ocapa.CaeSoft_GetAllAsientoAutomaticoDestino(cac3g00.Rows[0]["ccia_3"], cac3g00.Rows[0]["cperiodo_3"], "", cac3g00.Rows[0]["ccom_3"], cac3g00.Rows[0]["ncom_3"], 2, "", "")) // { // ERP_CAESOFT_FORMS.frmclass.ShowError(ocapa.sql_error, this); // } // // Impresion // FRMImpresionMovimientos frm = new FRMImpresionMovimientos(); // frm._tipComprobante = txtcodsubdiario.Text; // frm._nroComprobante = xcodmes + nlastreg; // frm._tipoOperacion = cac3g00.Rows[0]["tasien_3"].ToString(); // frm.Owner = this; // frm.ShowInTaskbar = false; // frm.ShowDialog(); // U_GeneraPendientes(); //} #endregion }
private void ValidarCursor() { DataRow orow = null; int ncont = 0; int lc_contador = 0; decimal vmtcambio = VariablesPublicas.StringtoDecimal(txtTipocambio.Text); try { tb_co_MovimientosdetBL BL = new tb_co_MovimientosdetBL(); tb_co_Movimientosdet BE = new tb_co_Movimientosdet(); BE.perianio = VariablesPublicas.perianio; BE.perimes = VariablesPublicas.PADL(txtMes.Text.Trim(), 2, "0"); BE.moduloid = VariablesDominio.VarTesoreria.Moduloid; BE.local = VariablesDominio.VarTesoreria.Local; BE.diarioid = "XXXX"; BE.asiento = "XXXXXX"; //VariablesPublicas.PADL(txtAsiento.Text.Trim(), 6, "0"); DetMovimiento = BL.GetAll(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0]; } catch (Exception ex) { DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } //if (rbnPagos.Checked == true | rbnLetras.Checked == true) //{ #region // Detalles a Amortizar / Pagar decimal vmdebesoles = 0; decimal vmdebedolares = 0; decimal vmhabersoles = 0; decimal vmhaberdolares = 0; decimal vmdebesoles10 = 0; decimal vmdebedolares10 = 0; decimal vmhabersoles10 = 0; decimal vmhaberdolares10 = 0; decimal ndifsoles = 0; for (ncont = 0; ncont <= DetFacturacion.Rows.Count - 1; ncont++) { orow = VariablesPublicas.InsertIntoTable(DetMovimiento); for (lc_contador = 0; lc_contador <= DetFacturacion.Rows.Count - 1; lc_contador++) { orow["cuentaid"] = DetFacturacion.Rows[ncont]["cuentaid"]; orow["cuentaname"] = CuentaName(VariablesPublicas.perianio, DetFacturacion.Rows[ncont]["cuentaid"].ToString()); orow["ctacte"] = DetFacturacion.Rows[ncont]["ctacte"]; orow["nmruc"] = DetFacturacion.Rows[ncont]["nmruc"]; orow["ctactename"] = txtCtactename.Text; orow["tipdoc"] = DetFacturacion.Rows[ncont]["tipdoc"]; orow["serdoc"] = DetFacturacion.Rows[ncont]["serdoc"]; orow["numdoc"] = DetFacturacion.Rows[ncont]["numdoc"]; orow["fechdoc"] = DetFacturacion.Rows[ncont]["fechdoc"]; orow["fechvenc"] = DetFacturacion.Rows[ncont]["fechvcto"]; orow["importe"] = (DetFacturacion.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importepagosoles"])) : Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importepagodolares1"]))); orow["importecambio"] = (DetFacturacion.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importepagodolares1"])) : Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importepagosoles"]))); orow["soles"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importepagosoles"])); orow["dolares"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importepagodolares1"])); orow["moneda"] = DetFacturacion.Rows[ncont]["moneda"]; orow["tipcamb"] = DetFacturacion.Rows[ncont]["tipcamb"]; orow["tipcambuso"] = "V"; orow["tipcambfech"] = DetFacturacion.Rows[ncont]["fechdoc"]; orow["debehaber"] = (DetFacturacion.Rows[ncont]["tipdoc"].ToString() == "07" ? "H" : "D"); //orow["pedidoid"] = DetFacturacion.Rows[ncont]["pedidoid"]; //orow["tip_op"] = DetFacturacion.Rows[ncont]["tip_op"]; //orow["ser_op"] = DetFacturacion.Rows[ncont]["ser_op"]; //orow["num_op"] = DetFacturacion.Rows[ncont]["num_op"]; } if (DetFacturacion.Rows[ncont]["tipdoc"].ToString() == "07") //VariablesPublicas.ContabilidadIdCargo) { vmhabersoles = vmhabersoles + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetosoles"])); vmhaberdolares = vmhaberdolares + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetodolares"])); } else { vmdebesoles = vmdebesoles + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetosoles"])); vmdebedolares = vmdebedolares + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetodolares"])); } DetMovimiento.Rows.Add(orow); //} #endregion #region// Detalle Cuenta bancos o Letras //if (rbnLetras.Checked == true) //{ //completa demas datos a letras generadas for (ncont = 0; ncont <= DetLetras.Rows.Count - 1; ncont++) { orow = VariablesPublicas.InsertIntoTable(DetMovimiento); for (lc_contador = 0; lc_contador <= DetLetras.Rows.Count - 1; lc_contador++) { orow["cuentaid"] = DetLetras.Rows[ncont]["cuentaid"]; orow["cuentaname"] = txtCuentaname.Text; orow["ctacte"] = DetLetras.Rows[ncont]["ctacte"]; orow["nmruc"] = DetLetras.Rows[ncont]["nmruc"]; orow["ctactename"] = txtCtactename.Text; orow["tipdoc"] = DetLetras.Rows[ncont]["tipdoc"]; orow["serdoc"] = DetLetras.Rows[ncont]["serdoc"]; orow["numdoc"] = DetLetras.Rows[ncont]["numdoc"]; orow["fechdoc"] = DetLetras.Rows[ncont]["fechdoc"]; orow["fechvenc"] = DetLetras.Rows[ncont]["fechvcto"]; orow["importe"] = (DetLetras.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetLetras.Rows[ncont]["importe1"])) : Math.Abs(Convert.ToDecimal(DetLetras.Rows[ncont]["importe1"]))); orow["importecambio"] = (DetLetras.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetLetras.Rows[ncont]["importe2"])) : Math.Abs(Convert.ToDecimal(DetLetras.Rows[ncont]["importe2"]))); orow["soles"] = (DetLetras.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetLetras.Rows[ncont]["importe1"])) : Math.Abs(Convert.ToDecimal(DetLetras.Rows[ncont]["importe2"]))); orow["dolares"] = (DetLetras.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetLetras.Rows[ncont]["importe2"])) : Math.Abs(Convert.ToDecimal(DetLetras.Rows[ncont]["importe1"]))); orow["moneda"] = DetLetras.Rows[ncont]["moneda"]; orow["tipcamb"] = txtTipocambio.Text; orow["tipcambuso"] = "V"; orow["tipcambfech"] = fRegistro.Text; orow["debehaber"] = "H"; } DetMovimiento.Rows.Add(orow); } //} //else //{ // //DetMovimiento.Rows.Add(VariablesPublicas.InsertIntoTable(DetMovimiento)); // DetMovimiento.ImportRow(DetMovimiento.Rows[0]); // Duplicar la primera fila // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = ""; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["debehaber"] = ""; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importe"] = 0; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importecambio"] = 0; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = 0; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"] = 0; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaid"] = txtCuentaidP.Text; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = txtCuentanameP.Text; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["moneda"] = cboMonedaP.SelectedValue; // if (vmdebesoles > vmhabersoles) // { // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["debehaber"] = VariablesPublicas.ContabilidadIdAbono; // vmdebesoles10 = Math.Abs(vmdebesoles - vmhabersoles); // vmdebedolares10 = Math.Abs(vmdebedolares - vmhaberdolares); // } // else // { // vmhabersoles10 = Math.Abs(vmdebesoles - vmhabersoles); // vmhaberdolares10 = Math.Abs(vmdebedolares - vmhaberdolares); // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["debehaber"] = VariablesPublicas.ContabilidadIdCargo; // } // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = Math.Round(Math.Abs(vmdebesoles - vmhabersoles), 2); // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"] = Math.Round(Math.Abs(vmdebedolares - vmhaberdolares), 2); // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["ctacte"] = xctacte; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["ctactename"] = txtCtactename.Text; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["nmruc"] = txtRuc.Text; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["fechdoc"] = fRegistro.Text; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["fechvenc"] = fRegistro.Text; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcamb"] = txtTipocambio.Text; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcambuso"] = "V"; // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcambfech"] = fRegistro.Text; // if (cboMonedaP.SelectedValue.ToString() == "2") // { // if (vmtcambio == 0) // { // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = 0; // } // else // { // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importe"] = Math.Round(Convert.ToDecimal(DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"]), 2); // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importecambio"] = Math.Round(Convert.ToDecimal(DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"]) * vmtcambio, 2); // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = Math.Round(Convert.ToDecimal(DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"]) * vmtcambio, 2); // } // } // else // { // if (vmtcambio == 0) // { // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["doalres"] = 0; // } // else // { // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importe"] = Math.Round(Convert.ToDecimal(DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"]), 2); // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importecambio"] = Math.Round(Convert.ToDecimal(DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"]) / vmtcambio, 2); // DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"] = Math.Round(Convert.ToDecimal(DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"]) / vmtcambio, 2); // } // } //} #endregion #region// Cuenta Retencion IGV for (ncont = 0; ncont <= DetFacturacion.Rows.Count - 1; ncont++) { orow = VariablesPublicas.InsertIntoTable(DetMovimiento); for (lc_contador = 0; lc_contador <= DetFacturacion.Rows.Count - 1; lc_contador++) { orow["cuentaid"] = txtCuentaid.Text; orow["cuentaname"] = txtCuentaname.Text; orow["ctacte"] = DetFacturacion.Rows[ncont]["ctacte"]; orow["nmruc"] = DetFacturacion.Rows[ncont]["nmruc"]; orow["ctactename"] = txtCtactename.Text; orow["tipdoc"] = DetFacturacion.Rows[ncont]["tipdoc"]; orow["serdoc"] = DetFacturacion.Rows[ncont]["serdoc"]; orow["numdoc"] = DetFacturacion.Rows[ncont]["numdoc"]; orow["fechdoc"] = DetFacturacion.Rows[ncont]["fechdoc"]; orow["fechvenc"] = DetFacturacion.Rows[ncont]["fechvcto"]; orow["importe"] = (DetFacturacion.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])) : Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"]))); orow["importecambio"] = (DetFacturacion.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])) : Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"]))); orow["soles"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])); orow["dolares"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])); orow["moneda"] = DetFacturacion.Rows[ncont]["moneda"]; orow["tipcamb"] = DetFacturacion.Rows[ncont]["tipcamb"]; orow["tipcambuso"] = "V"; orow["tipcambfech"] = DetFacturacion.Rows[ncont]["fechdoc"]; orow["debehaber"] = (DetFacturacion.Rows[ncont]["tipdoc"].ToString() == "07" ? "D" : "H"); } DetMovimiento.Rows.Add(orow); } #endregion #region // SUMATORIA SOLES/DOLARES ( EN DEBE HABER ) vmdebesoles = 0; vmhabersoles = 0; vmdebedolares = 0; vmhaberdolares = 0; for (ncont = 0; ncont <= DetMovimiento.Rows.Count - 1; ncont++) { DetMovimiento.Rows[ncont]["soles"] = Math.Round(Convert.ToDecimal(DetMovimiento.Rows[ncont]["soles"]), 2); DetMovimiento.Rows[ncont]["dolares"] = Math.Round(Convert.ToDecimal(DetMovimiento.Rows[ncont]["dolares"]), 2); if (DetMovimiento.Rows[ncont]["debehaber"].ToString() == VariablesPublicas.ContabilidadIdCargo) { vmdebesoles = vmdebesoles + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["soles"])); vmdebedolares = vmdebedolares + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["dolares"])); } else { vmhabersoles = vmhabersoles + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["soles"])); vmhaberdolares = vmhaberdolares + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["dolares"])); } } #endregion #region // AJUSTES X DIFERENCIA DE CAMBIO tb_co_ConfigcuentasrhredBL BiL = new tb_co_ConfigcuentasrhredBL(); tb_co_Configcuentasrhred BiE = new tb_co_Configcuentasrhred(); DataTable tmptablaconfig = BiL.GetAll(VariablesPublicas.EmpresaID.ToString(), BiE).Tables[0]; string xcuentaganancia = ""; string xcuentaperdida = ""; decimal ndifdolares = 0; string xccostoganancia = ""; string xccostoperdida = "70101"; if (tmptablaconfig.Rows.Count > 0) { xcuentaganancia = tmptablaconfig.Rows[0]["cuentaiddifganancia"].ToString(); xcuentaperdida = tmptablaconfig.Rows[0]["cuentaiddifperdida"].ToString(); //xccostoganancia = tmptablaconfig.Rows[0]["CCOSTO_DIFCAMGAN"].ToString(); //xccostoperdida = tmptablaconfig.Rows[0]["CCOSTO_DIFCAMPER"].ToString(); } //Ajustes DIF.CAMBIO EN DOLARES if ((!(vmhaberdolares == vmdebedolares)) & Math.Abs(vmdebedolares - vmhaberdolares) > 0) { if (xcuentaganancia.Trim().Length > 0 & xcuentaperdida.Trim().Length > 0) { //DetFacturacion.Rows.Add(VariablesPublicas.InsertIntoTable(DetFacturacion)); DetMovimiento.ImportRow(DetMovimiento.Rows[0]); // Duplicar la primera fila DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = ""; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["debehaber"] = ""; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importe"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importecambio"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["ctacte"] = xctacte; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["nmruc"] = txtRuc.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["ctactename"] = txtCtactename.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["fechdoc"] = fRegistro.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["fechvenc"] = fRegistro.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcamb"] = txtTipocambio.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcambuso"] = "V"; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcambfech"] = fRegistro.Text; ndifdolares = Math.Round(Math.Abs(vmdebedolares - vmhaberdolares), 2); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["moneda"] = cboMoneda.SelectedValue; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["debehaber"] = (vmdebedolares > vmhaberdolares ? "H" : "D"); // perdida if ((vmdebedolares - vmhaberdolares) < 0) { DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaid"] = xcuentaperdida; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = CuentaName(VariablesPublicas.perianio, xcuentaperdida); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cencosid"] = xccostoperdida; } else { DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaid"] = xcuentaganancia; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = CuentaName(VariablesPublicas.perianio, xcuentaganancia); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cencosid"] = xccostoganancia; } DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importe"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importecambio"] = Math.Abs(ndifdolares); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"] = Math.Abs(ndifdolares); } else { DevExpress.XtraEditors.XtraMessageBox.Show("El asiento se va a generar con diferencia... Falta Configurar cuentas de ajuste x dif.cambio", ""); } } //Ajustes DIF.CAMBIO EN SOLES if ((!(vmdebesoles == vmhabersoles)) & Math.Abs(vmdebesoles - vmhabersoles) > 0) { if (xcuentaganancia.Trim().Length > 0 & xcuentaperdida.Trim().Length > 0) { //DetMovimiento.Rows.Add(VariablesPublicas.InsertIntoTable(DetMovimiento)); DetMovimiento.ImportRow(DetMovimiento.Rows[0]); // Duplicar la primera fila DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = ""; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["debehaber"] = ""; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importe"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importecambio"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["ctacte"] = xctacte; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["nmruc"] = txtRuc.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["ctactename"] = txtCtactename.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["fechdoc"] = fRegistro.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["fechvenc"] = fRegistro.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcamb"] = txtTipocambio.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcambuso"] = "V"; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcambfech"] = fRegistro.Text; ndifsoles = Math.Abs(vmdebesoles - vmhabersoles); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["moneda"] = cboMoneda.SelectedValue; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["debehaber"] = (vmdebesoles > vmhabersoles ? "H" : "D"); // perdida if ((vmdebesoles - vmhabersoles) < 0) { DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaid"] = xcuentaperdida; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = CuentaName(VariablesPublicas.perianio, xcuentaperdida); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cencosid"] = xccostoperdida; } else { DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaid"] = xcuentaganancia; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = CuentaName(VariablesPublicas.perianio, xcuentaganancia); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cencosid"] = xccostoganancia; } DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importe"] = Math.Abs(ndifsoles); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importecambio"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = Math.Abs(ndifsoles); } else { DevExpress.XtraEditors.XtraMessageBox.Show("El asiento se va a generar con diferencia... Falta Configurar cuentas de ajuste x dif.cambio", ""); } } #endregion #region // Sumatoria para los totales Cabecera vmdebesoles = 0; vmdebedolares = 0; vmhabersoles = 0; vmhaberdolares = 0; for (ncont = 0; ncont <= DetMovimiento.Rows.Count - 1; ncont++) { if (DetMovimiento.Rows[ncont]["debehaber"].ToString() == VariablesPublicas.ContabilidadIdCargo) { vmdebesoles = vmdebesoles + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["soles"])); sumadebesoles = vmdebesoles; vmdebedolares = vmdebedolares + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["dolares"])); sumadebedolares = vmdebedolares; } else { vmhabersoles = vmhabersoles + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["soles"])); sumahabersoles = vmhabersoles; vmhaberdolares = vmhaberdolares + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["dolares"])); sumahaberdolares = vmhaberdolares; } } #endregion //} //else if (rbnEmision.Checked == true) //{ // #region // Detalles a Amortizar / Pagar // decimal vmdebesoles = 0; // decimal vmdebedolares = 0; // decimal vmhabersoles = 0; // decimal vmhaberdolares = 0; // decimal ndifsoles = 0; // for (ncont = 0; ncont <= DetFacturacion.Rows.Count - 1; ncont++) // { // orow = VariablesPublicas.InsertIntoTable(DetMovimiento); // for (lc_contador = 0; lc_contador <= DetFacturacion.Rows.Count - 1; lc_contador++) // { // orow["cuentaid"] = DetFacturacion.Rows[ncont]["cuentaid"]; // orow["cuentaname"] = CuentaName(VariablesPublicas.perianio, DetFacturacion.Rows[ncont]["cuentaid"].ToString()); // orow["ctacte"] = DetFacturacion.Rows[ncont]["ctacte"]; // orow["nmruc"] = DetFacturacion.Rows[ncont]["nmruc"]; // orow["ctactename"] = txtCtactename.Text; // orow["tipdoc"] = DetFacturacion.Rows[ncont]["tipdoc"]; // orow["serdoc"] = DetFacturacion.Rows[ncont]["serdoc"]; // orow["numdoc"] = DetFacturacion.Rows[ncont]["numdoc"]; // orow["fechdoc"] = DetFacturacion.Rows[ncont]["fechdoc"]; // orow["fechvenc"] = DetFacturacion.Rows[ncont]["fechvcto"]; // //orow["importe"] = (DetFacturacion.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])) : Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"]))); // //orow["importecambio"] = (DetFacturacion.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])) : Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"]))); // //orow["soles"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])); // //orow["dolares"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])); // if (DetFacturacion.Rows[ncont]["moneda"].ToString() == "1") // { // orow["importe"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])); // orow["importecambio"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])); // orow["soles"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])); // orow["dolares"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])); // } // else if (DetFacturacion.Rows[ncont]["moneda"].ToString() == "2") // { // orow["importe"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])); // orow["importecambio"] = Math.Round(Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"]) * Convert.ToDecimal(DetFacturacion.Rows[ncont]["tipcamb"])), 2); // orow["dolares"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])); // orow["soles"] = Math.Round(Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"]) * Convert.ToDecimal(DetFacturacion.Rows[ncont]["tipcamb"])), 2); // } // orow["moneda"] = DetFacturacion.Rows[ncont]["moneda"]; // orow["tipcamb"] = DetFacturacion.Rows[ncont]["tipcamb"]; // orow["tipcambuso"] = "V"; // orow["tipcambfech"] = DetFacturacion.Rows[ncont]["fechdoc"]; // orow["debehaber"] = (DetFacturacion.Rows[ncont]["tipdoc"].ToString() == "07" ? "H" : "D"); // //orow["pedidoid"] = DetFacturacion.Rows[ncont]["pedidoid"]; // //orow["tip_op"] = DetFacturacion.Rows[ncont]["tip_op"]; // //orow["ser_op"] = DetFacturacion.Rows[ncont]["ser_op"]; // //orow["num_op"] = DetFacturacion.Rows[ncont]["num_op"]; // } // if (DetFacturacion.Rows[ncont]["tipdoc"].ToString() == "07") //VariablesPublicas.ContabilidadIdCargo) // { // //vmhabersoles = vmhabersoles + Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetosoles"]); // //vmhaberdolares = vmhaberdolares + Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetodolares"]); // vmhabersoles = vmhabersoles + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetosoles"])); // vmhaberdolares = vmhaberdolares + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetodolares"])); // } // else // { // //vmdebesoles = vmdebesoles + Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetosoles"]); // //vmdebedolares = vmdebedolares + Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetodolares"]); // vmdebesoles = vmdebesoles + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetosoles"])); // vmdebedolares = vmdebedolares + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importenetodolares"])); // } // DetMovimiento.Rows.Add(orow); // } // #endregion // #region// Cuenta Retencion IGV // for (ncont = 0; ncont <= DetFacturacion.Rows.Count - 1; ncont++) // { // orow = VariablesPublicas.InsertIntoTable(DetMovimiento); // for (lc_contador = 0; lc_contador <= DetFacturacion.Rows.Count - 1; lc_contador++) // { // orow["cuentaid"] = txtCuentaidR.Text; // orow["cuentaname"] = txtCuentanameR.Text; // orow["ctacte"] = DetFacturacion.Rows[ncont]["ctacte"]; // orow["nmruc"] = DetFacturacion.Rows[ncont]["nmruc"]; // orow["ctactename"] = txtCtactename.Text; // orow["tipdoc"] = DetFacturacion.Rows[ncont]["tipdoc"]; // orow["serdoc"] = DetFacturacion.Rows[ncont]["serdoc"]; // orow["numdoc"] = DetFacturacion.Rows[ncont]["numdoc"]; // //orow["fechdoc"] = DetFacturacion.Rows[ncont]["fechdoc"]; // //orow["fechvenc"] = DetFacturacion.Rows[ncont]["fechvcto"]; // orow["fechdoc"] = fRegistro.Text; // orow["fechvenc"] = fRegistro.Text; // //orow["importe"] = (DetFacturacion.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])) : Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"]))); // //orow["importecambio"] = (DetFacturacion.Rows[ncont]["moneda"].ToString() == "1" ? Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])) : Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"]))); // //orow["soles"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])); // //orow["dolares"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])); // if (DetFacturacion.Rows[ncont]["moneda"].ToString() == "1") // { // orow["importe"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])); // orow["importecambio"] = Math.Round(Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])) / Convert.ToDecimal(txtTipocambio.Text), 2); // orow["soles"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])); // orow["dolares"] = Math.Round(Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])) / Convert.ToDecimal(txtTipocambio.Text), 2); // //if (Convert.ToDecimal(DetFacturacion.Rows[ncont]["importedifcambio"]) > 0) // //{ // // orow["dolares"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])) - Convert.ToDecimal(DetFacturacion.Rows[ncont]["importedifcambio"]); // //} // //else if (Convert.ToDecimal(DetFacturacion.Rows[ncont]["importedifcambio"]) < 0) // //{ // // orow["dolares"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])) + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importedifcambio"])); // //} // //else // //{ // // orow["dolares"] = 0; // //} // } // else if (DetFacturacion.Rows[ncont]["moneda"].ToString() == "2") // { // orow["importe"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])); // orow["importecambio"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])); // orow["dolares"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretenciondolares"])); // orow["soles"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])); // //if (Convert.ToDecimal(DetFacturacion.Rows[ncont]["importedifcambio"]) > 0) // //{ // // orow["soles"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])) - Convert.ToDecimal(DetFacturacion.Rows[ncont]["importedifcambio"]); // //} // //else if (Convert.ToDecimal(DetFacturacion.Rows[ncont]["importedifcambio"]) < 0) // //{ // // orow["soles"] = Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importeretencionsoles"])) + Math.Abs(Convert.ToDecimal(DetFacturacion.Rows[ncont]["importedifcambio"])); // //} // //else // //{ // // orow["soles"] = 0; // //} // } // orow["moneda"] = DetFacturacion.Rows[ncont]["moneda"]; // orow["tipcamb"] = txtTipocambio.Text; // orow["tipcambuso"] = "V"; // orow["tipcambfech"] = fRegistro.Text; // orow["debehaber"] = (DetFacturacion.Rows[ncont]["tipdoc"].ToString() == "07" ? "D" : "H"); // } // DetMovimiento.Rows.Add(orow); //} //#endregion #region // SUMATORIA SOLES/DOLARES ( EN DEBE HABER ) vmdebesoles = 0; vmhabersoles = 0; vmdebedolares = 0; vmhaberdolares = 0; for (ncont = 0; ncont <= DetMovimiento.Rows.Count - 1; ncont++) { DetMovimiento.Rows[ncont]["soles"] = Math.Round(Convert.ToDecimal(DetMovimiento.Rows[ncont]["soles"]), 2); DetMovimiento.Rows[ncont]["dolares"] = Math.Round(Convert.ToDecimal(DetMovimiento.Rows[ncont]["dolares"]), 2); if (DetMovimiento.Rows[ncont]["debehaber"].ToString() == VariablesPublicas.ContabilidadIdCargo) { vmdebesoles = vmdebesoles + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["soles"])); vmdebedolares = vmdebedolares + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["dolares"])); } else { vmhabersoles = vmhabersoles + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["soles"])); vmhaberdolares = vmhaberdolares + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["dolares"])); } } #endregion #region // AJUSTES X DIFERENCIA DE CAMBIO //tb_co_ConfigcuentasrhredBL BiL = new tb_co_ConfigcuentasrhredBL(); //tb_co_Configcuentasrhred BiE = new tb_co_Configcuentasrhred(); tmptablaconfig = BiL.GetAll(VariablesPublicas.EmpresaID.ToString(), BiE).Tables[0]; //string xcuentaganancia = ""; //string xcuentaperdida = ""; //decimal ndifdolares = 0; //string xccostoganancia = ""; //string xccostoperdida = "70101"; if (tmptablaconfig.Rows.Count > 0) { xcuentaganancia = tmptablaconfig.Rows[0]["cuentaiddifganancia"].ToString(); xcuentaperdida = tmptablaconfig.Rows[0]["cuentaiddifperdida"].ToString(); //xccostoganancia = tmptablaconfig.Rows[0]["CCOSTO_DIFCAMGAN"].ToString(); //xccostoperdida = tmptablaconfig.Rows[0]["CCOSTO_DIFCAMPER"].ToString(); } //Ajustes DIF.CAMBIO EN DOLARES if ((!(vmhaberdolares == vmdebedolares)) & Math.Abs(vmdebedolares - vmhaberdolares) > 0) { if (xcuentaganancia.Trim().Length > 0 & xcuentaperdida.Trim().Length > 0) { //DetFacturacion.Rows.Add(VariablesPublicas.InsertIntoTable(DetFacturacion)); DetMovimiento.ImportRow(DetMovimiento.Rows[0]); // Duplicar la primera fila DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = ""; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["debehaber"] = ""; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importe"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importecambio"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["ctacte"] = xctacte; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["nmruc"] = txtRuc.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["ctactename"] = txtCtactename.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["fechdoc"] = fRegistro.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["fechvenc"] = fRegistro.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcamb"] = txtTipocambio.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcambuso"] = "V"; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcambfech"] = fRegistro.Text; ndifdolares = Math.Round(Math.Abs(vmdebedolares - vmhaberdolares), 2); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["moneda"] = cboMoneda.SelectedValue; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["debehaber"] = (vmdebedolares > vmhaberdolares ? "H" : "D"); // perdida if ((vmdebedolares - vmhaberdolares) < 0) { DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaid"] = xcuentaperdida; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = CuentaName(VariablesPublicas.perianio, xcuentaperdida); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cencosid"] = xccostoperdida; } else { DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaid"] = xcuentaganancia; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = CuentaName(VariablesPublicas.perianio, xcuentaganancia); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cencosid"] = xccostoganancia; } DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importe"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importecambio"] = Math.Abs(ndifdolares); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"] = Math.Abs(ndifdolares); } else { DevExpress.XtraEditors.XtraMessageBox.Show("El asiento se va a generar con diferencia... Falta Configurar cuentas de ajuste x dif.cambio", ""); } } //Ajustes DIF.CAMBIO EN SOLES else if ((!(vmdebesoles == vmhabersoles)) & Math.Abs(vmdebesoles - vmhabersoles) > 0) { if (xcuentaganancia.Trim().Length > 0 & xcuentaperdida.Trim().Length > 0) { //DetMovimiento.Rows.Add(VariablesPublicas.InsertIntoTable(DetMovimiento)); DetMovimiento.ImportRow(DetMovimiento.Rows[0]); // Duplicar la primera fila DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = ""; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["debehaber"] = ""; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importe"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importecambio"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["ctacte"] = xctacte; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["nmruc"] = txtRuc.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["ctactename"] = txtCtactename.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["fechdoc"] = fRegistro.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["fechvenc"] = fRegistro.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcamb"] = txtTipocambio.Text; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcambuso"] = "V"; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["tipcambfech"] = fRegistro.Text; ndifsoles = Math.Abs(vmdebesoles - vmhabersoles); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["moneda"] = cboMoneda.SelectedValue; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["debehaber"] = (vmdebesoles > vmhabersoles ? "H" : "D"); // perdida if ((vmdebesoles - vmhabersoles) < 0) { DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaid"] = xcuentaperdida; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = CuentaName(VariablesPublicas.perianio, xcuentaperdida); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cencosid"] = xccostoperdida; } else { DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaid"] = xcuentaganancia; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cuentaname"] = CuentaName(VariablesPublicas.perianio, xcuentaganancia); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["cencosid"] = xccostoganancia; } DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importe"] = Math.Abs(ndifsoles); DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["importecambio"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["dolares"] = 0; DetMovimiento.Rows[DetMovimiento.Rows.Count - 1]["soles"] = Math.Abs(ndifsoles); } else { DevExpress.XtraEditors.XtraMessageBox.Show("El asiento se va a generar con diferencia... Falta Configurar cuentas de ajuste x dif.cambio", ""); } } #endregion #region // Sumatoria para los totales Cabecera vmdebesoles = 0; vmdebedolares = 0; vmhabersoles = 0; vmhaberdolares = 0; for (ncont = 0; ncont <= DetMovimiento.Rows.Count - 1; ncont++) { if (DetMovimiento.Rows[ncont]["debehaber"].ToString() == VariablesPublicas.ContabilidadIdCargo) { vmdebesoles = vmdebesoles + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["soles"])); sumadebesoles = vmdebesoles; vmdebedolares = vmdebedolares + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["dolares"])); sumadebedolares = vmdebedolares; } else { vmhabersoles = vmhabersoles + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["soles"])); sumahabersoles = vmhabersoles; vmhaberdolares = vmhaberdolares + Math.Abs(Convert.ToDecimal(DetMovimiento.Rows[ncont]["dolares"])); sumahaberdolares = vmhaberdolares; } } #endregion } }