3 using System.Collections.Generic;
7 using System.Threading.Tasks;
47 #region PROPIEDADES PROTECTED 53 protected internal string _lcUsuario = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_usuario"));
59 protected internal string _lcUsuarioTablas = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_usuario")).Trim().ToUpper() +
"#" + Environment.MachineName.Trim().ToUpper() +
"#" + Environment.UserName.Trim();
65 protected internal bool _llDivisa = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_divisa"));
71 protected internal string _lcMoneda_Empresa = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_moneda"));
77 protected internal int _lnDigitos = Convert.ToInt32(EW_GLOBAL._GetLenCampo(
KeyDiccionarioLenCampos.wn_digitos));
83 protected internal string _lcEmpresaActiva = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_empresa"));
89 protected internal string _lcEjercicioActivo = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_any"));
95 protected internal string _lcCajaActiva = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_cajatpv"));
101 protected internal string _lcLetraCajaActiva = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_letratpv"));
107 protected internal bool _llFactSer = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_factser"));
113 protected internal bool _lNetOffLine = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_netoffline"));
119 protected internal bool _llejercicioautomatico = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_Hera")) && Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_ejercicioautomatico"));
125 protected internal Dictionary<string, Dictionary<string, object>> _dicMonedas =
new Dictionary<string, Dictionary<string, object>>();
131 protected internal Dictionary<string, decimal> _dicCotizacion =
new Dictionary<string, decimal>();
137 protected internal Dictionary<string, string> _dicMoneda =
new Dictionary<string, string>();
143 protected string _cMensaje_Error =
string.Empty;
149 protected bool _lEstadoConsulta =
false;
155 protected DateTime? _FechaDesde = null;
161 protected DateTime? _FechaHasta = null;
167 protected string _CajaDesde =
string.Empty;
173 protected string _CajaHasta =
string.Empty;
179 protected bool _TodasCajas =
false;
182 #endregion PROPIEDADES PROTECTED 185 #region PROPIEDADES PRIVADAS 191 private DataTable _oDtArqueo = null;
203 private bool _lMostrarMensajes =
true;
209 private bool _lArqueoCargado =
false;
215 private int _nNumero = 0;
221 private string _cCaja =
"";
227 private DateTime _dFecha = DateTime.Today;
229 private decimal _nImporteTotalVentas = 0.0M;
231 private int _nNumero_Tiquets = 0;
232 private string _nNumero_Tiquet_Inicial =
"";
233 private string _nNumero_Tiquet_Final =
"";
234 private string _nLetra_Tiquet_Inicial =
"";
235 private string _nLetra_Tiquet_Final =
"";
237 private DateTime _dFecha_Inicial =
new DateTime(1900, 1, 1);
238 private DateTime _dFecha_Final =
new DateTime(1900, 1, 1);
240 private decimal _nImporteTotalOperCaja = 0.0M;
242 private decimal _nImporteArqueo = 0.0M;
244 private decimal _nImporteEfectivoArqueo = 0.0M;
246 private decimal _nImporteTecleado = 0.0M;
247 private decimal _nImporteDiferencia = 0.0M;
248 private decimal _nImporteRetirado = 0.0M;
249 private decimal _nImporteRepEnCaja = 0.0M;
251 private decimal _nImporteDesgFamilias = 0.0M;
253 private decimal _nDesgIvaTic_TotalBases = 0.0M;
254 private decimal _nDesgIvaTic_TotalIvas = 0.0M;
255 private decimal _nDesgIvaTic_TotalTotal = 0.0M;
257 private String _cObservaciones = String.Empty;
260 private Dictionary<string, ewDocVentaTPV> _nDocsVenta;
261 private Dictionary<string, ewDocIva> _nDocsIva;
263 private string _TituloMantenimiento =
"Arqueo de caja";
266 private Boolean _lAvisoIva =
false;
269 #endregion PROPIEDADES PRIVADAS 272 #region PROPIEDADES PUBLICAS 278 public Dictionary<string, string> _Cajas =
new Dictionary<string, string>();
284 public Dictionary<string, string> _Numeros =
new Dictionary<string, string>();
290 public Boolean _AvisoIva
302 public DataTable _ArqueoDataTable
306 if (_oDtArqueo == null) _oDtArqueo = _MontaArqueo();
315 public DialogResult? _DialogResult = null;
321 public bool _Cargar_Todo_Arqueo_Al_Asignar_Numero =
true;
327 public bool _Error =
false;
333 public formul.FormBase _oLinkForm = null;
339 public Dictionary<string, string> _Monedas
353 decimal lnCotizacion;
356 lock (_dicCotizacion)
359 if (_dicCotizacion.ContainsKey(lcMoneda))
361 lnCotizacion = _dicCotizacion[lcMoneda];
366 _dicCotizacion.Add(lcMoneda, lnCotizacion);
377 public Dictionary<string, object>
_Moneda(String lcMoneda)
379 Dictionary<string, object> loDicMoneda;
385 if (_dicMonedas.ContainsKey(lcMoneda))
387 loDicMoneda = _dicMonedas[lcMoneda];
391 loDicMoneda = DB.SQLREGValor(
"moneda",
"codigo", lcMoneda);
392 _dicMonedas.Add(lcMoneda, loDicMoneda);
407 return this._nNumero;
417 if(this._Cargar_Todo_Arqueo_Al_Asignar_Numero) this._DescargarDatos();
419 this._nNumero = value;
423 if (this._Cargar_Todo_Arqueo_Al_Asignar_Numero) this._Load();
432 public string _Observaciones
434 get {
return this._cObservaciones; }
435 set { this._cObservaciones = value; }
444 get {
return this._lcCajaActiva; }
445 set { this._lcCajaActiva = value; }
452 public DateTime _Fecha
454 get {
return this._dFecha; }
455 set { this._dFecha = value; }
464 public decimal _ImporteTotalVentas
466 get {
return this._nImporteTotalVentas; }
473 public int _Numero_Tiquets
475 get {
return this._nNumero_Tiquets; }
482 public string _Numero_Tiquet_Inicial
484 get {
return this._nNumero_Tiquet_Inicial; }
491 public string _Numero_Tiquet_Final
493 get {
return this._nNumero_Tiquet_Final; }
500 public string _Letra_Tiquet_Inicial
502 get {
return this._nLetra_Tiquet_Inicial; }
509 public string _Letra_Tiquet_Final
511 get {
return this._nLetra_Tiquet_Final; }
521 public decimal _ImporteTotalOperCaja
523 get {
return this._nImporteTotalOperCaja; }
532 public decimal _ImporteArqueo
534 get {
return this._nImporteArqueo; }
541 public decimal _ImporteEfectivoArqueo
543 get {
return this._nImporteEfectivoArqueo; }
550 public decimal _ImporteTecleado
552 get {
return this._nImporteTecleado; }
555 this._nImporteTecleado = value;
556 this._nImporteDiferencia = this._nImporteTecleado - this._nImporteEfectivoArqueo;
564 public decimal _ImporteDiferencia
566 get {
return this._nImporteDiferencia; }
573 public decimal _ImporteRepEnCaja
575 get {
return this._nImporteRepEnCaja; }
578 this._nImporteRepEnCaja = value;
579 this._nImporteTecleado = value + this._nImporteRetirado;
580 this._nImporteDiferencia = this._nImporteTecleado - this._nImporteEfectivoArqueo;
588 public decimal _ImporteRetirado
590 get {
return this._nImporteRetirado; }
593 this._nImporteRetirado = value;
594 this._nImporteTecleado = value + this._nImporteRepEnCaja;
595 this._nImporteDiferencia = this._nImporteTecleado - this._nImporteEfectivoArqueo;
603 public decimal _ImporteDesgFamilias
605 get {
return this._nImporteDesgFamilias; }
612 public decimal _DesgIvaTic_TotalBases
614 get {
return this._nDesgIvaTic_TotalBases; }
621 public decimal _DesgIvaTic_TotalIvas
623 get {
return this._nDesgIvaTic_TotalIvas; }
630 public decimal _DesgIvaTic_TotalTotal
632 get {
return this._nDesgIvaTic_TotalTotal; }
639 public string _Mensaje_Error
641 get {
return _cMensaje_Error; }
642 set { _cMensaje_Error = value;}
757 public bool _Estado_Consulta
759 get {
return _lEstadoConsulta; }
760 set { _lEstadoConsulta = value; }
767 public bool _DesgloseFamilias = (Convert.ToBoolean(DB.SQLValor(
"CONFTPV",
"EMPRESA", Convert.ToString(EW_GLOBAL._GetVariable(
"wc_empresa")),
"DESGFAM",
"TPV")));
773 public Dictionary<string, object> _Addons {
get; } =
new Dictionary<string, object>();
776 #region IDocumentoImprimible 786 if (_oDocPrintTPV == null)
790 return _oDocPrintTPV;
802 public string _Empresa
806 return _lcEmpresaActiva;
822 return _Fecha.ToString(EW_GLOBAL._CustomFormatDate);
830 public string _Nombre
834 return "Arqueo de caja";
842 public string _ReportBase
858 public string _ReportTitlePreview
878 throw new NotImplementedException();
888 Dictionary<string, object> loFiltros =
new Dictionary<string, object>();
889 String lcBase, lcPercentIva, lcImporteIva, lcTotal, lcTitulo;
890 Decimal lnTotalBase, lnTotalImporteIva, lnTotalTotal;
891 Boolean lConsolidacion, lConsultaArqueos, lTipoArqueoConsulta;
893 String lcCadenaFormat =
"{0:" + loMascaraImport.
_Mascara_Net +
"}";
895 lcBase = lcPercentIva = lcImporteIva = lcTotal =
"";
896 lnTotalBase = lnTotalImporteIva = lnTotalTotal = 0;
898 lTipoArqueoConsulta = tdicParametros.ContainsKey(
"TipoArqueoConsulta") ? Convert.ToBoolean(tdicParametros[
"TipoArqueoConsulta"]) :
false;
899 lConsolidacion = tdicParametros.ContainsKey(
"Consolidacion") ? Convert.ToBoolean(tdicParametros[
"Consolidacion"]) :
false;
900 lConsultaArqueos = tdicParametros.ContainsKey(
"ConsultaArqueos") ? Convert.ToBoolean(tdicParametros[
"ConsultaArqueos"]) :
false;
901 lcTitulo = tdicParametros.ContainsKey(
"Titulo") ? Convert.ToString(tdicParametros[
"Titulo"]) : _Nombre;
905 if (_dtDesg_Iva != null && _dtDesg_Iva.Rows.Count > 0)
907 foreach (DataRow ldrFilaIva
in _dtDesg_Iva.Rows)
909 lcBase += String.Format(
"{0}{1}", !String.IsNullOrEmpty(lcBase) ? Environment.NewLine : String.Empty, String.Format(lcCadenaFormat, ldrFilaIva[
"baseiva"]));
910 lcPercentIva += String.Format(
"{0}{1}", !String.IsNullOrEmpty(lcPercentIva) ? Environment.NewLine : String.Empty, String.Format(lcCadenaFormat, ldrFilaIva[
"iva_tan"]));
911 lcImporteIva += String.Format(
"{0}{1}", !String.IsNullOrEmpty(lcImporteIva) ? Environment.NewLine : String.Empty, String.Format(lcCadenaFormat, ldrFilaIva[
"impiva"]));
912 lcTotal += String.Format(
"{0}{1}", !String.IsNullOrEmpty(lcTotal) ? Environment.NewLine : String.Empty, String.Format(lcCadenaFormat, ldrFilaIva[
"imptotal"]));
914 lnTotalBase += Convert.ToDecimal(ldrFilaIva[
"baseiva"]);
915 lnTotalImporteIva += Convert.ToDecimal(ldrFilaIva[
"impiva"]);
916 lnTotalTotal += Convert.ToDecimal(ldrFilaIva[
"imptotal"]);
921 lcTotal = lcImporteIva = lcBase = String.Format(lcCadenaFormat, 0);
924 loFiltros.Add(
"wc_AvisoIva", _AvisoIva ?
"1" :
"0");
925 loFiltros.Add(
"wc_Base", lcBase);
926 loFiltros.Add(
"wc_PercentIva", lcPercentIva);
927 loFiltros.Add(
"wc_ImporteIva", lcImporteIva);
928 loFiltros.Add(
"wc_Total", lcTotal);
929 loFiltros.Add(
"wc_TotalBase", String.Format(lcCadenaFormat, lnTotalBase));
930 loFiltros.Add(
"wc_TotalImporteIva", String.Format(lcCadenaFormat, lnTotalImporteIva));
931 loFiltros.Add(
"wc_TotalTotal", String.Format(lcCadenaFormat, lnTotalTotal));
932 loFiltros.Add(
"wc_MostrarIva",
"1");
934 loFiltros.Add(
"wc_Titulo", String.Format(
"{1} {0}", !lConsolidacion && !lConsultaArqueos ? lTipoArqueoConsulta ?
"(Consulta)" :
"(Definitivo)" : String.Empty, lcTitulo));
935 loFiltros.Add(
"wc_ImporteRepEnCaja", String.Format(lcCadenaFormat, _ImporteRepEnCaja));
936 loFiltros.Add(
"wc_ImporteRetirado", String.Format(lcCadenaFormat, _ImporteRetirado));
937 loFiltros.Add(
"wc_ImporteTecleado", String.Format(lcCadenaFormat, _ImporteTecleado));
951 loDT = _ArqueoDataTable;
953 if (loDT is DataTable)
955 loDT = _ArqueoDataTable.Copy();
957 if (loDT.Rows.Count > 0)
959 DataRow loRow = loDT.Rows[loDT.Rows.Count - 1];
961 if (String.IsNullOrEmpty(Convert.ToString(loRow[0])) && String.IsNullOrEmpty(Convert.ToString(loRow[1])))
963 loDT.Rows.Remove(loRow);
971 #endregion IDocumentoImprimible 974 #endregion PROPIEDADES PUBLICAS 977 #region CONSTRUCTORES 987 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
992 this._Addons_Cargar();
994 this._DescargarDatos();
997 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
1010 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
1014 this._Addons_Cargar();
1024 this._Numero = tnNumero;
1027 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
1040 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
1045 this._Addons_Cargar();
1047 this._oLinkForm = toForm;
1050 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
1055 #endregion CONSTRUCTORES 1058 #region METODOS PUBLICOS 1067 Dictionary<string, object> loDic =
new Dictionary<string, object>();
1069 loDic = DB.SQLREGValor(
"arqueos",
new string[] {
"empresa",
"ejercicio",
"numero"},
new string[] {tcEmpresa, tcEjercicio, Convert.ToString(tnNumero) },
"tpv");
1081 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
1092 this._nImporteTotalVentas = 0.0M;
1093 this._nNumero_Tiquets = 0;
1094 this._nNumero_Tiquet_Inicial =
"";
1095 this._nNumero_Tiquet_Final =
"";
1096 this._nLetra_Tiquet_Inicial =
"";
1097 this._nLetra_Tiquet_Final =
"";
1098 this._dFecha_Inicial =
new DateTime(1900, 1, 1);
1099 this._dFecha_Final =
new DateTime(1900, 1, 1);
1101 this._nImporteTotalOperCaja = 0.0M;
1103 this._nImporteArqueo = 0.0M;
1104 this._nImporteEfectivoArqueo = 0.0M;
1105 this._nImporteTecleado = 0.0M;
1106 this._nImporteDiferencia = 0.0M;
1107 this._nImporteRetirado = 0.0M;
1108 this._nImporteRepEnCaja = 0.0M;
1110 this._nImporteDesgFamilias = 0.0M;
1112 this._nDesgIvaTic_TotalBases = 0.0M;
1113 this._nDesgIvaTic_TotalIvas = 0.0M;
1114 this._nDesgIvaTic_TotalTotal = 0.0M;
1117 this._dtVentas_Tiquets = null;
1118 this._dtVentas_Albaranes = null;
1119 this._dtVentas_Facturas = null;
1122 this._dtOperCaja_Reposiciones = null;
1123 this._dtOperCaja_Retiradas = null;
1124 this._dtOperCaja_Cobros_Tiquets = null;
1125 this._dtOperCaja_Vales_Efectuados = null;
1126 this._dtOperCaja_Entregas_Cuenta_Albaranes = null;
1127 this._dtOperCaja_Entregas_Cuenta_Pedidos = null;
1129 this._dtOperCaja_Cobros_Varios = null;
1130 this._dtOperCaja_Cobros_Facturas = null;
1131 this._dtOperCaja_Pagos_Varios = null;
1132 this._dtOperCaja_Pagos_Facturas = null;
1135 this._dtArqueo_Caja = null;
1136 this._dtDesg_Familias = null;
1137 this._dtDesg_Iva = null;
1139 this._lArqueoCargado =
false;
1142 this._nDocsVenta =
new Dictionary<string, ewDocVentaTPV>();
1143 this._nDocsIva =
new Dictionary<string, ewDocIva>();
1148 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
1163 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
1169 DB._Persist =
false;
1170 bool llRetorno =
false;
1171 DataTable ldt_Cursor =
new DataTable();
1174 this._nDocsVenta =
new Dictionary<string, ewDocVentaTPV>();
1175 this._nDocsIva =
new Dictionary<string, ewDocIva>();
1177 this._Error =
false;
1178 this._Mensaje_Error =
"";
1180 Boolean lbListado = this._Cajas.Count > 0 || this._Numeros.Count > 0;
1188 if (_llejercicioautomatico) lcSql =
"select * from " + DB.SQLDatabase(
"tpv",
"arqueos") +
" where empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" and numero=" + DB.SQLString(this._nNumero);
1189 else lcSql =
"select * from " + DB.SQLDatabase(
"tpv",
"arqueos") +
" where empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" and numero=" + DB.SQLString(
this._nNumero);
1193 if (_llejercicioautomatico) lcSql = String.Format(
"SELECT SUM(tecleado) as tecleado, SUM(repencaja) as repencaja, SUM(tecleado) as repencaja FROM {0} WHERE empresa = {1} AND {2}", DB.SQLDatabase(
"tpv",
"arqueos"), DB.SQLString(this._lcEmpresaActiva), _makeId(
"",
" and numero=" + DB.SQLString(
this._nNumero),
"numero"));
1194 else lcSql = String.Format(
"SELECT SUM(tecleado) as tecleado, SUM(repencaja) as repencaja, SUM(tecleado) as repencaja FROM {0} WHERE empresa = {1} AND ejercicio = {2} AND {3}",DB.SQLDatabase(
"tpv",
"arqueos"), DB.SQLString(this._lcEmpresaActiva), DB.SQLString(this._lcEjercicioActivo), _makeId(
"",
" and numero=" + DB.SQLString(
this._nNumero),
"numero"));
1197 llRetorno = DB.SQLExec(lcSql, ref ldt_Cursor);
1200 if (llRetorno || lbListado)
1204 this._cCaja = this._nNumero != 0 && ldt_Cursor.Rows.Count > 0 ? Convert.ToString(ldt_Cursor.Rows[0][
"caja"]) : this._lcCajaActiva;
1205 this._dFecha = this._nNumero != 0 && ldt_Cursor.Rows.Count > 0 ? Convert.ToDateTime(ldt_Cursor.Rows[0][
"fecha"]) : this._dFecha;
1209 EwTools._WriteTrace(EwTools.eMethodStatus.Procesando,
"Inicio paralelismo");
1213 decimal lnTotalRepo = 0.0M, lnTotalTickets = 0.0M, lnTotalVales = 0.0M, lnTotalEntAlb = 0.0M, lnTotalEntPed = 0.0M, lnTotalCFac = 0.0M, lnTotalCVar = 0.0M;
1214 decimal lnTotalPFac = 0.0M, lnTotalPVar = 0.0M, lnTotalRet = 0.0M;
1216 String lcMsgNumTickets =
"", lcMsgImpTickets =
"", lcMsgRepo =
"", lcMsgTickets =
"", lcMsgVales =
"", lcMsgEntAlb =
"", lcMsgEntPed =
"", lcMsgCFas =
"", lcMsgCVar =
"";
1217 String lcMsgPFac =
"", lcMsgPVar =
"", lcMsgRet =
"";
1219 DataTable ldReposiciones =
new DataTable();
1220 DataTable ldCobrosTiquets =
new DataTable();
1221 DataTable ldVales =
new DataTable();
1222 DataTable ldEntAlbaran =
new DataTable();
1223 DataTable ldEntPedidos =
new DataTable();
1224 DataTable ldCobrosFac =
new DataTable();
1225 DataTable ldCobrosVarios =
new DataTable();
1226 DataTable ldPagosFacturas =
new DataTable();
1227 DataTable ldPagosVarios =
new DataTable();
1228 DataTable ldRetiros =
new DataTable();
1231 () => this._nNumero_Tiquets = this._Obtener_Numero_Tiquets(ref this._nNumero_Tiquet_Inicial, ref this._nNumero_Tiquet_Final, ref lcMsgNumTickets, ref this._nLetra_Tiquet_Inicial, ref this._nLetra_Tiquet_Final),
1234 () => this._Obtener_DataTables_Importe_Tiquets_Albaranes_Facturas(ref this._dFecha_Inicial, ref this._dFecha_Final, ref lcMsgImpTickets),
1237 () => ldReposiciones = this._Obtener_DataTable_OperCaja_Reposiciones(ref lnTotalRepo, ref lcMsgRepo),
1238 () => ldCobrosTiquets = this._Obtener_DataTable_OperCaja_Cobros_Tiquets(ref lnTotalTickets, ref lcMsgTickets),
1239 () => ldVales = this._Obtener_DataTable_OperCaja_Vales_Efectuados(ref lnTotalVales, ref lcMsgVales),
1240 () => ldEntAlbaran = this._Obtener_DataTable_OperCaja_Entregas_Cuenta_Albaranes(ref lnTotalEntAlb, ref lcMsgEntAlb),
1241 () => ldEntPedidos = this._Obtener_DataTable_OperCaja_Entregas_Cuenta_Pedidos(ref lnTotalEntPed, ref lcMsgEntPed),
1242 () => ldCobrosFac = this._Obtener_DataTable_OperCaja_Cobros_Facturas(ref lnTotalCFac, ref lcMsgCFas),
1243 () => ldCobrosVarios = this._Obtener_DataTable_OperCaja_Cobros_Varios(ref lnTotalCVar, ref lcMsgCVar),
1244 () => ldPagosFacturas = this._Obtener_DataTable_OperCaja_Pagos_Facturas(ref lnTotalPFac, ref lcMsgPFac),
1245 () => ldPagosVarios = this._Obtener_DataTable_OperCaja_Pagos_Varios(ref lnTotalPVar, ref lcMsgPVar),
1246 () => ldRetiros = this._Obtener_DataTable_OperCaja_Retiros(ref lnTotalRet, ref lcMsgRet));
1249 EwTools._WriteTrace(EwTools.eMethodStatus.Procesando,
"Fin paralelismo");
1253 this._nImporteTotalOperCaja = lnTotalRepo + lnTotalTickets + lnTotalVales + lnTotalEntAlb + lnTotalEntPed + lnTotalCFac + lnTotalCVar + lnTotalPFac + lnTotalPVar + lnTotalRet;
1255 this._dtOperCaja_Reposiciones = ldReposiciones;
1256 this._dtOperCaja_Cobros_Tiquets = ldCobrosTiquets;
1257 this._dtOperCaja_Vales_Efectuados = ldVales;
1258 this._dtOperCaja_Entregas_Cuenta_Albaranes = ldEntAlbaran;
1259 this._dtOperCaja_Entregas_Cuenta_Pedidos = ldEntPedidos;
1260 this._dtOperCaja_Cobros_Facturas = ldCobrosFac;
1261 this._dtOperCaja_Cobros_Varios = ldCobrosVarios;
1262 this._dtOperCaja_Pagos_Facturas = ldPagosFacturas;
1263 this._dtOperCaja_Pagos_Varios = ldPagosVarios;
1264 this._dtOperCaja_Retiradas = ldRetiros;
1266 _MessageBox(lcMsgNumTickets);
1267 _MessageBox(lcMsgImpTickets);
1268 _MessageBox(lcMsgRepo);
1269 _MessageBox(lcMsgTickets);
1270 _MessageBox(lcMsgVales);
1271 _MessageBox(lcMsgEntAlb);
1272 _MessageBox(lcMsgEntPed);
1273 _MessageBox(lcMsgCFas);
1274 _MessageBox(lcMsgCVar);
1275 _MessageBox(lcMsgPFac);
1276 _MessageBox(lcMsgPVar);
1277 _MessageBox(lcMsgRet);
1283 if ((this._nNumero != 0 || lbListado) && ldt_Cursor.Rows.Count > 0 && ldt_Cursor.Rows[0][
"tecleado"] != DBNull.Value)
1284 this._nImporteTecleado = Convert.ToDecimal(ldt_Cursor.Rows[0][
"tecleado"]);
1286 if ((this._nNumero != 0 || lbListado) && ldt_Cursor.Rows.Count > 0 && ldt_Cursor.Rows[0][
"repencaja"] != DBNull.Value)
1287 this._nImporteRepEnCaja = Convert.ToDecimal(ldt_Cursor.Rows[0][
"repencaja"]);
1289 if ((this._nNumero != 0 || lbListado) && ldt_Cursor.Rows.Count > 0 && ldt_Cursor.Rows[0][
"tecleado"] != DBNull.Value && ldt_Cursor.Rows[0][
"repencaja"] != DBNull.Value)
1290 this._nImporteRetirado = Convert.ToDecimal(ldt_Cursor.Rows[0][
"tecleado"]) - Convert.ToDecimal(ldt_Cursor.Rows[0][
"repencaja"]);
1295 EwTools._WriteTrace(EwTools.eMethodStatus.Llamando,
"_Obtener_DataTable_Arqueo_Caja");
1299 this._Obtener_DataTable_Arqueo_Caja();
1302 EwTools._WriteTrace(EwTools.eMethodStatus.Volviendo,
"_Obtener_DataTable_Arqueo_Caja");
1305 this._nImporteDiferencia = this._nImporteEfectivoArqueo - this._nImporteTecleado;
1308 EwTools._WriteTrace(EwTools.eMethodStatus.Llamando,
"_Obtener_DataTable_Desg_Familias");
1312 this._nImporteDesgFamilias = this._Obtener_DataTable_Desg_Familias();
1315 EwTools._WriteTrace(EwTools.eMethodStatus.Volviendo,
"_Obtener_DataTable_Desg_Familias");
1319 EwTools._WriteTrace(EwTools.eMethodStatus.Llamando,
"_Obtener_DataTable_Desg_Iva_Tiquets");
1324 this._Obtener_DataTable_Desg_Iva_Tiquets();
1327 EwTools._WriteTrace(EwTools.eMethodStatus.Volviendo,
"_Obtener_DataTable_Desg_Iva_Tiquets");
1330 this._lArqueoCargado =
true;
1333 DB._Persist =
false;
1336 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
1342 return (this._Error ==
false);
1352 DataTable ldt_Cursor =
new DataTable();
1356 if (this._nNumero == 0 && this._Numeros.Count > 1)
1358 this._cObservaciones =
"";
1362 String lcCond = this._nNumero != 0 ?
" numero=" + DB.SQLString(this._nNumero) : _makeId(
"",
" and numero=" + DB.SQLString(
this._nNumero),
"numero");
1365 lcSql = String.Format(
"select observacio FROM {0} WHERE empresa = {1} AND ejercicio = {2} and {3}", DB.SQLDatabase(
"tpv",
"arqueos"), DB.SQLString(this._lcEmpresaActiva), DB.SQLString(this._lcEjercicioActivo), lcCond);
1366 llRetorno = DB.SQLExec(lcSql, ref ldt_Cursor);
1368 if (llRetorno && ldt_Cursor.Rows.Count > 0)
1369 this._cObservaciones = Convert.ToString(ldt_Cursor.Rows[0][
"observacio"]);
1382 bool llRetorno =
false, llConsultaOk =
false;
1383 DataTable ldt_Arqueo =
new DataTable();
1384 string lcNumero =
"";
1386 this._Error =
false;
1387 this._Mensaje_Error =
"";
1391 if (this._lArqueoCargado ==
false)
1393 this._MessageBox(
"(_Save) No se ha cargado todavía ningun arqueo.\n\nPrimero debe cargarse en el objeto una arqueo.");
1397 if (this._nNumero != 0)
1399 this._MessageBox(
"(_Save) No se puede cerrar un arqueo que ya está cerrado.\n\nPrimero se debe desarquear.");
1404 int lnNumTicAparcados = this._Numero_Tiquets_Aparcados();
1406 if (lnNumTicAparcados > 0)
1408 this._MessageBox(
"(_Save) Existen tickets aparcados.\n\nNo es posible cerrar el arqueo.");
1416 lcNumero = FUNCTIONS._SumaNumero(this._lcEmpresaActiva,
"arqueo",
"conftick",
"tpv");
1417 if (this._lNetOffLine)
1419 lcNumero = this._lcLetraCajaActiva.Trim().PadLeft(2,
'0') + this._lcCajaActiva.Substring(2, 2).Trim().PadLeft(2,
'0') + lcNumero.Trim();
1422 llConsultaOk = DB.SQLExec(
"select numero from " + DB.SQLDatabase(
"tpv",
"arqueos") +
" " +
1423 "where empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" and " +
1424 "numero=" + DB.SQLString(Convert.ToInt32(lcNumero)), ref ldt_Arqueo);
1425 if (ldt_Arqueo.Rows.Count == 0)
1431 this._nNumero = Convert.ToInt32(lcNumero);
1435 llRetorno = DB.SQLExec(
"insert into " + DB.SQLDatabase(
"tpv",
"arqueos") +
" " +
1436 "(usuario,empresa,ejercicio,caja,fecha,hora,numero, numinit, numfint ,tecleado, observacio, repencaja, letraini, letrafin) values (" +
1437 DB.SQLString(this._lcUsuarioTablas) +
", " +
1438 DB.SQLString(this._lcEmpresaActiva) +
", " +
1439 DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
", " +
1440 DB.SQLString(
this._lcCajaActiva) +
", " +
1441 DB.SQLString(this._dFecha) +
", " +
1442 DB.SQLString(DateTime.Now) +
", " +
1443 DB.SQLString(this._nNumero) +
", " +
1445 DB.SQLString(this._nNumero_Tiquet_Inicial.Replace(
"T",
"")) +
", " +
1446 DB.SQLString(
this._nNumero_Tiquet_Final.Replace(
"T",
"")) +
", " +
1447 DB.SQLString(
this._nImporteTecleado) +
", " +
1448 DB.SQLString(this._cObservaciones) +
", " +
1449 DB.SQLString(this._nImporteRepEnCaja) +
", "+
1450 DB.SQLString(this._nLetra_Tiquet_Inicial) +
", " +
1451 DB.SQLString(this._nLetra_Tiquet_Final) +
")");
1454 this._MessageBox(
"(_Save) Error al insertar registro en la tabla tpv!arqueos.");
1464 llRetorno = DB.SQLExec(
"update " + DB.SQLDatabase(
"tpv",
"c_albven") +
" " +
1465 "set arqueo=" + DB.SQLString(this._nNumero) +
" " +
1466 "from " + DB.SQLDatabase(
"tpv",
"c_albven") +
" a " +
1467 "inner join " + DB.SQLDatabase(
"gestion",
"c_albven") +
" b " +
1468 "on a.empresa = b.empresa " +
1469 " and a.numero = b.numero " +
1470 " and a.letra = b.letra " +
1471 " and a.ejercicio = " + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
1472 "where a.empresa=" + DB.SQLString(
this._lcEmpresaActiva) +
" " +
1474 "and b.fecha<=" + DB.SQLString(this._dFecha) +
" " +
1475 "and a.caja=" + DB.SQLString(this._lcCajaActiva) +
"; "+
1478 "update " + DB.SQLDatabase(
"tpv",
"tikets") +
" " +
1479 "set arqueo=" + DB.SQLString(this._nNumero) +
" " +
1480 "where ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
1481 "and empresa=" + DB.SQLString(
this._lcEmpresaActiva) +
" " +
1483 "and fecha<=" + DB.SQLString(this._dFecha) +
" " +
1484 "and caja=" + DB.SQLString(this._lcCajaActiva) +
"; "+
1487 "update " + DB.SQLDatabase(
"tpv",
"vales") +
" " +
1488 "set arqueo=" + DB.SQLString(this._nNumero) +
" " +
1489 "where ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
1490 "and empresa=" + DB.SQLString(
this._lcEmpresaActiva) +
" " +
1492 "and fecha<=" + DB.SQLString(this._dFecha) +
" " +
1493 "and caja=" + DB.SQLString(this._lcCajaActiva) +
"; "+
1496 "update " + DB.SQLDatabase(
"tpv",
"reposi") +
" " +
1497 "set arqueo=" + DB.SQLString(this._nNumero) +
" " +
1498 "where empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
1499 "and caja=" + DB.SQLString(this._lcCajaActiva) +
" " +
1500 "and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
1502 "and fecha<=" + DB.SQLString(
this._dFecha) +
"; " +
1505 "update " + DB.SQLDatabase(
"tpv",
"cob_pago") +
" " +
1506 "set arqueo=" + DB.SQLString(this._nNumero) +
" " +
1507 "where empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
1508 "and caja=" + DB.SQLString(this._lcCajaActiva) +
" " +
1509 "and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
1511 "and operacion='R' " +
1512 "and fecha<=" + DB.SQLString(
this._dFecha));
1515 this._MessageBox(
"(_Save) Error al actualizar campo ARQUEO.");
1525 llRetorno = DB.SQLExec(
"delete from " + DB.SQLDatabase(
"tpv",
"d_arqueo") +
" " +
1526 "where empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
1527 "and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
1528 "and arqueo=" + DB.SQLString(
this._nNumero));
1531 this._MessageBox(
"(_Save) Error al borrar registro de tpv!d_arqueo.");
1538 bool llVentaTickets =
false, llVentaAlbaranes =
false, llVentaFacturas =
false, llCobrosFacturas=
false, llCobrosTickets =
false, llCobrosVarios =
false;
1539 bool llEntregasCuenta =
false, llEntregasPedido =
false, llPagosFacturas =
false, llPagosVarios =
false, llReposiciones =
false, llRetiradas =
false;
1540 bool llVales =
false, llFormasCobros =
false;
1543 () => llVentaTickets = _Guardar_Arqueo(_dtVentas_Tiquets,
" VT"),
1544 () => llVentaAlbaranes = _Guardar_Arqueo(_dtVentas_Albaranes,
" VA"),
1545 () => llVentaFacturas = _Guardar_Arqueo(_dtVentas_Facturas,
" VF"),
1546 () => llCobrosFacturas = _Guardar_Arqueo(_dtOperCaja_Cobros_Facturas,
" CF"),
1547 () => llCobrosTickets = _Guardar_Arqueo(_dtOperCaja_Cobros_Tiquets,
" CT"),
1548 () => llCobrosVarios = _Guardar_Arqueo(_dtOperCaja_Cobros_Varios,
" CV"),
1549 () => llEntregasCuenta = _Guardar_Arqueo(_dtOperCaja_Entregas_Cuenta_Albaranes,
" EC"),
1550 () => llEntregasPedido = _Guardar_Arqueo(_dtOperCaja_Entregas_Cuenta_Pedidos,
" EP"),
1551 () => llPagosFacturas = _Guardar_Arqueo(_dtOperCaja_Pagos_Facturas,
" PF"),
1552 () => llPagosVarios = _Guardar_Arqueo(_dtOperCaja_Pagos_Varios,
" PV"),
1553 () => llReposiciones = _Guardar_Arqueo(_dtOperCaja_Reposiciones,
" RP"),
1554 () => llRetiradas = _Guardar_Arqueo(_dtOperCaja_Retiradas,
" RT"),
1555 () => llVales = _Guardar_Arqueo(_dtOperCaja_Vales_Efectuados,
" VE"),
1556 () => llFormasCobros = _Guardar_Formas_Cobro());
1559 if (!llVentaTickets)
1561 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo VT.");
1567 if (!llVentaAlbaranes)
1569 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo VA.");
1575 if (!llVentaFacturas)
1577 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo VA.");
1583 if (!llCobrosFacturas)
1585 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo CF.");
1591 if (!llCobrosTickets)
1593 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo CT.");
1599 if (!llCobrosVarios)
1601 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo CV.");
1607 if (!llEntregasCuenta)
1609 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo EC.");
1615 if (!llEntregasPedido)
1617 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo EP.");
1623 if (!llPagosFacturas)
1625 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo PF.");
1633 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo PV.");
1639 if (!llReposiciones)
1641 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo RP.");
1649 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo RT.");
1657 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo VE.");
1663 if (!llFormasCobros)
1665 this._MessageBox(
"(_Save) Error al insertar registro en tpv!d_arqueo (formas cobro efectivo).");
1670 if (this._Error ==
true)
1673 this._MessageBox(this._Mensaje_Error);
1680 if (!this._Error) _UpdateOffLine(2);
1685 return (this._Error ==
false);
1698 if (this._nNumero == 0 && this._Numeros.Count > 1)
1701 String lcNumero = Convert.ToString(this._nNumero);
1702 if (this._nNumero == 0)
1704 KeyValuePair<string, string> itemFirst = _Numeros.First();
1705 lcNumero = itemFirst.Value;
1709 llRetorno = DB.SQLExec(
"update " + DB.SQLDatabase(
"tpv",
"arqueos") +
" " +
1710 "set observacio=" + DB.SQLString(this._cObservaciones) +
" " +
1711 "where ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
1712 "and empresa=" + DB.SQLString(
this._lcEmpresaActiva) +
" " +
1713 "and numero=" + DB.SQLString(lcNumero));
1717 this._MessageBox(
"(_Save) Error al actualizar observaciones del ARQUEO.");
1774 DataTable dtArqueo =
new DataTable();
1776 dtArqueo.Columns.Add(
"ini");
1777 dtArqueo.Columns.Add(
"descripcion");
1778 dtArqueo.Columns.Add(
"total");
1779 dtArqueo.Columns.Add(
"tipo_fila");
1780 dtArqueo.Columns.Add(
"tipo_navegacion");
1781 dtArqueo.Columns.Add(
"moneda");
1793 Boolean llShowTotal =
false;
1795 Decimal iTotal, iTotalFacturas, iTotalAlbaranes, iRetirosCaja, iTotalDesgloseFamilia, iImporteTecleado, iTotalTickets;
1803 String lcCadenaFormat =
"{0:" + _oMascaraImport.
_Mascara_Net +
"}";
1805 _oDtArqueo = _DataTableCierreCaja(this._Monedas);
1807 if (this._dtVentas_Facturas != null)
1810 String lcTicketIni = this._Numero_Tiquet_Inicial;
1811 String lcTicketFin = this._Numero_Tiquet_Final;
1814 lcTicketIni = String.IsNullOrEmpty(this._Letra_Tiquet_Inicial) || String.IsNullOrWhiteSpace(this._Letra_Tiquet_Inicial) ? lcTicketIni :
new String(
' ', 3) + this._Letra_Tiquet_Inicial +
"-" + lcTicketIni.Trim();
1815 lcTicketFin = String.IsNullOrEmpty(this._Letra_Tiquet_Final) || String.IsNullOrWhiteSpace(this._Letra_Tiquet_Final) ? lcTicketFin :
new String(
' ', 3) + this._Letra_Tiquet_Final +
"-" + lcTicketFin.Trim();
1819 iFactSimpl = this._Numero_Tiquets;
1821 _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"I.",
"VENTAS",
"", 1,
Navegacion.No }));
1822 _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"", String.Format(
"Nº de Facturas Simplificadas:{0}", iFactSimpl),
"", 0,
Navegacion.VentasTickets }));
1823 _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"", String.Format(
"Factura simplificada inicial:{0}", lcTicketIni),
"", 0,
Navegacion.VentasTickets }));
1824 _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"", String.Format(
"Factura simplificada final:{0}", lcTicketFin),
"", 0,
Navegacion.VentasTickets }));
1828 foreach (var loDicMoneda
in _dicMonedas)
1830 llShowTotal =
false;
1831 iTotalTickets = iTotalFacturas = iTotalAlbaranes = 0;
1832 String lcMoneda = Convert.ToString(loDicMoneda.Key);
1833 String lcNombreMoneda = Convert.ToString(loDicMoneda.Value[
"nombre"]).Trim();
1835 List<DataRow> loRowsTiquets = (from loRowTiquets in this._dtVentas_Tiquets.AsEnumerable()
1836 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1837 select loRowTiquets).ToList();
1839 foreach (DataRow row
in loRowsTiquets)
1841 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.VentasTickets));
1842 iTotalTickets += Convert.ToDecimal(row[
"importediv"]);
1846 List<DataRow> loRowsAlbaranes = (from loRowTiquets in this._dtVentas_Albaranes.AsEnumerable()
1847 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1848 select loRowTiquets).ToList();
1850 foreach (DataRow row
in loRowsAlbaranes)
1852 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.VentasAlbaranes));
1853 iTotalAlbaranes += Convert.ToDecimal(row[
"importediv"]);
1857 List<DataRow> loRowsFacturas = (from loRowTiquets in this._dtVentas_Facturas.AsEnumerable()
1858 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1859 select loRowTiquets).ToList();
1861 foreach (DataRow row
in loRowsFacturas)
1863 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.VentasFacturas));
1864 iTotalFacturas += Convert.ToDecimal(row[
"importediv"]);
1868 Decimal lnTotal = iTotalFacturas + iTotalAlbaranes + iTotalTickets;
1871 _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"", String.Format(
"Total ({0}) . . .", lcNombreMoneda), String.Format(lcCadenaFormat, lnTotal), 2,
Navegacion.No }));
1877 _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"II.",
"OPERACIONES CAJA",
"", 1,
Navegacion.No }));
1880 foreach (var loDicMoneda
in _dicMonedas)
1882 String lcMoneda = Convert.ToString(loDicMoneda.Key);
1883 String lcNombreMoneda = Convert.ToString(loDicMoneda.Value[
"nombre"]).Trim();
1884 llShowTotal =
false;
1886 List<DataRow> loRowsReposiciones = (from loRowTiquets in this._dtOperCaja_Reposiciones.AsEnumerable()
1887 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1888 select loRowTiquets).ToList();
1892 foreach (DataRow row
in loRowsReposiciones)
1894 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.OperCajaReposiciones));
1895 iTotal += Convert.ToDecimal(row[
"importediv"]);
1899 List<DataRow> loRowsCobrosTickets = (from loRowTiquets in this._dtOperCaja_Cobros_Tiquets.AsEnumerable()
1900 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1901 select loRowTiquets).ToList();
1904 foreach (DataRow row
in loRowsCobrosTickets)
1906 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.OperCajaCobrosTickets));
1907 iTotal += Convert.ToDecimal(row[
"importediv"]);
1911 List<DataRow> loRowsVales = (from loRowTiquets in this._dtOperCaja_Vales_Efectuados.AsEnumerable()
1912 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1913 select loRowTiquets).ToList();
1915 foreach (DataRow row
in loRowsVales)
1917 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.OperCajaValesEjecutados));
1918 iTotal += Convert.ToDecimal(row[
"importediv"]);
1922 List<DataRow> loRowsEntregasAlbaranes = (from loRowTiquets in this._dtOperCaja_Entregas_Cuenta_Albaranes.AsEnumerable()
1923 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1924 select loRowTiquets).ToList();
1927 foreach (DataRow row
in loRowsEntregasAlbaranes)
1929 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.OperCajaEntregasCuentaAlbaranes));
1930 iTotal += Convert.ToDecimal(row[
"importediv"]);
1934 List<DataRow> loRowsEntregasPedidos = (from loRowTiquets in this._dtOperCaja_Entregas_Cuenta_Pedidos.AsEnumerable()
1935 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1936 select loRowTiquets).ToList();
1939 foreach (DataRow row
in loRowsEntregasPedidos)
1941 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.OperCajaEntregasCuentaPedidos));
1942 iTotal += Convert.ToDecimal(row[
"importediv"]);
1946 List<DataRow> loRowsCobrosVarios = (from loRowTiquets in this._dtOperCaja_Cobros_Varios.AsEnumerable()
1947 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1948 select loRowTiquets).ToList();
1951 foreach (DataRow row
in loRowsCobrosVarios)
1953 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.OperCajaCobrosVarios));
1954 iTotal += Convert.ToDecimal(row[
"importediv"]);
1958 List<DataRow> loRowsCobrosFacturas = (from loRowTiquets in this._dtOperCaja_Cobros_Facturas.AsEnumerable()
1959 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1960 select loRowTiquets).ToList();
1963 foreach (DataRow row
in loRowsCobrosFacturas)
1965 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.OperCajaCobrosFacturas));
1966 iTotal += Convert.ToDecimal(row[
"importediv"]);
1970 List<DataRow> loRowsPagosVarios = (from loRowTiquets in this._dtOperCaja_Pagos_Varios.AsEnumerable()
1971 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1972 select loRowTiquets).ToList();
1975 foreach (DataRow row
in loRowsPagosVarios)
1977 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.OperCajaPagosVarios));
1978 iTotal += Convert.ToDecimal(row[
"importediv"]);
1982 List<DataRow> loRowsPagosFacturas = (from loRowTiquets in this._dtOperCaja_Pagos_Facturas.AsEnumerable()
1983 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1984 select loRowTiquets).ToList();
1987 foreach (DataRow row
in loRowsPagosFacturas)
1989 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.OperCajaPagosFacturas));
1990 iTotal += Convert.ToDecimal(row[
"importediv"]);
1994 List<DataRow> loRowsRetiros = (from loRowTiquets in this._dtOperCaja_Retiradas.AsEnumerable()
1995 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
1996 select loRowTiquets).ToList();
1998 foreach (DataRow row
in loRowsRetiros)
2000 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.OperCajaRetiradas));
2001 iTotal += Convert.ToDecimal(row[
"importediv"]);
2007 _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"", String.Format(
"Total ({0}) . . .", lcNombreMoneda), String.Format(lcCadenaFormat, iTotal), 2,
Navegacion.No }));
2014 _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"III.",
"ARQUEO CAJA",
"", 1,
Navegacion.No }));
2017 foreach (var loDicMoneda
in _dicMonedas)
2019 String lcMoneda = Convert.ToString(loDicMoneda.Key);
2020 String lcNombreMoneda = Convert.ToString(loDicMoneda.Value[
"nombre"]).Trim();
2021 llShowTotal =
false;
2023 List<DataRow> loRowsTotalFormaCobro = (from loRowTiquets in this._dtArqueo_Caja.AsEnumerable()
2024 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
2025 select loRowTiquets).ToList();
2028 foreach (DataRow row
in loRowsTotalFormaCobro)
2031 if (row[0].ToString() ==
"__")
2032 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.OperCajaValesEjecutados));
2034 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.Caja));
2037 iRetirosCaja += Convert.ToDecimal(row[
"importediv"]);
2043 _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"", String.Format(
"Total ({0}) . . .", lcNombreMoneda), String.Format(lcCadenaFormat, iRetirosCaja), 2,
Navegacion.No }));
2044 if (lcMoneda != EW_GLOBAL._Empresa._Moneda ) _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"",
"",
"", 0,
Navegacion.No }));
2047 if (lcMoneda == EW_GLOBAL._Empresa._Moneda)
2049 iImporteTecleado = this._Afegir_Total_Tecleado_Diferencia(ref _oDtArqueo, lcCadenaFormat);
2050 this._ImporteRepEnCaja = this._ImporteRepEnCaja;
2051 this._ImporteTecleado = iImporteTecleado;
2057 if (this._DesgloseFamilias)
2060 _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"IV.",
"DESGLOSE POR FAMILIAS",
"", 1,
Navegacion.No }));
2063 foreach (var loDicMoneda
in _dicMonedas)
2065 String lcMoneda = Convert.ToString(loDicMoneda.Key);
2066 String lcNombreMoneda = Convert.ToString(loDicMoneda.Value[
"nombre"]).Trim();
2069 iTotalDesgloseFamilia = 0;
2070 llShowTotal =
false;
2072 List<DataRow> loRowsFamilia = (from loRowTiquets in this._dtDesg_Familias.AsEnumerable()
2073 where Convert.ToString(loRowTiquets[
"moneda"]) == Convert.ToString(lcMoneda)
2074 select loRowTiquets).ToList();
2076 foreach (DataRow row
in loRowsFamilia)
2078 _oDtArqueo.Rows.Add(_addRow(row,
Navegacion.Familias));
2079 iTotalDesgloseFamilia += Convert.ToDecimal(row[
"importediv"]);
2085 _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"", String.Format(
"Total ({0}) . . .", lcNombreMoneda), String.Format(lcCadenaFormat, iTotalDesgloseFamilia), 2,
Navegacion.No }));
2109 tdtTable.Rows.Add(_addRow(
new Object[] {
"",
"Tecleado", String.Format(tcCadenaFormat, this._ImporteTecleado), 2,
Navegacion.No }));
2110 tdtTable.Rows.Add(_addRow(
new Object[] {
"",
"Diferencia", String.Format(tcCadenaFormat, this._ImporteTecleado - this._ImporteEfectivoArqueo), 2,
Navegacion.No }));
2112 return this._ImporteTecleado;
2122 bool llRetorno =
false;
2123 DataTable ldt_Cursor =
new DataTable();
2124 DataTable ldt_CurMax =
new DataTable();
2128 string lcOperarioTpv = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_operariotpv"));
2130 this._Error =
false;
2131 this._Mensaje_Error =
"";
2144 if (this._nNumero == 0)
2146 this._MessageBox(
"No se puede desarquear un arqueo sin haber asignado número al arqueo. Debe estar situado en un arqueo ya cerrado con anterioridad.");
2151 if (this._lcUsuario !=
"SUPERVISOR")
2153 if (!
string.IsNullOrWhiteSpace(lcOperarioTpv))
2155 if (!Convert.ToBoolean(DB.SQLValor(
"opc_user",
"opctpv='08' and operario", lcOperarioTpv,
"valor",
"comunes")))
2157 this._MessageBox(
"El operario de TPV '" + lcOperarioTpv +
"' no tiene permisos para desarquear.",
"",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
2166 llRetorno = DB.SQLExec(
"update " + DB.SQLDatabase(
"tpv",
"c_albven") +
" " +
2167 "set usuario = " + DB.SQLString(this._lcUsuarioTablas) +
", " +
2169 "where arqueo=" + DB.SQLString(this._nNumero) +
" " +
2170 "and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
2171 "and empresa=" + DB.SQLString(
this._lcEmpresaActiva));
2174 this._MessageBox(
"(_Desarquear) Error al poner a 0 el campo ARQUEO de tpv!c_albven.");
2179 llRetorno = DB.SQLExec(
"update " + DB.SQLDatabase(
"tpv",
"tikets") +
" " +
2180 "set usuario = " + DB.SQLString(this._lcUsuarioTablas) +
", " +
2182 "where arqueo=" + DB.SQLString(this._nNumero) +
" " +
2183 "and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
2184 "and empresa=" + DB.SQLString(
this._lcEmpresaActiva));
2187 this._MessageBox(
"(_Desarquear) Error al poner a 0 el campo ARQUEO de tpv!tikets.");
2192 llRetorno = DB.SQLExec(
"update " + DB.SQLDatabase(
"tpv",
"vales") +
" " +
2193 "set usuario = " + DB.SQLString(this._lcUsuarioTablas) +
", " +
2195 "where arqueo=" + DB.SQLString(this._nNumero) +
" " +
2196 "and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
2197 "and empresa=" + DB.SQLString(
this._lcEmpresaActiva));
2200 this._MessageBox(
"(_Desarquear) Error al poner a 0 el campo ARQUEO de tpv!vales.");
2265 llRetorno = DB.SQLExec(
"update " + DB.SQLDatabase(
"tpv",
"reposi") +
" " +
2266 "set usuario = " + DB.SQLString(this._lcUsuarioTablas) +
", " +
2268 "where arqueo=" + DB.SQLString(this._nNumero) +
" " +
2269 "and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
2270 "and empresa=" + DB.SQLString(
this._lcEmpresaActiva));
2273 this._MessageBox(
"(_Desarquear) Error al poner a 0 el campo ARQUEO de tpv!reposi.");
2279 llRetorno = DB.SQLExec(
"update " + DB.SQLDatabase(
"tpv",
"cob_pago") +
" " +
2280 "set usuario = " + DB.SQLString(this._lcUsuarioTablas) +
", " +
2282 "where arqueo=" + DB.SQLString(this._nNumero) +
" " +
2283 "and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
2284 "and empresa=" + DB.SQLString(
this._lcEmpresaActiva));
2287 this._MessageBox(
"(_Desarquear) Error al poner a 0 el campo ARQUEO de tpv!cob_pago.");
2291 llRetorno = DB.SQLExec(
"delete from " + DB.SQLDatabase(
"tpv",
"d_arqueo") +
" " +
2292 "where empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
2293 "and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
2294 "and arqueo=" + DB.SQLString(
this._nNumero));
2297 this._MessageBox(
"(_Desarquear) Error al borrar registros de tpv!d_arqueo.");
2302 llRetorno = DB.SQLExec(
"delete from " + DB.SQLDatabase(
"tpv",
"arqueos") +
" " +
2303 "where empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
2304 "and ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
2305 "and numero=" + DB.SQLString(
this._nNumero));
2308 this._MessageBox(
"(_Desarquear) Error al borrar registro de tpv!arqueos.");
2312 if (this._Error ==
false)
2313 FUNCTIONS._RestaNumero(this._lcEmpresaActiva, this._nNumero,
"arqueo",
"conftick",
"tpv");
2317 return (this._Error ==
false);
2328 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
2331 DataTable ldt_tmp_tic =
new DataTable();
2332 DataTable ldt_tmp_rep =
new DataTable();
2333 DataTable ldt_tmp_ret =
new DataTable();
2334 bool llConsulta1_Ok =
false;
2335 bool llConsulta2_Ok =
false;
2336 bool llConsulta3_Ok =
false;
2337 int lnDecimales_MonedaEmpresa = Convert.ToInt32(DB.SQLValor(
"moneda",
"codigo",
this._lcMoneda_Empresa,
"DECIMALES"));
2338 decimal lnTotal = 0.0M;
2340 this._Addons_Obtener_DataTable_Arqueo_Caja(
TipoExecute.Before);
2343 this._nImporteArqueo = 0.0M;
2344 this._nImporteEfectivoArqueo = 0.0M;
2347 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
2348 int lnDecimalesMascara;
2350 object[,] la_array_cursor = { {
"fcobro",
"string", 2,
"Y" }, {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
2351 this._dtArqueo_Caja = DBfunctions._Crear_DtTable(la_array_cursor);
2354 string lcCondicion =
string.Empty;
2355 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
2356 lcCondicion = lcCondicion +
" and tikets.caja >= " + DB.SQLString(_CajaDesde);
2358 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
2359 lcCondicion = lcCondicion +
" and tikets.caja <= " + DB.SQLString(_CajaHasta);
2361 if (_FechaDesde != null)
2362 lcCondicion = lcCondicion +
" and tikets.fecha >= " + DB.SQLString(_FechaDesde);
2364 if (_FechaHasta != null)
2365 lcCondicion = lcCondicion +
" and tikets.fecha <= " + DB.SQLString(_FechaHasta);
2367 if (
string.IsNullOrWhiteSpace(lcCondicion))
2368 lcCondicion =
"and " + _makeId(
"tikets",
"tikets.arqueo=" + DB.SQLString(
this._nNumero) + (this._nNumero == 0 ?
" and tikets.fecha<=" + DB.SQLString(this._dFecha) +
" and tikets.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
2372 llConsulta1_Ok = DB.SQLExec(
"select tikets.forma_cob as fcobro, tikets.moneda, " +
2373 "Sum(tikets.entrega-tikets.cambio_e) as importediv, " +
2374 "max(" + DB.SQLNvl(
"fcobros.efectivo",
"0") +
") as efectivo, " +
2375 DB.SQLNvl(
"Sum(Round(" + DB.SQLIif(
"moneda.cme=1",
"(tikets.entrega-tikets.cambio_e)/tikets.cotizacion",
"(tikets.entrega-tikets.cambio_e)*tikets.cotizacion") +
"," + lnDecimales_MonedaEmpresa.ToString() +
"))", 0) +
" as importe " +
2376 "from ((" + DB.SQLDatabase(
"tpv",
"tikets") +
" inner join " + DB.SQLDatabase(
"gestion",
"moneda") +
" on tikets.moneda=moneda.codigo) " +
2377 "left join " + DB.SQLDatabase(
"tpv",
"f_cobros") +
" fcobros on tikets.forma_cob = fcobros.codigo) " +
2378 "where tikets.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
2379 "and tikets.empresa=" + DB.SQLString(
this._lcEmpresaActiva) +
" " +
2381 "group by tikets.forma_cob,tikets.moneda", ref ldt_tmp_tic);
2382 if (!llConsulta1_Ok)
2384 this._MessageBox(
"(_Load) Error en consulta de cobros en efectivo en _Obtener_DataTable_Arqueo_Caja().");
2388 lcCondicion =
string.Empty;
2389 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
2390 lcCondicion = lcCondicion +
" and reposi.caja >= " + DB.SQLString(_CajaDesde);
2392 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
2393 lcCondicion = lcCondicion +
" and reposi.caja <= " + DB.SQLString(_CajaHasta);
2395 if (_FechaDesde != null)
2396 lcCondicion = lcCondicion +
" and reposi.fecha >= " + DB.SQLString(_FechaDesde);
2398 if (_FechaHasta != null)
2399 lcCondicion = lcCondicion +
" and reposi.fecha <= " + DB.SQLString(_FechaHasta);
2401 if (
string.IsNullOrWhiteSpace(lcCondicion))
2402 lcCondicion =
"and " + _makeId(
"reposi",
"reposi.arqueo=" + DB.SQLString(
this._nNumero) + (this._nNumero == 0 ?
" and reposi.fecha<=" + DB.SQLString(this._dFecha) +
" and reposi.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
2406 llConsulta2_Ok = DB.SQLExec(
"select " + DB.SQLNvl(
"f_cobros.codigo",
"space(2)") +
" as fcobro, reposi.moneda, " +
2407 "max(" + DB.SQLNvl(
"f_cobros.efectivo",
"0") +
") as efectivo, " +
2408 "Sum(reposi.reposicion) as importediv, " +
2409 DB.SQLNvl(
"Sum(" + DB.SQLIif(
"moneda.cme=1",
"reposi.reposicion/reposi.cambio",
"reposi.reposicion*reposi.cambio") +
")", 0) +
" as importe " +
2410 "from ((" + DB.SQLDatabase(
"tpv",
"reposi") +
" inner join " + DB.SQLDatabase(
"gestion",
"moneda") +
" on reposi.moneda=moneda.codigo) " +
2411 "left join " + DB.SQLDatabase(
"tpv",
"f_cobros") +
" on f_cobros.moneda = reposi.moneda and f_cobros.efectivo=1) " +
2412 "where reposi.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
2413 "and reposi.empresa=" + DB.SQLString(
this._lcEmpresaActiva) +
" " +
2415 "group by f_cobros.codigo, reposi.moneda", ref ldt_tmp_rep);
2416 if (!llConsulta2_Ok)
2418 this._MessageBox(
"(_Load) Error en consulta de reposiciones en _Obtener_DataTable_Arqueo_Caja().");
2422 lcCondicion =
string.Empty;
2423 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
2424 lcCondicion = lcCondicion +
" and cob_pago.caja >= " + DB.SQLString(_CajaDesde);
2426 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
2427 lcCondicion = lcCondicion +
" and cob_pago.caja <= " + DB.SQLString(_CajaHasta);
2429 if (_FechaDesde != null)
2430 lcCondicion = lcCondicion +
" and cob_pago.fecha >= " + DB.SQLString(_FechaDesde);
2432 if (_FechaHasta != null)
2433 lcCondicion = lcCondicion +
" and cob_pago.fecha <= " + DB.SQLString(_FechaHasta);
2435 if (
string.IsNullOrWhiteSpace(lcCondicion))
2436 lcCondicion =
"and " + _makeId(
"cob_pago",
"cob_pago.arqueo=" + DB.SQLString(
this._nNumero) + (this._nNumero == 0 ?
" and cob_pago.fecha<=" + DB.SQLString(this._dFecha) +
" and cob_pago.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
2440 llConsulta3_Ok = DB.SQLExec(
"select " + DB.SQLNvl(
"f_cobros.codigo",
"space(2)") +
" as fcobro, cob_pago.moneda, " +
2441 "max(" + DB.SQLNvl(
"f_cobros.efectivo",
"0") +
") as efectivo, " +
2442 "Sum(cob_pago.importediv)*-1 as importediv, " +
2443 "Sum(cob_pago.importe)*-1 as importe " +
2444 "from (" + DB.SQLDatabase(
"tpv",
"cob_pago") +
" " +
2445 "left join " + DB.SQLDatabase(
"tpv",
"f_cobros") +
" on f_cobros.moneda = cob_pago.moneda and f_cobros.efectivo=1 ) " +
2446 "where cob_pago.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
2447 "and cob_pago.empresa=" + DB.SQLString(
this._lcEmpresaActiva) +
" " +
2448 "and cob_pago.operacion='R' " +
2450 "group by f_cobros.codigo,cob_pago.moneda", ref ldt_tmp_ret);
2451 if (!llConsulta3_Ok)
2453 this._MessageBox(
"(_Load) Error en consulta de retiradas en _Obtener_DataTable_Arqueo_Caja().");
2456 if (llConsulta1_Ok ==
true && llConsulta2_Ok ==
true && llConsulta3_Ok ==
true)
2458 decimal lnEfectivoTickets = ldt_tmp_tic.AsEnumerable().Where(lin => lin[
"importe"] != null && Convert.ToInt32(lin[
"efectivo"]) == 1 && Convert.ToString(lin[
"moneda"]) == EW_GLOBAL._Empresa._Moneda).Sum(lin => Convert.ToDecimal(lin[
"importe"]));
2459 decimal lnEfectivoReposiciones = ldt_tmp_rep.AsEnumerable().Where(lin => lin[
"importe"] != null && Convert.ToString(lin[
"moneda"]) == EW_GLOBAL._Empresa._Moneda).Sum(lin => Convert.ToDecimal(lin[
"importe"]));
2462 decimal lnEfectivoRetiros = ldt_tmp_ret.AsEnumerable().Where(lin => lin[
"importe"] != null && Convert.ToString(lin[
"moneda"]) == EW_GLOBAL._Empresa._Moneda).Sum(lin => Convert.ToDecimal(lin[
"importe"]));
2465 decimal lnImporteEfectivo = lnEfectivoTickets + lnEfectivoReposiciones + lnEfectivoRetiros;
2467 this._nImporteEfectivoArqueo = lnImporteEfectivo;
2470 DataTable ldt_PrimerFullJoin = ldt_tmp_tic.Clone();
2473 DataTable ldt_ResFullJoin = ldt_tmp_tic.Clone();
2481 var loPrimerFullJoinLeft = from tic in ldt_tmp_tic.AsEnumerable()
2482 join rep in ldt_tmp_rep.AsEnumerable()
2483 on
new { a = tic.Field<
string>(
"fcobro"), b = tic.Field<
string>(
"moneda") } equals
2484 new { a = rep.Field<
string>(
"fcobro"), b = rep.Field<
string>(
"moneda") } into temp
2485 from itemright in temp.DefaultIfEmpty()
2488 fcobro = tic.Field<
string>(
"fcobro"),
2489 moneda = tic.Field<
string>(
"moneda"),
2490 importediv = tic.Field<decimal>(
"importediv") + (itemright == null ? 0.0M : itemright.Field<decimal>(
"importediv")),
2491 importe = tic.Field<decimal>(
"importe") + (itemright == null ? 0.0M : itemright.Field<decimal>(
"importe"))
2495 var loPrimerFullJoinRight = from rep in ldt_tmp_rep.AsEnumerable()
2496 join tic in ldt_tmp_tic.AsEnumerable()
2497 on
new { a = rep.Field<
string>(
"fcobro"), b = rep.Field<
string>(
"moneda") } equals
2498 new { a = tic.Field<
string>(
"fcobro"), b = tic.Field<
string>(
"moneda") } into temp
2499 from itemright in temp.DefaultIfEmpty()
2502 fcobro = rep.Field<
string>(
"fcobro"),
2503 moneda = rep.Field<
string>(
"moneda"),
2504 importediv = rep.Field<decimal>(
"importediv") + (itemright == null ? 0.0M : itemright.Field<decimal>(
"importediv")),
2505 importe = rep.Field<decimal>(
"importe") + (itemright == null ? 0.0M : itemright.Field<decimal>(
"importe"))
2510 var loPrimerFullJoin = loPrimerFullJoinLeft.Union(loPrimerFullJoinRight);
2513 foreach (var r
in loPrimerFullJoin)
2515 row = ldt_PrimerFullJoin.NewRow();
2516 row[
"fcobro"] = r.fcobro;
2517 row[
"moneda"] = r.moneda;
2518 row[
"importediv"] = r.importe;
2519 row[
"importe"] = r.importediv;
2520 ldt_PrimerFullJoin.Rows.Add(row);
2523 catch (Exception oE)
2525 this._MessageBox(
"(_Load) Error en primer FULL JOIN en _Obtener_DataTable_Arqueo_Caja().\n\n" + oE.Message);
2534 var loSegundoFullJoinLeft = from ticrep in ldt_PrimerFullJoin.AsEnumerable()
2535 join ret in ldt_tmp_ret.AsEnumerable()
2536 on
new { a = ticrep.Field<
string>(
"fcobro"), b = ticrep.Field<
string>(
"moneda") } equals
2537 new { a = ret.Field<
string>(
"fcobro"), b = ret.Field<
string>(
"moneda") } into temp
2538 from itemright in temp.DefaultIfEmpty()
2541 fcobro = ticrep.Field<
string>(
"fcobro"),
2542 moneda = ticrep.Field<
string>(
"moneda"),
2543 importediv = ticrep.Field<decimal>(
"importediv") + (itemright == null ? 0.0M : itemright.Field<decimal>(
"importediv")),
2544 importe = ticrep.Field<decimal>(
"importe") + (itemright == null ? 0.0M : itemright.Field<decimal>(
"importe"))
2548 var loSegundoFullJoinRight = from ret in ldt_tmp_ret.AsEnumerable()
2549 join ticrep in ldt_PrimerFullJoin.AsEnumerable()
2550 on
new { a = ret.Field<
string>(
"fcobro"), b = ret.Field<
string>(
"moneda") } equals
2551 new { a = ticrep.Field<
string>(
"fcobro"), b = ticrep.Field<
string>(
"moneda") } into temp
2552 from itemright in temp.DefaultIfEmpty()
2555 fcobro = ret.Field<
string>(
"fcobro"),
2556 moneda = ret.Field<
string>(
"moneda"),
2557 importediv = ret.Field<decimal>(
"importediv") + (itemright == null ? 0.0M : itemright.Field<decimal>(
"importediv")),
2558 importe = ret.Field<decimal>(
"importe") + (itemright == null ? 0.0M : itemright.Field<decimal>(
"importe"))
2563 var loSegundoFullJoin = loSegundoFullJoinLeft.Union(loSegundoFullJoinRight);
2566 foreach (var r
in loSegundoFullJoin)
2568 row = ldt_ResFullJoin.NewRow();
2569 row[
"fcobro"] = r.fcobro;
2570 row[
"moneda"] = r.moneda;
2571 row[
"importediv"] = r.importe;
2572 row[
"importe"] = r.importediv;
2573 ldt_ResFullJoin.Rows.Add(row);
2576 catch (Exception oE)
2578 this._MessageBox(
"(_Load) Error en segundo FULL JOIN en _Obtener_DataTable_Arqueo_Caja().\n\n" + oE.Message);
2584 if (ldt_ResFullJoin.Rows.Count > 0)
2586 foreach (DataRow r
in ldt_ResFullJoin.Rows)
2588 string lcMoneda = Convert.ToString(r[
"moneda"]);
2589 if (
string.IsNullOrWhiteSpace(lcMoneda))
2590 lcMoneda = this._lcMoneda_Empresa;
2594 loDicMoneda = _Moneda(lcMoneda);
2597 row = this._dtArqueo_Caja.NewRow();
2599 row[
"descripcion"] = Convert.ToString(DB.SQLValor(
"f_cobros",
"codigo", Convert.ToString(r[
"fcobro"]),
"nombre",
"tpv"));
2601 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara);
2603 row[
"moneda"] = lcMoneda;
2607 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
2609 row[
"fcobro"] = Convert.ToString(r[
"fcobro"]);
2610 this._dtArqueo_Caja.Rows.Add(row);
2611 lnTotal = lnTotal + Convert.ToDecimal(r[
"importe"]);
2617 if (this._dtOperCaja_Vales_Efectuados.Rows.Count == 0)
2619 String lcMsgError =
"";
2620 decimal lnTotalVales = 0.0M;
2621 this._dtOperCaja_Vales_Efectuados = this._Obtener_DataTable_OperCaja_Vales_Efectuados(ref lnTotalVales, ref lcMsgError);
2622 this._MessageBox(lcMsgError);
2627 foreach (DataRow r
in this._dtOperCaja_Vales_Efectuados.Rows)
2629 if (Convert.ToDecimal(r[
"importe"]) != 0)
2631 string lcMoneda = Convert.ToString(r[
"moneda"]);
2632 if (
string.IsNullOrWhiteSpace(lcMoneda)) lcMoneda = this._lcMoneda_Empresa;
2633 loDicMoneda = _Moneda(lcMoneda);
2636 row = this._dtArqueo_Caja.NewRow();
2637 row[
"descripcion"] =
"Vales efectuados";
2638 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara);
2639 row[
"moneda"] = lcMoneda;
2643 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
2644 row[
"fcobro"] =
"__";
2646 this._dtArqueo_Caja.Rows.Add(row);
2647 lnTotal = lnTotal + Convert.ToDecimal(r[
"importe"]);
2652 this._nImporteArqueo = lnTotal;
2654 catch (Exception oE)
2656 this._MessageBox(
"(_Load) Error en procesos finales en _Obtener_DataTable_Arqueo_Caja().\n\n" + oE.Message);
2660 this._Addons_Obtener_DataTable_Arqueo_Caja(
TipoExecute.After);
2663 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
2674 String lcArqueos =
"";
2675 String lcArqueosFecha =
"";
2676 Dictionary<string, object> loDicRegArqueo;
2677 DateTime ldFechaArqueo =
new DateTime();
2679 this._Addons_Print(
TipoExecute.Before, teTipoDeArqueo, tcFileXMLDatos, tcCaption);
2682 foreach (KeyValuePair<string, string> itemNum
in this._Numeros)
2687 loDicRegArqueo = loArqueo._Obtener_DatosGen_Arqueo_Cerrado(this._lcEjercicioActivo, this._lcEmpresaActiva, Convert.ToInt32(itemNum.Value));
2689 ldFechaArqueo = Convert.ToDateTime(loDicRegArqueo[
"fecha"]);
2691 lcArqueos += itemNum.Value +
"|";
2692 lcArqueosFecha += ldFechaArqueo.ToString(
"d") +
"|";
2696 if (this._Numeros.Count == 0 &&
this._Numero > 0)
2698 lcArqueos += this._Numero +
"|";
2699 lcArqueosFecha += this._Fecha.ToString(
"d") +
"|";
2703 string lcFileXmlIvas = _Obtener_XML_desglose_iva();
2707 string lcFecha_Final = _dFecha_Final.ToString(
"dd/MM/yyyy");
2710 int lnDispositivo = this._Seleccionar_Dispositivo(
"¿ Desea imprimir por impresora o por ticket ?", tcCaption);
2712 if (lnDispositivo < 0)
2716 object[] loParameImp =
new object[15]
2720 Convert.ToInt16(teTipoDeArqueo),
2735 NETVFP._Ejecutar_Funcion_VFP(
"Imprimir_Arqueo_Net", loParameImp);
2737 this._Addons_Print(
TipoExecute.After, teTipoDeArqueo, tcFileXMLDatos, tcCaption);
2746 public void _Print_Consolida(
string tcFileXMLDatos,
string tcCaption,
string tcCajaIni,
string tcCajaFin, DateTime dFechaIni, DateTime dFechaFin, Boolean tlTodasCajas =
false)
2749 string lcFileXmlIvas = _Obtener_XML_desglose_iva();
2752 string lcFechaIni = dFechaIni.ToString(
"dd/MM/yyyy");
2753 string lcFechaFin = dFechaFin.ToString(
"dd/MM/yyyy");
2756 int lnDispositivo = this._Seleccionar_Dispositivo(
"¿ Desea imprimir por impresora o por ticket ?", tcCaption);
2758 this._Addons_Print_Consolida(
TipoExecute.Before, tcFileXMLDatos, tcCaption, tcCajaIni, tcCajaFin, dFechaIni, dFechaFin, tlTodasCajas);
2760 if (lnDispositivo < 0)
2764 object[] loParameImp =
new object[9]
2777 NETVFP._Ejecutar_Funcion_VFP(
"Imprimir_Consolida_Net", loParameImp);
2779 this._Addons_Print_Consolida(
TipoExecute.After, tcFileXMLDatos, tcCaption, tcCajaIni, tcCajaFin, dFechaIni, dFechaFin, tlTodasCajas);
2788 public void _MessageBox(
string tcMensaje,
string tcTitulo =
"", MessageBoxButtons toButtons = MessageBoxButtons.OK, MessageBoxIcon toIcon = MessageBoxIcon.Error, MessageBoxDefaultButton toDefaultButton = MessageBoxDefaultButton.Button1)
2790 if (
string.IsNullOrEmpty(tcMensaje))
2795 if (
string.IsNullOrWhiteSpace(tcTitulo))
2796 tcTitulo = this._TituloMantenimiento;
2798 if (this._oLinkForm == null)
2799 this._Mensaje_Error = tcMensaje;
2801 if (this._lMostrarMensajes ==
true)
2802 this._oLinkForm._MessageBox(tcMensaje, toButtons, toIcon, toDefaultButton, DialogResult.OK);
2815 string lcFileNameIva = tcFileName;
2818 string lcDir = EW_GLOBAL._GetVariable(
"wc_PathInicio").ToString();
2821 if (String.IsNullOrEmpty(lcDir))
2823 lcDir =
System.IO.Path.GetTempPath();
2824 lcFileNameIva = lcDir + lcFileNameIva;
2827 lcDir = Path.Combine(lcDir +
"\\temp\\");
2830 ldTable.WriteXml(lcDir + tcFileName, XmlWriteMode.IgnoreSchema);
2833 return lcFileNameIva;
2844 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
2851 loEwDocVentaTpv.
_Load(lcEmpresa, lcNumero, lcLetra);
2854 tcClave = String.Format(
"{0}_{1}_{2}", lcEmpresa, lcNumero, lcLetra);
2856 if (this._nDocsIva.ContainsKey(tcClave))
2858 DocIva = this._nDocsIva[tcClave];
2864 this._nDocsIva.Add(tcClave, DocIva);
2868 if (!_lAvisoIva) _lAvisoIva = loEwDocVentaTpv.
_Cabecera._Divisa != EW_GLOBAL._Empresa._Moneda;
2871 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
2889 this._Estado_Consulta = this._Numeros.Count > 0 && this._Cajas.Count > 0;
2891 loForm._ShowDialog();
2901 this._detalle_arqueo(
"Tickets",
string.Empty,
"L_CAJAS", tcDivisa: tcDivisa);
2911 this._detalle_arqueo(
"Albaranes",
string.Empty,
"L_CAJAS", tcDivisa: tcDivisa);
2921 this._detalle_arqueo(
"Facturas",
string.Empty,
"L_CAJAS", tcDivisa: tcDivisa);
2931 this._detalle_arqueo(
"Reposiciones",
string.Empty,
"L_REPOSI", tcDivisa: tcDivisa);
2941 this._detalle_arqueo(
"Cobros Tickets",
string.Empty,
"L_OPCAJA", 1, tcDivisa: tcDivisa);
2951 this._detalle_arqueo(
"Vales efectuad.",
string.Empty,
"L_OPCAJA", 9);
2961 this._detalle_arqueo(
"Entregas a cta.",
string.Empty,
"L_OPCAJA", 2, tcDivisa: tcDivisa);
2971 this._detalle_arqueo(
"Entregas a cta. Pedidos",
string.Empty,
"L_OPCAJA", 10, tcDivisa: tcDivisa);
2981 this._detalle_arqueo(
"Cobros Facturas",
string.Empty,
"L_OPCAJA", 4, tcDivisa: tcDivisa);
2991 this._detalle_arqueo(
"Cobros Varios",
string.Empty,
"L_OPCAJA", 3);
3001 this._detalle_arqueo(
"Pagos Facturas",
string.Empty,
"L_OPCAJA", 6, tcDivisa: tcDivisa);
3011 this._detalle_arqueo(
"Pagos Varios",
string.Empty,
"L_OPCAJA", 5);
3021 this._detalle_arqueo(
"Retiros",
string.Empty,
"L_RETIROS", tcDivisa: tcDivisa);
3031 this._detalle_arqueo(
"Ventas Familia", tcDescripcion,
"VEN_CA", tcDivisa: tcDivisa);
3040 this._detalle_arqueo(
"Caja", tcDescripcion,
"L_OPCAJA", 0, tcDivisa: tcDivisa);
3049 this._detalle_arqueo(
"Credit",
string.Empty,
"CREDIT_TPV");
3058 this._detalle_arqueo(
"Abonos",
string.Empty,
"L_ABONOS");
3067 DataTable ldt_Cursor =
new DataTable();
3068 String lcRetorno =
"";
3069 tcCampo = String.IsNullOrEmpty(tcCampo) ?
"caja" : tcCampo;
3070 tcEmpresa = String.IsNullOrEmpty(tcEmpresa) ? this._lcEmpresaActiva : tcEmpresa;
3072 String lcSql =
"select " + tcCampo +
" as codigo from " + DB.SQLDatabase(
"tpv",
"caj_fcob") +
" where empresa=" + DB.SQLString(tcEmpresa);
3073 bool llRetorno = DB.SQLExec(lcSql, ref ldt_Cursor);
3075 lcRetorno = Convert.ToString(ldt_Cursor.Rows[0][
"codigo"]);
3081 #endregion METODOS PUBLICOS 3084 #region MÉTODOS PROTECTED 3091 protected virtual int _Obtener_Numero_Tiquets(ref
string tnNumTicIni, ref
string tnNumTicFin, ref
string tcMsgError, ref
string tnLetraTicIni, ref
string tnLetraTicFin)
3094 DataTable ldt_Cursor =
new DataTable();
3095 bool llConsulta_Ok =
false;
3098 string lcCondicion =
string.Empty;
3099 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
3100 lcCondicion = lcCondicion +
" and t.caja >= " + DB.SQLString(_CajaDesde);
3102 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
3103 lcCondicion = lcCondicion +
" and t.caja <= " + DB.SQLString(_CajaHasta);
3105 if (_FechaDesde != null)
3106 lcCondicion = lcCondicion +
" and g.fecha >= " + DB.SQLString(_FechaDesde);
3108 if (_FechaHasta != null)
3109 lcCondicion = lcCondicion +
" and g.fecha <= " + DB.SQLString(_FechaHasta);
3111 if (
string.IsNullOrWhiteSpace(lcCondicion))
3112 lcCondicion =
"and " + _makeId(
"t",
"t.arqueo = " + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
"and t.aparcado=0 and g.fecha<=" + DB.SQLString(this._dFecha) +
" and t.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
3115 string lcEjercicio =
string.Empty;
3116 if (!_llejercicioautomatico) lcEjercicio =
" and t.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" ";
3118 if (
string.IsNullOrWhiteSpace(_CajaDesde) &&
string.IsNullOrWhiteSpace(_CajaHasta))
3119 lcCondicion = lcCondicion +
" and t.caja !='' ";
3121 llConsulta_Ok = DB.SQLExec(
"select t.empresa,t.letra, t.numero " +
3122 "from ((" + DB.SQLDatabase(
"gestion",
"c_albven") +
" g inner join " + DB.SQLDatabase(
"tpv",
"c_albven") +
" t " +
3123 "on g.empresa=t.empresa and g.numero=t.numero and g.letra=t.letra " + lcEjercicio +
") " +
3124 " inner join " + DB.SQLDatabase(
"gestion",
"d_albven") +
" d " +
3125 "on g.empresa=d.empresa and g.numero=d.numero and g.letra=d.letra) " +
3126 "where t.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
3129 "and t.tipo_doc=1 " +
3130 "group by t.empresa, t.letra, t.numero " +
3131 "order by t.empresa, t.letra, t.numero ", ref ldt_Cursor);
3133 if (llConsulta_Ok ==
true)
3135 lnNumTic = ldt_Cursor.Rows.Count;
3136 if (ldt_Cursor.Rows.Count > 0)
3138 tnNumTicIni = Convert.ToString(ldt_Cursor.Rows[0][
"numero"]);
3139 tnNumTicFin = Convert.ToString(ldt_Cursor.Rows[ldt_Cursor.Rows.Count - 1][
"numero"]);
3141 tnLetraTicIni = Convert.ToString(ldt_Cursor.Rows[0][
"letra"]);
3142 tnLetraTicFin = Convert.ToString(ldt_Cursor.Rows[ldt_Cursor.Rows.Count - 1][
"letra"]);
3146 tnNumTicIni =
new String(
' ', 12);
3147 tnNumTicFin =
new String(
' ', 12);
3148 tnLetraTicIni =
new String(
' ', 2);
3149 tnLetraTicFin =
new String(
' ', 2);
3155 tnNumTicIni =
new String(
' ', 12);
3156 tnNumTicFin =
new String(
' ', 12);
3157 tnLetraTicIni =
new String(
' ', 2);
3158 tnLetraTicFin =
new String(
' ', 2);
3160 tcMsgError =
"(_Load) Error en consulta de _Obtener_Numero_Tiquets().";
3173 DataTable ldt_tmp_AlbD =
new DataTable();
3174 bool llConsulta_Ok =
false;
3175 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
3176 int lnDecimalesMascara;
3178 String tcDivisa, tcMoneda;
3179 tdFechaIni = DateTime.Today;
3180 tdFechaFin = DateTime.Today;
3182 object[,] la_array_cursor = { {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
3183 this._nImporteTotalVentas = 0;
3185 this._dtVentas_Tiquets = DBfunctions._Crear_DtTable(la_array_cursor);
3186 this._dtVentas_Albaranes = DBfunctions._Crear_DtTable(la_array_cursor);
3187 this._dtVentas_Facturas = DBfunctions._Crear_DtTable(la_array_cursor);
3188 _dicMoneda =
new Dictionary<string, string>();
3191 string lcCondicion =
string.Empty;
3192 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
3193 lcCondicion = lcCondicion +
" and t.caja >= " + DB.SQLString(_CajaDesde);
3195 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
3196 lcCondicion = lcCondicion +
" and t.caja <= " + DB.SQLString(_CajaHasta);
3198 if (_FechaDesde != null)
3199 lcCondicion = lcCondicion +
" and g.fecha >= " + DB.SQLString(_FechaDesde);
3201 if (_FechaHasta != null)
3202 lcCondicion = lcCondicion +
" and g.fecha <= " + DB.SQLString(_FechaHasta);
3204 if (
string.IsNullOrWhiteSpace(lcCondicion))
3205 lcCondicion =
"and " + _makeId(
"t",
"t.arqueo = " + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
"and t.aparcado=0 and g.fecha<=" + DB.SQLString(this._dFecha) +
" and t.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
3208 string lcEjercicio =
string.Empty;
3209 if (!_llejercicioautomatico) lcEjercicio =
" and t.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" ";
3211 if (
string.IsNullOrWhiteSpace(_CajaDesde) &&
string.IsNullOrWhiteSpace(_CajaHasta))
3212 lcCondicion = lcCondicion +
" and t.caja !='' ";
3224 String tcSql =
"select t.Tipo_Doc, g.Empresa, g.Numero, g.Letra, g.Divisa, g.Totaldoc as importe, g.Totaldiv as importediv, g.Fecha " +
3225 "from " + DB.SQLDatabase(
"gestion",
"c_albven") +
" g inner join " + DB.SQLDatabase(
"tpv",
"c_albven") +
" t " +
3226 "on g.Empresa=t.empresa and g.Numero=t.numero and g.Letra=t.Letra " + lcEjercicio +
3227 "inner join " + DB.SQLDatabase(
"gestion",
"clientes") +
" cli on g.cliente=cli.codigo " +
3228 "where t.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
3232 llConsulta_Ok = DB.SQLExec(tcSql, ref ldt_tmp_AlbD);
3234 if (llConsulta_Ok ==
true)
3238 tdFechaIni = ldt_tmp_AlbD.Rows.Count > 0 ? ldt_tmp_AlbD.AsEnumerable().Min(lin => Convert.ToDateTime(lin[
"fecha"])) : this._dFecha;
3239 tdFechaFin = ldt_tmp_AlbD.Rows.Count > 0 ? ldt_tmp_AlbD.AsEnumerable().Max(lin => Convert.ToDateTime(lin[
"fecha"])) : this._dFecha;
3241 if (ldt_tmp_AlbD.Rows.Count > 0)
3243 DataTable ldt_TmpAlb = ldt_tmp_AlbD.Clone();
3245 var lc_Consulta = from venta in ldt_tmp_AlbD.AsEnumerable()
3248 tipo_doc = venta[
"tipo_doc"],
3249 empresa = venta[
"empresa"],
3250 numero = venta[
"numero"],
3251 letra = venta[
"letra"],
3252 divisa = venta[
"divisa"],
3261 tipo_doc = g.Key.tipo_doc,
3262 empresa = g.Key.empresa,
3263 numero = g.Key.numero,
3264 letra = g.Key.letra,
3265 divisa = g.Key.divisa,
3271 importediv = g.Sum(venta => venta.Field<decimal>(
"importediv")),
3272 importe = g.Sum(venta => venta.Field<decimal>(
"importe"))
3275 var la_registros = lc_Consulta.ToArray();
3277 foreach (var r
in la_registros)
3279 row = ldt_TmpAlb.NewRow();
3280 row[
"tipo_doc"] = r.tipo_doc;
3281 row[
"empresa"] = r.empresa;
3282 row[
"numero"] = r.numero;
3283 row[
"letra"] = r.letra;
3284 row[
"divisa"] = r.divisa;
3290 row[
"importediv"] = r.importediv;
3291 row[
"importe"] = r.importe;
3292 ldt_TmpAlb.Rows.Add(row);
3297 var lc_Consulta2 = from venta in ldt_TmpAlb.AsEnumerable()
3300 tipo_doc = venta[
"tipo_doc"],
3301 divisa = venta[
"divisa"]
3305 tipo_doc = g.Key.tipo_doc,
3306 divisa = g.Key.divisa,
3307 importediv = g.Sum(venta => venta.Field<decimal>(
"importediv")),
3308 importe = g.Sum(venta => venta.Field<decimal>(
"importe"))
3311 var la_registros2 = lc_Consulta2.ToArray();
3317 foreach (var r
in la_registros2)
3320 if (Convert.ToDecimal(r.importe) != 0)
3322 string lcMoneda = Convert.ToString(r.divisa);
3323 if (
string.IsNullOrWhiteSpace(lcMoneda)) lcMoneda = this._lcMoneda_Empresa;
3326 loDicMoneda = _Moneda(lcMoneda);
3329 tcDivisa = Convert.ToString(r.divisa);
3330 tcMoneda = getSimboloMoneda(loDicMoneda);
3331 if (!_dicMoneda.ContainsKey(tcDivisa)) _dicMoneda.Add(tcDivisa, tcMoneda);
3333 if (Convert.ToInt32(r.tipo_doc) == 1)
3335 row = this._dtVentas_Tiquets.NewRow();
3337 row[
"descripcion"] = String.Format(
"Importe factura simplificada ({0})", tcMoneda);
3338 row[
"importediv"] = FUNCTIONS._Round(r.importediv, lnDecimalesMascara);
3339 row[
"moneda"] = tcDivisa;
3340 row[
"importe"] = r.importe;
3341 this._dtVentas_Tiquets.Rows.Add(row);
3343 this._nImporteTotalVentas = this._nImporteTotalVentas + Convert.ToDecimal(row[
"importe"]);
3345 else if (Convert.ToInt32(r.tipo_doc) == 2)
3347 row = this._dtVentas_Albaranes.NewRow();
3348 row[
"descripcion"] = String.Format(
"Importe albaranes ({0})", tcMoneda);
3349 row[
"importediv"] = FUNCTIONS._Round(r.importediv, lnDecimalesMascara);
3350 row[
"moneda"] = tcDivisa;
3351 row[
"importe"] = r.importe;
3352 this._dtVentas_Albaranes.Rows.Add(row);
3354 this._nImporteTotalVentas = this._nImporteTotalVentas + Convert.ToDecimal(row[
"importe"]);
3356 else if (Convert.ToInt32(r.tipo_doc) == 3)
3358 row = this._dtVentas_Facturas.NewRow();
3360 row[
"descripcion"] = String.Format(
"Importe facturas ({0})", tcMoneda);
3361 row[
"importediv"] = FUNCTIONS._Round(r.importediv, lnDecimalesMascara);
3362 row[
"moneda"] = tcDivisa;
3363 row[
"importe"] = r.importe;
3364 this._dtVentas_Facturas.Rows.Add(row);
3366 this._nImporteTotalVentas = this._nImporteTotalVentas + Convert.ToDecimal(row[
"importe"]);
3373 catch (Exception oE)
3375 tcMsgError =
"(_Load) Error en procesos internos en _Obtener_DataTables_Importe_Tiquets_Albaranes_Facturas().\n\n" + oE.Message;
3380 tcMsgError =
"(_Load) Error en consulta de _Obtener_DataTables_Importe_Tiquets_Albaranes_Facturas().";
3392 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
3395 DataTable ldt_CurReposi =
new DataTable();
3396 DataTable ldtReposiciones =
new DataTable();
3397 bool llConsulta_Ok =
false;
3399 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
3400 int lnDecimalesMascara;
3401 decimal lnTotal = 0.0M;
3403 object[,] la_array_cursor = { {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
3404 ldtReposiciones = DBfunctions._Crear_DtTable(la_array_cursor);
3407 string lcCondicion =
string.Empty;
3408 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
3409 lcCondicion = lcCondicion +
" and rep.caja >= " + DB.SQLString(_CajaDesde);
3411 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
3412 lcCondicion = lcCondicion +
" and rep.caja <= " + DB.SQLString(_CajaHasta);
3414 if (_FechaDesde != null)
3415 lcCondicion = lcCondicion +
" and rep.fecha >= " + DB.SQLString(_FechaDesde);
3417 if (_FechaHasta != null)
3418 lcCondicion = lcCondicion +
" and rep.fecha <= " + DB.SQLString(_FechaHasta);
3420 if (
string.IsNullOrWhiteSpace(lcCondicion))
3421 lcCondicion =
"and " + _makeId(
"rep",
"rep.arqueo=" + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
"and rep.fecha<=" + DB.SQLString(this._dFecha) +
" and rep.caja=" + DB.SQLString(this._lcCajaActiva) :
"") +
" ");
3424 string lcEjercicio =
string.Empty;
3425 if (!_llejercicioautomatico) lcEjercicio =
" and rep.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" ";
3427 llConsulta_Ok = DB.SQLExec(
"select sum(rep.reposicion) as importediv, rep.moneda, sum(rep.reposicion/rep.cambio) as importe " +
3428 "from " + DB.SQLDatabase(
"tpv",
"reposi") +
" rep " +
3429 "where rep.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
3432 "group by rep.moneda", ref ldt_CurReposi);
3433 if (llConsulta_Ok ==
true)
3435 if (ldt_CurReposi.Rows.Count > 0)
3440 foreach (DataRow r
in ldt_CurReposi.Rows)
3442 string lcMoneda = Convert.ToString(r[
"moneda"]);
3443 if (
string.IsNullOrWhiteSpace(lcMoneda))
3444 lcMoneda = this._lcMoneda_Empresa;
3445 loDicMoneda = DB.SQLREGValor(
"moneda",
"codigo", lcMoneda);
3448 if (Convert.ToDecimal(r[
"importe"]) != 0)
3450 row = ldtReposiciones.NewRow();
3454 row[
"descripcion"] =
"Reposiciones caja (" + getSimboloMoneda(loDicMoneda) +
")";
3456 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara);
3458 row[
"moneda"] = lcMoneda;
3460 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
3462 ldtReposiciones.Rows.Add(row);
3464 lnTotal = lnTotal + Convert.ToDecimal(r[
"importe"]);
3469 catch (Exception oE)
3471 tcMsgError =
"(_Load) Error en procesos internos _Obtener_DataTable_OperCaja_Reposiciones()..\n\n" + oE.Message;
3477 tcMsgError =
"(_Load) Error en consulta en _Obtener_DataTable_OperCaja_Reposiciones().";
3479 lnTotalRepo = lnTotal;
3482 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
3485 return ldtReposiciones;
3495 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
3499 DataTable ldt_CurVales =
new DataTable();
3500 DataTable ltdVales =
new DataTable();
3501 bool llConsulta_Ok =
false;
3503 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
3504 int lnDecimalesMascara;
3505 decimal lnTotal = 0.0M;
3507 object[,] la_array_cursor = { {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
3508 ltdVales = DBfunctions._Crear_DtTable(la_array_cursor);
3511 string lcCondicion =
string.Empty;
3512 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
3513 lcCondicion = lcCondicion +
" and vales.caja >= " + DB.SQLString(_CajaDesde);
3515 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
3516 lcCondicion = lcCondicion +
" and vales.caja <= " + DB.SQLString(_CajaHasta);
3518 if (_FechaDesde != null)
3519 lcCondicion = lcCondicion +
" and vales.fecha >= " + DB.SQLString(_FechaDesde);
3521 if (_FechaHasta != null)
3522 lcCondicion = lcCondicion +
" and vales.fecha <= " + DB.SQLString(_FechaHasta);
3524 if (
string.IsNullOrWhiteSpace(lcCondicion))
3525 lcCondicion =
"and " + _makeId(
"vales",
" vales.arqueo=" + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
"and vales.fecha<=" + DB.SQLString(this._dFecha) +
" and vales.caja=" + DB.SQLString(this._lcCajaActiva) :
" and vales.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)))) +
" ";
3528 llConsulta_Ok = DB.SQLExec(
"select vales.empresa, sum(vales.importe) as importediv, sum(vales.importe) as importe " +
3529 "from " + DB.SQLDatabase(
"tpv",
"vales") +
" " +
3530 "where vales.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
3531 "and vales.arqueo != -1 " +
3533 "group by vales.empresa", ref ldt_CurVales);
3535 if (llConsulta_Ok ==
true)
3537 if (ldt_CurVales.Rows.Count > 0)
3542 foreach (DataRow r
in ldt_CurVales.Rows)
3544 string lcMoneda = Convert.ToString(this._lcMoneda_Empresa);
3546 loDicMoneda = _Moneda(lcMoneda);
3549 if (Convert.ToDecimal(r[
"importe"]) != 0)
3551 row = ltdVales.NewRow();
3555 row[
"descripcion"] =
"Vales efectuados (" + getSimboloMoneda(loDicMoneda) +
")";
3557 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]) * -1, lnDecimalesMascara);
3559 row[
"moneda"] = lcMoneda;
3563 ltdVales.Rows.Add(row);
3565 lnTotal = lnTotal + Convert.ToDecimal(row[
"importe"]);
3569 catch (Exception oE)
3571 tcMsgError =
"(_Load) Error en procesos internos en _Obtener_DataTable_OperCaja_Vales_Efectuados().\n\n" + oE.Message;
3577 tcMsgError =
"(_Load) Error en consulta en _Obtener_DataTable_OperCaja_Vales_Efectuados().";
3579 tnTotalVales = lnTotal;
3582 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
3596 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
3600 DataTable ldt_Tikets =
new DataTable();
3601 DataTable ldtCobrosTiquets =
new DataTable();
3602 bool llConsulta_Ok =
false;
3604 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
3605 int lnDecimalesMascara;
3606 decimal lnTotal = 0.0M;
3608 object[,] la_array_cursor = { {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
3609 ldtCobrosTiquets = DBfunctions._Crear_DtTable(la_array_cursor);
3612 string lcCondicion =
string.Empty;
3613 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
3614 lcCondicion = lcCondicion +
" and tikets.caja >= " + DB.SQLString(_CajaDesde);
3616 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
3617 lcCondicion = lcCondicion +
" and tikets.caja <= " + DB.SQLString(_CajaHasta);
3619 if (_FechaDesde != null)
3620 lcCondicion = lcCondicion +
" and tikets.fecha >= " + DB.SQLString(_FechaDesde);
3622 if (_FechaHasta != null)
3623 lcCondicion = lcCondicion +
" and tikets.fecha <= " + DB.SQLString(_FechaHasta);
3625 if (
string.IsNullOrWhiteSpace(lcCondicion))
3626 lcCondicion =
"and " + _makeId(
"tikets",
" tikets.arqueo = " + this._nNumero + (this._nNumero == 0 ?
" and tikets.fecha<=" + DB.SQLString(
this._dFecha) +
" and tikets.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
3629 string lcEjercicio =
string.Empty;
3630 if (!_llejercicioautomatico) lcEjercicio =
" and tikets.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" ";
3632 llConsulta_Ok = DB.SQLExec(
"select Sum(tikets.entrega-tikets.cambio_e) as importediv, tikets.moneda, tikets.tipo, " +
3633 DB.SQLNvl(
"Sum((tikets.entrega-tikets.cambio_e)/tikets.cotizacion)", 0) +
" as importe " +
3634 "from " + DB.SQLDatabase(
"tpv",
"tikets") +
" " +
3635 "where tikets.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
3637 "and tikets.tipo=1 " +
3639 "group by tikets.tipo,tikets.moneda", ref ldt_Tikets);
3640 if (llConsulta_Ok ==
true)
3642 if (ldt_Tikets.Rows.Count > 0)
3647 foreach (DataRow r
in ldt_Tikets.Rows)
3649 string lcMoneda = Convert.ToString(r[
"moneda"]);
3650 if (
string.IsNullOrWhiteSpace(lcMoneda))
3651 lcMoneda = this._lcMoneda_Empresa;
3652 loDicMoneda = _Moneda(lcMoneda);
3655 row = ldtCobrosTiquets.NewRow();
3659 row[
"descripcion"] =
"Cobros Facturas Simplif. (" + getSimboloMoneda(loDicMoneda) +
")";
3661 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara);
3663 row[
"moneda"] = lcMoneda;
3665 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
3667 ldtCobrosTiquets.Rows.Add(row);
3669 lnTotal = lnTotal + Convert.ToDecimal(r[
"importe"]);
3672 catch (Exception oE)
3674 tcMsgError =
"(_Load) Error en procesos internos en _Obtener_DataTable_OperCaja_Cobros_Tiquets().\n\n" + oE.Message;
3680 tcMsgError =
"(_Load) Error en consulta en _Obtener_DataTable_OperCaja_Cobros_Tiquets().";
3682 tnTotalCobros = lnTotal;
3685 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
3688 return ldtCobrosTiquets;
3699 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
3702 DataTable ldt_Entregas =
new DataTable();
3703 DataTable ltdEntAlbaran =
new DataTable();
3704 bool llConsulta_Ok =
false;
3706 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
3707 int lnDecimalesMascara;
3708 decimal lnTotal = 0.0M;
3710 object[,] la_array_cursor = { {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
3711 ltdEntAlbaran = DBfunctions._Crear_DtTable(la_array_cursor);
3714 string lcCondicion =
string.Empty;
3715 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
3716 lcCondicion = lcCondicion +
" and tikets.caja >= " + DB.SQLString(_CajaDesde);
3718 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
3719 lcCondicion = lcCondicion +
" and tikets.caja <= " + DB.SQLString(_CajaHasta);
3721 if (_FechaDesde != null)
3722 lcCondicion = lcCondicion +
" and tikets.fecha >= " + DB.SQLString(_FechaDesde);
3724 if (_FechaHasta != null)
3725 lcCondicion = lcCondicion +
" and tikets.fecha <= " + DB.SQLString(_FechaHasta);
3727 if (
string.IsNullOrWhiteSpace(lcCondicion))
3728 lcCondicion =
"and " + _makeId(
"tikets",
" tikets.arqueo=" + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
" and tikets.fecha<=" + DB.SQLString(this._dFecha) +
" and tikets.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
3731 string lcEjercicio =
string.Empty;
3732 if (!_llejercicioautomatico) lcEjercicio =
" and tikets.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" ";
3734 llConsulta_Ok = DB.SQLExec(
"select Sum(tikets.entrega-tikets.cambio_e) as importediv, tikets.moneda, tikets.tipo, " +
3735 DB.SQLNvl(
"Sum((tikets.entrega-tikets.cambio_e)/tikets.cotizacion)", 0) +
" as importe " +
3736 "from " + DB.SQLDatabase(
"tpv",
"tikets") +
" " +
3737 "where tikets.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
3739 "and tikets.tipo=2 " +
3741 "group by tikets.tipo,tikets.moneda", ref ldt_Entregas);
3742 if (llConsulta_Ok ==
true)
3744 if (ldt_Entregas.Rows.Count > 0)
3749 foreach (DataRow r
in ldt_Entregas.Rows)
3752 string lcMoneda = Convert.ToString(r[
"moneda"]);
3753 if (
string.IsNullOrWhiteSpace(lcMoneda))
3754 lcMoneda = this._lcMoneda_Empresa;
3756 loDicMoneda = _Moneda(lcMoneda);
3759 if (Convert.ToDecimal(r[
"importe"]) != 0)
3761 row = ltdEntAlbaran.NewRow();
3765 row[
"descripcion"] =
"Entregas a cuenta (" + getSimboloMoneda(loDicMoneda) +
")";
3767 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara);
3769 row[
"moneda"] = lcMoneda;
3771 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
3773 ltdEntAlbaran.Rows.Add(row);
3775 lnTotal = lnTotal + Convert.ToDecimal(r[
"importe"]);
3779 catch (Exception oE)
3781 tcMsgError =
"(_Load) Error en procesos internos en _Obtener_DataTable_OperCaja_Entregas_Cuenta_Albaranes().\n\n" + oE.Message;
3788 tcMsgError =
"(_Load) Error en consulta en _Obtener_DataTable_OperCaja_Entregas_Cuenta_Albaranes().";
3790 tnTotalEntAlbaran = lnTotal;
3793 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
3796 return ltdEntAlbaran;
3807 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
3810 DataTable ldt_Entregas =
new DataTable();
3811 DataTable ltdEntPedidos =
new DataTable();
3812 bool llConsulta_Ok =
false;
3814 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
3815 int lnDecimalesMascara;
3816 decimal lnTotal = 0.0M;
3818 object[,] la_array_cursor = { {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
3819 ltdEntPedidos = DBfunctions._Crear_DtTable(la_array_cursor);
3822 string lcCondicion =
string.Empty;
3823 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
3824 lcCondicion = lcCondicion +
" and tikets.caja >= " + DB.SQLString(_CajaDesde);
3826 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
3827 lcCondicion = lcCondicion +
" and tikets.caja <= " + DB.SQLString(_CajaHasta);
3829 if (_FechaDesde != null)
3830 lcCondicion = lcCondicion +
" and tikets.fecha >= " + DB.SQLString(_FechaDesde);
3832 if (_FechaHasta != null)
3833 lcCondicion = lcCondicion +
" and tikets.fecha <= " + DB.SQLString(_FechaHasta);
3835 if (
string.IsNullOrWhiteSpace(lcCondicion))
3836 lcCondicion =
"and " + _makeId(
"tikets",
" tikets.arqueo=" + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
" and tikets.fecha<=" + DB.SQLString(this._dFecha) +
" and tikets.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
3839 string lcEjercicio =
string.Empty;
3840 if (!_llejercicioautomatico) lcEjercicio =
" and tikets.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" ";
3842 llConsulta_Ok = DB.SQLExec(
"select Sum(tikets.entrega-tikets.cambio_e) as importediv, tikets.moneda, tikets.tipo, " +
3843 DB.SQLNvl(
"Sum((tikets.entrega-tikets.cambio_e)/tikets.cotizacion)", 0) +
" as importe " +
3844 "from " + DB.SQLDatabase(
"tpv",
"tikets") +
" " +
3845 "where tikets.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
3847 "and tikets.tipo=10 " +
3849 "group by tikets.tipo,tikets.moneda", ref ldt_Entregas);
3850 if (llConsulta_Ok ==
true)
3852 if (ldt_Entregas.Rows.Count > 0)
3856 foreach (DataRow r
in ldt_Entregas.Rows)
3858 string lcMoneda = Convert.ToString(r[
"moneda"]);
3859 if (
string.IsNullOrWhiteSpace(lcMoneda))
3860 lcMoneda = this._lcMoneda_Empresa;
3862 loDicMoneda = _Moneda(lcMoneda);
3865 if (Convert.ToDecimal(r[
"importe"]) != 0)
3867 row = ltdEntPedidos.NewRow();
3871 row[
"descripcion"] =
"Entregas a cuenta pedidos (" + getSimboloMoneda(loDicMoneda) +
")";
3873 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara);
3875 row[
"moneda"] = lcMoneda;
3877 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
3879 ltdEntPedidos.Rows.Add(row);
3881 lnTotal = lnTotal + Convert.ToDecimal(r[
"importe"]);
3885 catch (Exception oE)
3887 tcMsgError =
"(_Load) Error en procesos internos en _Obtener_DataTable_OperCaja_Entregas_Cuenta_Pedidos().\n\n" + oE.Message;
3893 tcMsgError =
"(_Load) Error en consulta en _Obtener_DataTable_OperCaja_Entregas_Cuenta_Pedidos().";
3895 tnTotalEntPedidos = lnTotal;
3898 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
3901 return ltdEntPedidos;
3912 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
3915 DataTable ldt_PagosFacturas =
new DataTable();
3916 DataTable ltdPagosFacturas =
new DataTable();
3917 bool llConsulta_Ok =
false;
3919 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
3920 int lnDecimalesMascara;
3921 decimal lnTotal = 0.0M;
3923 object[,] la_array_cursor = { {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
3924 ltdPagosFacturas = DBfunctions._Crear_DtTable(la_array_cursor);
3927 string lcCondicion =
string.Empty;
3928 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
3929 lcCondicion = lcCondicion +
" and tikets.caja >= " + DB.SQLString(_CajaDesde);
3931 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
3932 lcCondicion = lcCondicion +
" and tikets.caja <= " + DB.SQLString(_CajaHasta);
3934 if (_FechaDesde != null)
3935 lcCondicion = lcCondicion +
" and tikets.fecha >= " + DB.SQLString(_FechaDesde);
3937 if (_FechaHasta != null)
3938 lcCondicion = lcCondicion +
" and tikets.fecha <= " + DB.SQLString(_FechaHasta);
3940 if (
string.IsNullOrWhiteSpace(lcCondicion))
3941 lcCondicion =
"and " + _makeId(
"tikets",
"tikets.arqueo=" + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
" and tikets.fecha<=" + DB.SQLString(this._dFecha) +
" and tikets.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
3944 string lcEjercicio =
string.Empty;
3945 if (!_llejercicioautomatico) lcEjercicio =
" and tikets.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" ";
3947 llConsulta_Ok = DB.SQLExec(
"select Sum(tikets.entrega-tikets.cambio_e) as importediv, tikets.moneda, tikets.tipo, " +
3948 DB.SQLNvl(
"Sum((tikets.entrega-tikets.cambio_e)/tikets.cotizacion)", 0) +
" as importe " +
3949 "from " + DB.SQLDatabase(
"tpv",
"tikets") +
" " +
3950 "where tikets.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
3952 "and tikets.tipo=6 " +
3954 "group by tikets.tipo,tikets.moneda", ref ldt_PagosFacturas);
3955 if (llConsulta_Ok ==
true)
3957 if (ldt_PagosFacturas.Rows.Count > 0)
3961 foreach (DataRow r
in ldt_PagosFacturas.Rows)
3963 string lcMoneda = Convert.ToString(r[
"moneda"]);
3964 if (
string.IsNullOrWhiteSpace(lcMoneda))
3965 lcMoneda = this._lcMoneda_Empresa;
3967 loDicMoneda = _Moneda(lcMoneda);
3970 if (Convert.ToDecimal(r[
"importe"]) != 0)
3972 row = ltdPagosFacturas.NewRow();
3976 row[
"descripcion"] =
"Pagos facturas (" + getSimboloMoneda(loDicMoneda) +
")";
3978 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara);
3980 row[
"moneda"] = lcMoneda;
3982 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
3984 ltdPagosFacturas.Rows.Add(row);
3986 lnTotal = lnTotal + Convert.ToDecimal(r[
"importe"]);
3990 catch (Exception oE)
3992 tcMsgError =
"(_Load) Error en procesos internos en _Obtener_DataTable_OperCaja_Pagos_Facturas().\n\n" + oE.Message;
3998 tcMsgError =
"(_Load) Error en consulta en _Obtener_DataTable_OperCaja_Pagos_Facturas().";
4000 tnTotalPagosFacturas = lnTotal;
4003 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
4006 return ltdPagosFacturas;
4017 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
4020 DataTable ldt_CobrosFacturas =
new DataTable();
4021 DataTable ltdCobrosFacturas =
new DataTable();
4022 bool llConsulta_Ok =
false;
4024 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
4025 int lnDecimalesMascara;
4026 decimal lnTotal = 0.0M;
4028 object[,] la_array_cursor = { {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
4029 ltdCobrosFacturas = DBfunctions._Crear_DtTable(la_array_cursor);
4032 string lcCondicion =
string.Empty;
4033 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
4034 lcCondicion = lcCondicion +
" and tikets.caja >= " + DB.SQLString(_CajaDesde);
4036 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
4037 lcCondicion = lcCondicion +
" and tikets.caja <= " + DB.SQLString(_CajaHasta);
4039 if (_FechaDesde != null)
4040 lcCondicion = lcCondicion +
" and tikets.fecha >= " + DB.SQLString(_FechaDesde);
4042 if (_FechaHasta != null)
4043 lcCondicion = lcCondicion +
" and tikets.fecha <= " + DB.SQLString(_FechaHasta);
4045 if (
string.IsNullOrWhiteSpace(lcCondicion))
4046 lcCondicion =
"and " + _makeId(
"tikets",
" tikets.arqueo=" + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
" and tikets.fecha<=" + DB.SQLString(this._dFecha) +
" and tikets.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
4049 string lcEjercicio =
string.Empty;
4050 if (!_llejercicioautomatico) lcEjercicio =
" and tikets.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" ";
4052 llConsulta_Ok = DB.SQLExec(
"select Sum(tikets.entrega-tikets.cambio_e) as importediv, tikets.moneda, tikets.tipo, " +
4053 DB.SQLNvl(
"Sum((tikets.entrega-tikets.cambio_e)/tikets.cotizacion)", 0) +
" as importe " +
4054 "from " + DB.SQLDatabase(
"tpv",
"tikets") +
" " +
4055 "where tikets.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
4057 "and tikets.tipo=4 " +
4059 "group by tikets.tipo,tikets.moneda", ref ldt_CobrosFacturas);
4060 if (llConsulta_Ok ==
true)
4062 if (ldt_CobrosFacturas.Rows.Count > 0)
4066 foreach (DataRow r
in ldt_CobrosFacturas.Rows)
4068 string lcMoneda = Convert.ToString(r[
"moneda"]);
4069 if (
string.IsNullOrWhiteSpace(lcMoneda))
4070 lcMoneda = this._lcMoneda_Empresa;
4072 loDicMoneda = _Moneda(lcMoneda);
4075 if (Convert.ToDecimal(r[
"importe"]) != 0)
4077 row = ltdCobrosFacturas.NewRow();
4081 row[
"descripcion"] =
"Cobros facturas (" + getSimboloMoneda(loDicMoneda) +
")";
4083 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara);
4085 row[
"moneda"] = lcMoneda;
4087 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
4089 ltdCobrosFacturas.Rows.Add(row);
4091 lnTotal = lnTotal + Convert.ToDecimal(r[
"importe"]);
4095 catch (Exception oE)
4097 tcMsgError =
"(_Load) Error en procesos internso en _Obtener_DataTable_OperCaja_Cobros_Facturas().\n\n" + oE.Message;
4103 tcMsgError =
"(_Load) Error en consulta en _Obtener_DataTable_OperCaja_Cobros_Facturas().";
4105 tnTotalCobrosFacturas = lnTotal;
4108 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
4111 return ltdCobrosFacturas;
4122 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
4125 DataTable ldt_CobrosVarios =
new DataTable();
4126 DataTable ldtCobrosVarios =
new DataTable();
4127 bool llConsulta_Ok =
false;
4129 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
4130 int lnDecimalesMascara;
4131 decimal lnTotal = 0.0M;
4133 object[,] la_array_cursor = { {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
4134 ldtCobrosVarios = DBfunctions._Crear_DtTable(la_array_cursor);
4137 string lcCondicion =
string.Empty;
4138 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
4139 lcCondicion = lcCondicion +
" and tikets.caja >= " + DB.SQLString(_CajaDesde);
4141 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
4142 lcCondicion = lcCondicion +
" and tikets.caja <= " + DB.SQLString(_CajaHasta);
4144 if (_FechaDesde != null)
4145 lcCondicion = lcCondicion +
" and tikets.fecha >= " + DB.SQLString(_FechaDesde);
4147 if (_FechaHasta != null)
4148 lcCondicion = lcCondicion +
" and tikets.fecha <= " + DB.SQLString(_FechaHasta);
4150 if (
string.IsNullOrWhiteSpace(lcCondicion))
4151 lcCondicion =
"and " + _makeId(
"tikets",
"tikets.arqueo =" + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
" and tikets.fecha<=" + DB.SQLString(this._dFecha) +
" and tikets.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
4154 string lcEjercicio =
string.Empty;
4155 if (!_llejercicioautomatico) lcEjercicio =
" and tikets.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" ";
4157 llConsulta_Ok = DB.SQLExec(
"select Sum(tikets.entrega-tikets.cambio_e) as importediv, tikets.moneda, tikets.tipo, " +
4158 DB.SQLNvl(
"Sum((tikets.entrega-tikets.cambio_e)/tikets.cotizacion)", 0) +
" as importe " +
4159 "from " + DB.SQLDatabase(
"tpv",
"tikets") +
" " +
4160 "where tikets.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
4162 "and tikets.tipo=3 " +
4164 "group by tikets.tipo,tikets.moneda", ref ldt_CobrosVarios);
4165 if (llConsulta_Ok ==
true)
4167 if (ldt_CobrosVarios.Rows.Count > 0)
4171 foreach (DataRow r
in ldt_CobrosVarios.Rows)
4173 string lcMoneda = Convert.ToString(r[
"moneda"]);
4174 if (
string.IsNullOrWhiteSpace(lcMoneda))
4175 lcMoneda = this._lcMoneda_Empresa;
4177 loDicMoneda = _Moneda(lcMoneda);
4180 if (Convert.ToDecimal(r[
"importe"]) != 0)
4182 row = ldtCobrosVarios.NewRow();
4186 row[
"descripcion"] =
"Cobros varios (" + getSimboloMoneda(loDicMoneda) +
")";
4188 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara);
4190 row[
"moneda"] = lcMoneda;
4192 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
4194 ldtCobrosVarios.Rows.Add(row);
4196 lnTotal = lnTotal + Convert.ToDecimal(r[
"importe"]);
4200 catch (Exception oE)
4202 tcMsgError =
"(_Load) Error en procesos internos en _Obtener_DataTable_OperCaja_Cobros_Varios().\n\n" + oE.Message;
4208 tcMsgError =
"(_Load) Error en consulta en _Obtener_DataTable_OperCaja_Cobros_Varios().";
4210 tnTotalCobrosVarios = lnTotal;
4213 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
4216 return ldtCobrosVarios;
4227 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
4230 DataTable ldt_PagosVarios =
new DataTable();
4231 DataTable ldtPagosVarios =
new DataTable();
4232 bool llConsulta_Ok =
false;
4234 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
4235 int lnDecimalesMascara;
4236 decimal lnTotal = 0.0M;
4238 object[,] la_array_cursor = { {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
4239 ldtPagosVarios = DBfunctions._Crear_DtTable(la_array_cursor);
4242 string lcCondicion =
string.Empty;
4243 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
4244 lcCondicion = lcCondicion +
" and tikets.caja >= " + DB.SQLString(_CajaDesde);
4246 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
4247 lcCondicion = lcCondicion +
" and tikets.caja <= " + DB.SQLString(_CajaHasta);
4249 if (_FechaDesde != null)
4250 lcCondicion = lcCondicion +
" and tikets.fecha >= " + DB.SQLString(_FechaDesde);
4252 if (_FechaHasta != null)
4253 lcCondicion = lcCondicion +
" and tikets.fecha <= " + DB.SQLString(_FechaHasta);
4255 if (
string.IsNullOrWhiteSpace(lcCondicion))
4256 lcCondicion =
"and " + _makeId(
"tikets",
" tikets.arqueo=" + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
" and tikets.fecha<=" + DB.SQLString(this._dFecha) +
" and tikets.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
4259 string lcEjercicio =
string.Empty;
4260 if (!_llejercicioautomatico) lcEjercicio =
" and tikets.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" ";
4262 llConsulta_Ok = DB.SQLExec(
"select Sum(tikets.entrega-tikets.cambio_e) as importediv, tikets.moneda, tikets.tipo, " +
4263 DB.SQLNvl(
"Sum((tikets.entrega-tikets.cambio_e)/tikets.cotizacion)", 0) +
" as importe " +
4264 "from " + DB.SQLDatabase(
"tpv",
"tikets") +
" " +
4265 "where tikets.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
4267 "and tikets.tipo=5 " +
4269 "group by tikets.tipo,tikets.moneda", ref ldt_PagosVarios);
4270 if (llConsulta_Ok ==
true)
4272 if (ldt_PagosVarios.Rows.Count > 0)
4276 foreach (DataRow r
in ldt_PagosVarios.Rows)
4278 string lcMoneda = Convert.ToString(r[
"moneda"]);
4279 if (
string.IsNullOrWhiteSpace(lcMoneda))
4280 lcMoneda = this._lcMoneda_Empresa;
4282 loDicMoneda = _Moneda(lcMoneda);
4285 if (Convert.ToDecimal(r[
"importe"]) != 0)
4287 row = ldtPagosVarios.NewRow();
4291 row[
"descripcion"] =
"Pagos varios (" + getSimboloMoneda(loDicMoneda) +
")";
4293 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara);
4295 row[
"moneda"] = lcMoneda;
4297 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
4299 ldtPagosVarios.Rows.Add(row);
4301 lnTotal = lnTotal + Convert.ToDecimal(r[
"importe"]);
4305 catch (Exception oE)
4307 tcMsgError =
"(_Load) Error en procesos internos en _Obtener_DataTable_OperCaja_Pagos_Varios().\n\n" + oE.Message;
4313 tcMsgError =
"(_Load) Error en consulta en _Obtener_DataTable_OperCaja_Pagos_Varios().";
4315 tnTotalPagosVarios = lnTotal;
4318 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
4321 return ldtPagosVarios;
4332 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
4336 DataTable ldt_Retiros =
new DataTable();
4337 DataTable ldtRetiros =
new DataTable();
4338 bool llConsulta_Ok =
false;
4340 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
4341 int lnDecimalesMascara;
4342 decimal lnTotal = 0.0M;
4344 object[,] la_array_cursor = { {
"descripcion",
"string", 50,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
4345 ldtRetiros = DBfunctions._Crear_DtTable(la_array_cursor);
4348 string lcCondicion =
string.Empty;
4349 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
4350 lcCondicion = lcCondicion +
" and cpag.caja >= " + DB.SQLString(_CajaDesde);
4352 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
4353 lcCondicion = lcCondicion +
" and cpag.caja <= " + DB.SQLString(_CajaHasta);
4355 if (_FechaDesde != null)
4356 lcCondicion = lcCondicion +
" and cpag.fecha >= " + DB.SQLString(_FechaDesde);
4358 if (_FechaHasta != null)
4359 lcCondicion = lcCondicion +
" and cpag.fecha <= " + DB.SQLString(_FechaHasta);
4361 if (
string.IsNullOrWhiteSpace(lcCondicion))
4362 lcCondicion =
"and " + _makeId(
"cpag",
" cpag.arqueo=" + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
" and cpag.fecha<=" + DB.SQLString(this._dFecha) +
" and cpag.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
4365 string lcEjercicio =
string.Empty;
4366 if (!_llejercicioautomatico) lcEjercicio =
" and cpag.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" ";
4368 llConsulta_Ok = DB.SQLExec(
"select cpag.Moneda, Sum(cpag.importediv) as importediv, " +
4369 "Sum(cpag.importe) as importe " +
4370 "from " + DB.SQLDatabase(
"tpv",
"cob_pago") +
" cpag " +
4371 "where cpag.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
4373 "and cpag.operacion='R' " +
4375 "group by cpag.moneda", ref ldt_Retiros);
4376 if (llConsulta_Ok ==
true)
4378 if (ldt_Retiros.Rows.Count > 0)
4382 foreach (DataRow r
in ldt_Retiros.Rows)
4384 string lcMoneda = Convert.ToString(r[
"moneda"]);
4385 if (
string.IsNullOrWhiteSpace(lcMoneda))
4386 lcMoneda = this._lcMoneda_Empresa;
4388 loDicMoneda = _Moneda(lcMoneda);
4391 if (Convert.ToDecimal(r[
"importe"]) != 0)
4393 row = ldtRetiros.NewRow();
4397 row[
"descripcion"] =
"Retiros caja (" + getSimboloMoneda(loDicMoneda) +
")";
4399 row[
"importediv"] = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara) * -1;
4401 row[
"moneda"] = lcMoneda;
4403 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
4405 ldtRetiros.Rows.Add(row);
4407 lnTotal = lnTotal + Convert.ToDecimal(row[
"importe"]);
4411 catch (Exception oE)
4413 tcMsgError =
"(_Load) Error en procesos internos en _Obtener_DataTable_OperCaja_Retiros().\n\n" + oE.Message;
4419 tcMsgError =
"(_Load) Error en consulta en _Obtener_DataTable_OperCaja_Retiros().";
4421 tnTotalRetiros = lnTotal;
4424 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
4438 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
4441 decimal lnTotal = 0.0M;
4442 DataTable ldt_tmp_AlbD =
new DataTable();
4443 bool llConsulta_Ok =
false;
4445 object[,] la_array_cursor = { {
"descripcion",
"string", 100,
"Y" }, {
"moneda",
"string", 3,
"Y" }, {
"importe",
"decimal", 0,
"y" }, {
"importediv",
"decimal", 0,
"Y" } };
4446 this._nImporteDesgFamilias = 0.0M;
4447 this._dtDesg_Familias = DBfunctions._Crear_DtTable(la_array_cursor);
4450 string lcCondicion =
string.Empty;
4451 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
4452 lcCondicion = lcCondicion +
" and t.caja >= " + DB.SQLString(_CajaDesde);
4454 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
4455 lcCondicion = lcCondicion +
" and t.caja <= " + DB.SQLString(_CajaHasta);
4457 if (_FechaDesde != null)
4458 lcCondicion = lcCondicion +
" and g.fecha >= " + DB.SQLString(_FechaDesde);
4460 if (_FechaHasta != null)
4461 lcCondicion = lcCondicion +
" and g.fecha <= " + DB.SQLString(_FechaHasta);
4463 if (
string.IsNullOrWhiteSpace(lcCondicion))
4464 lcCondicion =
"and " + _makeId(
"t",
"t.arqueo=" + DB.SQLString(
this._nNumero) + (this._nNumero == 0 ?
" and g.fecha<=" + DB.SQLString(this._dFecha) +
" and t.aparcado=0 and t.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
4467 if (
string.IsNullOrWhiteSpace(_CajaDesde) &&
string.IsNullOrWhiteSpace(_CajaHasta))
4468 lcCondicion +=
" and t.caja !='' ";
4471 String tcSql =
"select MAX(d.familia) AS familia, MAX(f.nombre) AS nombre, MAX(g.Divisa) As divisa, sum(d.impdiviva) as importediv, sum(d.importeiva) as importe, " +
4472 " g.empresa, g.numero, g.letra, MAX(g.pronto) AS pronto, MAX(d.dto1) AS dto1, MAX(d.dto2) AS dto2, MAX(d.precioiva) AS precio, MAX(d.prediviva) AS preciodiv, " +
4473 " MAX(d.unidades) AS unidades, MAX(d.peso) AS peso, MAX(d.cajas) AS cajas, MAX(d.tipoprec) AS tipoprec " +
4474 "from " + DB.SQLDatabase(
"gestion",
"c_albven") +
" g inner join " + DB.SQLDatabase(
"tpv",
"c_albven") +
" t " +
4475 "on g.Empresa=t.empresa and g.Numero=t.numero and g.Letra=t.Letra and t.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
4476 "inner join " + DB.SQLDatabase(
"gestion",
"d_albven") +
" d ON g.Empresa=d.empresa and g.Numero=d.numero and g.letra=d.letra " +
4477 "left join " + DB.SQLDatabase(
"gestion",
"familias") +
" f ON f.codigo = d.familia " +
4478 "where t.empresa=" + DB.SQLString(this._lcEmpresaActiva) +
" " +
4479 "and t.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
4480 "and d.tipo_iva != ' ' " +
4482 "group by g.empresa, g.numero, g.letra, d.linia";
4484 llConsulta_Ok = DB.SQLExec(tcSql, ref ldt_tmp_AlbD);
4486 if (llConsulta_Ok ==
true)
4489 if (ldt_tmp_AlbD.Rows.Count > 0)
4493 lnTotal = DesgloseFamilias(ldt_tmp_AlbD);
4495 catch (Exception oE)
4497 this._MessageBox(
"(_Load) Error en procesos internos en _Obtener_DataTable_Desg_Familias().\n\n" + oE.Message);
4503 this._MessageBox(
"(_Load) Error en consulta de reposiciones en _Obtener_DataTable_Desg_Familias().");
4507 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
4521 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
4524 DataTable ldt_Cursor =
new DataTable();
4525 bool llConsulta_Ok =
false, llExisteTipoIva =
false;
4527 string lcEmpresa =
"", lcNumero =
"", lcLetra =
"", lcCodigoIva =
"";
4530 this._nDesgIvaTic_TotalBases = 0.0M;
4531 this._nDesgIvaTic_TotalIvas = 0.0M;
4532 this._nDesgIvaTic_TotalTotal = 0.0M;
4535 object[,] la_array_cursor = { {
"codigo",
"string", 2,
"Y" }, {
"baseiva",
"decimal", 0,
"Y" }, {
"iva_tan",
"decimal", 0,
"y" }, {
"impiva",
"decimal", 0,
"y" },
4536 {
"imptotal",
"decimal", 0,
"Y" } };
4537 this._dtDesg_Iva = DBfunctions._Crear_DtTable(la_array_cursor);
4541 string lcCondicion =
string.Empty;
4542 if (!
string.IsNullOrWhiteSpace(_CajaDesde))
4543 lcCondicion = lcCondicion +
" and tpv.caja >= " + DB.SQLString(_CajaDesde);
4545 if (!
string.IsNullOrWhiteSpace(_CajaHasta))
4546 lcCondicion = lcCondicion +
" and tpv.caja <= " + DB.SQLString(_CajaHasta);
4548 if (_FechaDesde != null)
4549 lcCondicion = lcCondicion +
" and ges.fecha >= " + DB.SQLString(_FechaDesde);
4551 if (_FechaHasta != null)
4552 lcCondicion = lcCondicion +
" and ges.fecha <= " + DB.SQLString(_FechaHasta);
4554 if (
string.IsNullOrWhiteSpace(lcCondicion))
4555 lcCondicion =
"and " + _makeId(
"tpv",
"tpv.arqueo=" + DB.SQLString(
this._nNumero) +
" " + (this._nNumero == 0 ?
" and ges.fecha<=" + DB.SQLString(this._dFecha) +
" and tpv.aparcado=0 and tpv.caja=" + DB.SQLString(this._lcCajaActiva) :
"")) +
" ";
4558 if (
string.IsNullOrWhiteSpace(_CajaDesde) &&
string.IsNullOrWhiteSpace(_CajaHasta))
4559 lcCondicion = lcCondicion +
" and tpv.caja !='' ";
4562 String tcSql =
"select ges.empresa, ges.numero, ges.letra " +
4563 "from " + DB.SQLDatabase(
"gestion",
"c_albven") +
" ges inner join " + DB.SQLDatabase(
"tpv",
"c_albven") +
" tpv " +
4564 "on ges.empresa=tpv.empresa and ges.numero=tpv.numero and ges.letra=tpv.letra and tpv.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
4565 "where tpv.ejercicio=" + DB.SQLString(
this._lcEjercicioActivo.PadRight(15)) +
" " +
4566 "and tpv.empresa=" + DB.SQLString(
this._lcEmpresaActiva) +
" " +
4568 "and tpv.tipo_doc=1 ";
4569 llConsulta_Ok = DB.SQLExec(tcSql, ref ldt_Cursor);
4571 if (llConsulta_Ok ==
true)
4578 foreach (DataRow r
in ldt_Cursor.Rows)
4580 lcEmpresa = Convert.ToString(r[
"empresa"]);
4581 lcNumero = Convert.ToString(r[
"numero"]);
4582 lcLetra = Convert.ToString(r[
"letra"]);
4585 EwTools._WriteTrace(EwTools.eMethodStatus.Procesando,
"Empresa: "+lcEmpresa +
" " + lcLetra +
" - " + lcNumero);
4588 docIva = this.getDocIva(lcEmpresa, lcNumero, lcLetra);
4591 foreach (DataRow r2
in docIva.ldt_TablaIva.Rows)
4593 lcCodigoIva = Convert.ToString(r2[
"codigo"]);
4596 la_Rows = this._dtDesg_Iva.Select(
"codigo=" + DB.SQLString(lcCodigoIva));
4598 llExisteTipoIva = (la_Rows.Length != 0) ?
true :
false;
4600 if (!llExisteTipoIva)
4603 rowPeuIva = this._dtDesg_Iva.NewRow();
4604 rowPeuIva[
"codigo"] = r2[
"codigo"];
4605 rowPeuIva[
"iva_tan"] = r2[
"iva_tan"];
4609 rowPeuIva = la_Rows[0];
4612 rowPeuIva[
"baseiva"] = Convert.ToDecimal(rowPeuIva[
"baseiva"]) + Convert.ToDecimal(r2[
"baseiva"]);
4613 rowPeuIva[
"impiva"] = Convert.ToDecimal(rowPeuIva[
"impiva"]) + Convert.ToDecimal(r2[
"impiva"]);
4614 rowPeuIva[
"imptotal"] = Convert.ToDecimal(rowPeuIva[
"imptotal"]) + Convert.ToDecimal(r2[
"baseiva"]) + Convert.ToDecimal(r2[
"impiva"]);
4617 this._nDesgIvaTic_TotalBases = this._nDesgIvaTic_TotalBases + Convert.ToDecimal(r2[
"baseiva"]);
4618 this._nDesgIvaTic_TotalIvas = this._nDesgIvaTic_TotalIvas + Convert.ToDecimal(r2[
"impiva"]);
4619 this._nDesgIvaTic_TotalTotal = this._nDesgIvaTic_TotalTotal + Convert.ToDecimal(r2[
"baseiva"]) + Convert.ToDecimal(r2[
"impiva"]); ;
4621 if (!llExisteTipoIva)
4623 this._dtDesg_Iva.Rows.Add(rowPeuIva);
4627 EwTools._WriteTrace(EwTools.eMethodStatus.Procesando,
"Fin Empresa: " + lcEmpresa +
" " + lcLetra +
" - " + lcNumero);
4631 catch (Exception oE)
4633 this._MessageBox(
"(_Load) Error en procesos internos en _Obtener_DataTable_Desg_Iva_Tiquets().\n\n" + oE.Message);
4638 this._MessageBox(
"(_Load) Error en consulta de reposiciones en _Obtener_DataTable_Desg_Iva_Tiquets().");
4642 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
4654 DataTable ldtCopyDatatableIva =
new DataTable();
4655 ldtCopyDatatableIva.TableName =
"DesgloseIva";
4656 Type loTipoString = typeof(String);
4657 ldtCopyDatatableIva.Columns.Add(
new DataColumn(
"codigo", loTipoString));
4658 ldtCopyDatatableIva.Columns.Add(
new DataColumn(
"baseiva", loTipoString));
4659 ldtCopyDatatableIva.Columns.Add(
new DataColumn(
"iva_tan", loTipoString));
4660 ldtCopyDatatableIva.Columns.Add(
new DataColumn(
"impiva", loTipoString));
4661 ldtCopyDatatableIva.Columns.Add(
new DataColumn(
"imptotal", loTipoString));
4663 foreach (DataRow ldrFilaIva
in this._dtDesg_Iva.Rows)
4665 DataRow ldrNewRow = ldtCopyDatatableIva.NewRow();
4666 ldrNewRow[
"codigo"] =
"@!" + ldrFilaIva[
"codigo"].ToString();
4667 ldrNewRow[
"baseiva"] =
"@!" + ldrFilaIva[
"baseiva"].ToString().Replace(
".",
"").Replace(
',',
'.');
4668 ldrNewRow[
"iva_tan"] =
"@!" + ldrFilaIva[
"iva_tan"].ToString().Replace(
".",
"").Replace(
',',
'.');
4669 ldrNewRow[
"impiva"] =
"@!" + ldrFilaIva[
"impiva"].ToString().Replace(
".",
"").Replace(
',',
'.');
4670 ldrNewRow[
"imptotal"] =
"@!" + ldrFilaIva[
"imptotal"].ToString().Replace(
".",
"").Replace(
',',
'.');
4671 ldtCopyDatatableIva.Rows.Add(ldrNewRow);
4679 string lcFileNameIva = this._CreateFileTemporalXML(
"Arq_iva.xml", ldtCopyDatatableIva);
4680 return lcFileNameIva;
4708 Object[] arr =
new Object[6];
4714 arr[4] = Convert.ToInt16(row[4]);
4774 String lcCadenaFormat;
4776 Dictionary<string, object> loDicMoneda;
4777 Object[] arr =
new Object[6];
4778 String lcDivisa = Convert.ToString(toRow[
"moneda"]).Trim();
4780 if (String.IsNullOrEmpty(lcDivisa)) lcDivisa = EW_GLOBAL._Empresa._Moneda;
4781 loDicMoneda = _Moneda(lcDivisa);
4783 String lcMascara = Convert.ToString(loDicMoneda[
"grantotal"]).Trim();
4786 _oMascaraImport =
new ewbase.
ewMascara(lcMascara);
4787 lcCadenaFormat =
"{0:" + _oMascaraImport.
_Mascara_Net +
"}";
4790 arr[1] = toRow[
"descripcion"];
4791 arr[2] = String.Format(lcCadenaFormat, toRow[
"importediv"]);
4793 arr[4] = Convert.ToInt16(toNav);
4831 FUNCTIONS._MessageBox(
"Se ha producido la siguiente incidencia en la ejecución del método " + tcMetodo +
" del addon " + tcAddon +
": " + Environment.NewLine + Environment.NewLine + tcMessage, MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.OK);
4845 foreach (KeyValuePair<string, object> loItem
in this._Addons)
4854 loExtension._Arquear();
4857 catch (Exception loEx)
4859 DB.Registrar_Error(loEx);
4860 this._Addons_Messagebox(loItem.Key,
"Arquear", loEx.Message);
4878 foreach (KeyValuePair<string, object> loItem
in this._Addons)
4887 loExtension._DesArquear();
4890 catch (Exception loEx)
4892 DB.Registrar_Error(loEx);
4893 this._Addons_Messagebox(loItem.Key,
"DesArquear", loEx.Message);
4911 foreach (KeyValuePair<string, object> loItem
in this._Addons)
4920 if (!loExtension._Load())
4922 if (!
string.IsNullOrWhiteSpace(loExtension._Error_Message))
4923 this._Mensaje_Error = loExtension._Error_Message;
4928 catch (Exception loEx)
4930 DB.Registrar_Error(loEx);
4931 this._Addons_Messagebox(loItem.Key,
"Load", loEx.Message);
4949 foreach (KeyValuePair<string, object> loItem
in this._Addons)
4958 if (!loExtension._Save())
4960 if (!
string.IsNullOrWhiteSpace(loExtension._Error_Message))
4961 this._Mensaje_Error = loExtension._Error_Message;
4966 catch (Exception loEx)
4968 DB.Registrar_Error(loEx);
4969 this._Addons_Messagebox(loItem.Key,
"Save", loEx.Message);
4987 foreach (KeyValuePair<string, object> loItem
in this._Addons)
4996 loExtension._DescargarDatos();
4999 catch (Exception loEx)
5001 DB.Registrar_Error(loEx);
5002 this._Addons_Messagebox(loItem.Key,
"DescargarDatos", loEx.Message);
5017 DataTable ldtDataTable = null;
5021 foreach (KeyValuePair<string, object> loItem
in this._Addons)
5030 loExtension._MontaArqueo();
5033 catch (Exception loEx)
5035 DB.Registrar_Error(loEx);
5036 this._Addons_Messagebox(loItem.Key,
"MontarArqueo", loEx.Message);
5040 return ldtDataTable;
5054 foreach (KeyValuePair<string, object> loItem
in this._Addons)
5063 loExtension._Obtener_DataTable_Arqueo_Caja();
5066 catch (Exception loEx)
5068 DB.Registrar_Error(loEx);
5069 this._Addons_Messagebox(loItem.Key,
"Obtener_DataTable_Arqueo_Caja", loEx.Message);
5090 foreach (KeyValuePair<string, object> loItem
in this._Addons)
5099 loExtension._Print(teTipoDeArqueo, tcFileXMLDatos, tcCaption);
5102 catch (Exception loEx)
5104 DB.Registrar_Error(loEx);
5105 this._Addons_Messagebox(loItem.Key,
"Print", loEx.Message);
5126 string tcCajaIni,
string tcCajaFin, DateTime dFechaIni, DateTime dFechaFin,
5127 Boolean tlTodasCajas)
5132 foreach (KeyValuePair<string, object> loItem
in this._Addons)
5141 loExtension._Print_Consolida(tcFileXMLDatos, tcCaption, tcCajaIni, tcCajaFin, dFechaIni, dFechaFin, tlTodasCajas);
5144 catch (Exception loEx)
5146 DB.Registrar_Error(loEx);
5147 this._Addons_Messagebox(loItem.Key,
"Print_Consolida", loEx.Message);
5155 #endregion MÉTODOS PROTECTED 5158 #region METODOS PRIVADOS 5164 private void _detalle_arqueo(String tcTipo, Int16 tiTipo = 0)
5167 object[] loParameImp;
5170 loParameImp =
new object[5] { tcTipo, this._dFecha_Inicial, this._dFecha_Final, this._Caja, this._Caja };
5174 loParameImp =
new object[6] { tcTipo, this._dFecha_Inicial, this._dFecha_Final, this._Caja, this._Caja, tiTipo };
5178 NETVFP._Abrir_Formulario_VFP(tcTipo, loParameImp);
5186 private void _detalle_arqueo(
string tcNavegacion,
string tcDescripcion,
string tcListado =
"",
int tcOpCajaOpcion = 0, String tcDivisa =
"")
5190 object[] loParameImp;
5191 string lcListaArqueos =
string.Empty;
5192 string lcDolar =
string.Empty;
5195 lcMoneda =
String.IsNullOrEmpty(tcDivisa.Trim()) ? EW_GLOBAL._GetVariable(
"wc_moneda").ToString() : tcDivisa;
5197 if (_FechaDesde == null && _FechaHasta == null)
5200 if (tcNavegacion ==
"Credit" || tcNavegacion ==
"Abonos")
5202 _FechaDesde = Convert.ToDateTime(EW_GLOBAL._GetVariable(
"wd_PeriodoIni"));
5203 _FechaHasta = _Fecha;
5208 if (_Fecha.Year.ToString() == Convert.ToString(EW_GLOBAL._GetVariable(
"wc_any")))
5210 _FechaDesde = _Fecha;
5211 _FechaHasta = _Fecha;
5215 _FechaDesde = Convert.ToDateTime(EW_GLOBAL._GetVariable(
"wd_PeriodoIni"));
5216 _FechaHasta = Convert.ToDateTime(EW_GLOBAL._GetVariable(
"wd_PeriodoFin"));
5226 foreach (KeyValuePair<string, string> itemNum
in _Numeros)
5228 lcListaArqueos = lcListaArqueos + lcDolar + itemNum.Value;
5230 if (
string.IsNullOrWhiteSpace(lcDolar)) lcDolar =
"$";
5236 loParameImp =
new object[10]
5257 loParameImp =
new object[10]
5272 if (
String.IsNullOrEmpty(tcListado))
5273 NETVFP._Ejecutar_Funcion_VFP(
"Navegacion_Arqueo_Net", loParameImp);
5276 this._detalle_arqueo_net(tcListado, loParameImp, tcOpCajaOpcion);
5289 private void _detalle_arqueo_net(
string tcListado,
object[] toParameImp,
int tcOpCajaOpcion)
5291 DateTime ldFechaDesde, ldFechaHasta;
5292 string lcCajaDesde, lcCajaHasta, lcListaArqueos, lcDescripcion;
5293 bool llTodasCajas =
false;
5295 Dictionary<string, object> _DicArqueos =
new Dictionary<string, object>();
5296 List<string> loLista =
new List<string>();
5298 String lcNavegacion = Convert.ToString(toParameImp[0]);
5299 lnNumero = toParameImp[1] is
bool ? -1 : Convert.ToInt16(toParameImp[1]);
5300 lcCajaDesde = Convert.ToString(toParameImp[2]);
5301 lcCajaHasta = Convert.ToString(toParameImp[3]);
5302 llTodasCajas = Convert.ToBoolean(toParameImp[4]);
5303 lcDescripcion = Convert.ToString(toParameImp[5]);
5304 ldFechaDesde = Convert.ToDateTime(toParameImp[6]);
5305 ldFechaHasta = Convert.ToDateTime(toParameImp[7]);
5306 lcListaArqueos = Convert.ToString(toParameImp[9]);
5308 String lcDivisa = Convert.ToString(toParameImp[8]);
5311 if (!
String.IsNullOrEmpty(lcListaArqueos))
5313 loLista = lcListaArqueos.Split(
'$').ToList();
5314 if (loLista.Count > 0)
5315 _DicArqueos.Add(
"ArqueoLista", loLista);
5323 if (!
String.IsNullOrEmpty(lcDivisa) && lcDivisa != Convert.ToString(EW_GLOBAL._GetVariable(
"wc_moneda")) && loListado.
_Opciones.ContainsKey(
"cmbdivisa"))
5336 if (loListado.
_Opciones.ContainsKey(
"chTicket") && loListado.
_Opciones.ContainsKey(
"chAlbaran") && loListado.
_Opciones.ContainsKey(
"chFactura"))
5343 switch (lcNavegacion)
5358 if (loListado.
_Opciones.ContainsKey(
"chIncluirticketsapar"))
5370 if (loListado.
_Filtros.ContainsKey(
"txtFormaCobroDesdeHasta") && !
String.IsNullOrEmpty(lcDescripcion))
5374 String lcCodigo = Convert.ToString(DB.SQLValor(
"F_COBROS",
"NOMBRE", Convert.ToString(lcDescripcion),
"CODIGO",
"TPV"));
5375 if (!
String.IsNullOrEmpty(lcCodigo))
5378 loFiltroCobro.
_Unico = Convert.ToString(lcCodigo);
5380 ((
IEwFiltro)loListado.
_Filtros[
"txtFormaCobroDesdeHasta"])._SetValuesFrom_ConfiguradorFiltroVisual(loFiltroCobro);
5385 if (loListado.
_Filtros.ContainsKey(
"txtSeleccionTipoDesdeHasta") && tcOpCajaOpcion > 0)
5388 loFiltroTipo.
_Unico = Convert.ToString(tcOpCajaOpcion);
5390 ((
IEwFiltro)loListado.
_Filtros[
"txtSeleccionTipoDesdeHasta"])._SetValuesFrom_ConfiguradorFiltroVisual(loFiltroTipo);
5400 if (loListado.
_Opciones.ContainsKey(
"cmbOperarioCajacombo"))
5411 if (loListado.
_Opciones.ContainsKey(
"cmbOperarioCajacombo"))
5420 loVentasClienteArticulo.
_nArqueo = lnNumero;
5421 loVentasClienteArticulo.
_nArqueos = _DicArqueos;
5426 if (loListado.
_Filtros.ContainsKey(
"txtFamiliaDesdeHasta") && !
String.IsNullOrEmpty(lcDescripcion))
5429 String lcCodigo = lcDescripcion.Substring(0, lnLenFamilia);
5430 if (!
String.IsNullOrEmpty(lcCodigo))
5433 string lcFamiliaArtSinCodif =
"SIN CODIFICAR";
5434 if (lcCodigo != lcFamiliaArtSinCodif.Substring(0, lnLenFamilia))
5438 loFiltroCobro.
_Unico = Convert.ToString(lcCodigo);
5440 ((
IEwFiltro)loListado.
_Filtros[
"txtFamiliaDesdeHasta"])._SetValuesFrom_ConfiguradorFiltroVisual(loFiltroCobro);
5454 if (!loListado.
_Filtros.ContainsKey(
"txtCajaDesdeHasta"))
5457 loListado.
_Filtros.Add(
"txtCajaDesdeHasta", loCaja);
5461 if (loListado.
_Opciones.ContainsKey(
"cmbArticuloClienteco"))
5465 if (loListado.
_Opciones.ContainsKey(
"txtSelIva"))
5477 if (loListado.
_Opciones.ContainsKey(
"chTicket") && loListado.
_Opciones.ContainsKey(
"chAlbaran") && loListado.
_Opciones.ContainsKey(
"chFactura"))
5492 if (loListado.
_Opciones.ContainsKey(
"cmbOperarioCajacombo"))
5502 if (loListado.
_Opciones.ContainsKey(
"cmbAgrupadoDesglosad"))
5508 if (!
String.IsNullOrEmpty(lcCajaDesde) && lcCajaDesde == lcCajaHasta)
5509 loFiltroCaja.
_Unico = lcCajaDesde;
5512 loFiltroCaja.
_Desde = lcCajaDesde;
5513 loFiltroCaja.
_Hasta = lcCajaHasta;
5518 if (ldFechaDesde == ldFechaHasta)
5519 loFiltroFecha.
_Unico = Convert.ToString(ldFechaDesde);
5522 loFiltroFecha.
_Desde = Convert.ToString(ldFechaDesde);
5523 loFiltroFecha.
_Hasta = Convert.ToString(ldFechaHasta);
5528 if (loListado.
_Filtros.ContainsKey(
"txtCajaDesdeHasta"))
5530 ((
IEwFiltro)loListado.
_Filtros[
"txtCajaDesdeHasta"])._SetValuesFrom_ConfiguradorFiltroVisual(loFiltroCaja);
5532 loControlCaja._Todos = llTodasCajas;
5536 if (loListado.
_Filtros.ContainsKey(
"txtFechaDesdeHasta"))
5537 ((
IEwFiltro)loListado.
_Filtros[
"txtFechaDesdeHasta"])._SetValuesFrom_ConfiguradorFiltroVisual(loFiltroFecha);
5550 private String _makeId(
string tcPrefix, String tcDefault, String tcFieldName =
"arqueo")
5555 if (_Cajas.Count > 0 || _Numeros.Count > 0)
5557 if (!
String.IsNullOrEmpty(tcPrefix)) tcPrefix =
String.Format(
"{0}.", tcPrefix);
5558 foreach (KeyValuePair<string, string> item
in _Cajas)
5560 if (!
String.IsNullOrEmpty(lcCajas)) lcCajas +=
" OR ";
5561 lcCajas +=
String.Format(
"{0}caja = '{1}' ", tcPrefix, item.Value);
5562 foreach (KeyValuePair<string, string> itemNum
in _Numeros)
5564 if (!
String.IsNullOrEmpty(lcNumeros)) lcNumeros +=
" OR ";
5565 lcNumeros +=
String.Format(
"{0}{1} = '{2}' ", tcPrefix, tcFieldName, itemNum.Value);
5567 lcCajas =
String.Format(
"{0} AND ({1})", lcCajas, lcNumeros);
5568 lcNumeros =
String.Empty;
5570 lcCajas =
String.Format(
"({0})", lcCajas);
5574 lcCajas = tcDefault;
5584 private void _UpdateOffLine(Int32 tnEstado)
5589 if (DB.SQLExisteCampo(
"TPV",
"C_ALBVEN",
"COM_ESTADO"))
5591 lcSql =
string.Format(
"UPDATE {0} SET COM_ESTADO = {6} , COM_FECHA = CURRENT_TIMESTAMP FROM {0} a INNER JOIN {1} b ON a.EMPRESA = b.EMPRESA AND a.NUMERO = b.NUMERO AND a.LETRA = b.LETRA AND a.EJERCICIO = {2} WHERE a.COM_ESTADO = 1 AND a.ARQUEO = {3} AND a.EMPRESA = {4} AND a.CAJA = {5} ", DB.SQLDatabase(
"TPV",
"C_ALBVEN"), DB.SQLDatabase(
"GESTION",
"C_ALBVEN"), DB.SQLString(this._lcEjercicioActivo.PadRight(15)), DB.SQLString(
this._nNumero), DB.SQLString(this._lcEmpresaActiva), DB.SQLString(this._lcCajaActiva), tnEstado);
5596 if (DB.SQLExisteCampo(
"TPV",
"TIKETS",
"COM_ESTADO"))
5598 lcSql =
string.Format(
"UPDATE {0} SET COM_ESTADO = {5} , COM_FECHA = CURRENT_TIMESTAMP WHERE COM_ESTADO = 1 AND ARQUEO = {1} AND EMPRESA = {2} AND CAJA = {3} AND EJERCICIO = {4} ", DB.SQLDatabase(
"TPV",
"TIKETS"), DB.SQLString(this._nNumero), DB.SQLString(this._lcEmpresaActiva), DB.SQLString(this._lcCajaActiva), DB.SQLString(this._lcEjercicioActivo.PadRight(15)), tnEstado);
5603 if (DB.SQLExisteCampo(
"TPV",
"VALES",
"COM_ESTADO"))
5605 lcSql =
string.Format(
"UPDATE {0} SET COM_ESTADO = {5} , COM_FECHA = CURRENT_TIMESTAMP WHERE COM_ESTADO = 1 AND ARQUEO = {1} AND EMPRESA = {2} AND CAJA = {3} AND EJERCICIO = {4} ", DB.SQLDatabase(
"TPV",
"VALES"), DB.SQLString(this._nNumero), DB.SQLString(this._lcEmpresaActiva), DB.SQLString(this._lcCajaActiva), DB.SQLString(this._lcEjercicioActivo.PadRight(15)), tnEstado);
5610 if (DB.SQLExisteCampo(
"TPV",
"REPOSI",
"COM_ESTADO"))
5612 lcSql =
string.Format(
"UPDATE {0} SET COM_ESTADO = {5} , COM_FECHA = CURRENT_TIMESTAMP WHERE COM_ESTADO = 1 AND ARQUEO = {1} AND EMPRESA = {2} AND CAJA = {3} AND EJERCICIO = {4} ", DB.SQLDatabase(
"TPV",
"REPOSI"), DB.SQLString(this._nNumero), DB.SQLString(this._lcEmpresaActiva), DB.SQLString(this._lcCajaActiva), DB.SQLString(this._lcEjercicioActivo.PadRight(15)), tnEstado);
5617 if (DB.SQLExisteCampo(
"TPV",
"COB_PAGO",
"COM_ESTADO"))
5619 lcSql =
string.Format(
"UPDATE {0} SET COM_ESTADO = {5}, COM_FECHA = CURRENT_TIMESTAMP WHERE COM_ESTADO = 1 AND ARQUEO = {1} AND EMPRESA = {2} AND CAJA = {3} AND EJERCICIO = {4} AND OPERACION ='R' ", DB.SQLDatabase(
"TPV",
"COB_PAGO"), DB.SQLString(this._nNumero), DB.SQLString(this._lcEmpresaActiva), DB.SQLString(this._lcCajaActiva), DB.SQLString(this._lcEjercicioActivo.PadRight(15)), tnEstado);
5629 private void _AddBlank(Boolean tlValidate =
true)
5635 if (_oDtArqueo.Rows.Count > 0)
5637 lOk = Convert.ToString(_oDtArqueo.Rows[_oDtArqueo.Rows.Count - 1][0]) !=
"" || Convert.ToString(_oDtArqueo.Rows[_oDtArqueo.Rows.Count - 1][1]) !=
"" || Convert.ToString(_oDtArqueo.Rows[_oDtArqueo.Rows.Count - 1][2]) !=
"" || Convert.ToInt32(_oDtArqueo.Rows[_oDtArqueo.Rows.Count - 1][3]) != 0;
5641 if (lOk) _oDtArqueo.Rows.Add(_addRow(
new Object[] {
"",
"",
"", 0,
Navegacion.No }));
5649 private void AgruparVentas(ref DataTable tdtDetalleVentasArqueo)
5651 var query = from gventas in tdtDetalleVentasArqueo.AsEnumerable()
5652 orderby gventas.Field<
string>(
"FAMILIA"),
5653 gventas.Field<
string>(
"NOMBRE"),
5654 gventas.Field<
string>(
"DIVISA")
5655 group gventas by
new 5657 familia = gventas.Field<
string>(
"FAMILIA"),
5658 nombre = gventas.Field<
string>(
"NOMBRE"),
5659 divisa = gventas.Field<
string>(
"DIVISA")
5663 familia = gnventas.Key.familia,
5664 nombre = gnventas.Key.nombre,
5665 divisa = gnventas.Key.divisa,
5666 importe = gnventas.Sum(sum => sum.Field<decimal>(
"IMPORTE")),
5667 importediv = gnventas.Sum(sum => sum.Field<decimal>(
"IMPORTEDIV"))
5670 tdtDetalleVentasArqueo = query.__CopyToDataTable();
5679 private decimal DesgloseFamilias(DataTable tdtDetalleVentasArqueo)
5681 decimal lnTotal = 0.0M, lnTotalDiv = 0.0M, lnImporteDiv = 0.0M;
5684 Dictionary<string, object> loDicMoneda =
new Dictionary<string, object>();
5685 int lnDecimalesMascara;
5687 string lcMonedaEmp = Convert.ToString(_lcMoneda_Empresa);
5688 loDicMoneda = _Moneda(lcMonedaEmp);
5689 string lcMascara = Convert.ToString(loDicMoneda[
"grantotal"]);
5691 FUNCTIONS._CalcularVentasProntoPago(ref tdtDetalleVentasArqueo, lcMascara,
new List<string>() {
"divisa",
"preciodiv",
"importediv" });
5693 AgruparVentas(ref tdtDetalleVentasArqueo);
5695 foreach (DataRow r
in tdtDetalleVentasArqueo.Rows)
5697 if (Convert.ToDecimal(r[
"importe"]) != 0)
5699 string lcMoneda = Convert.ToString(r[
"divisa"]);
5701 if (
string.IsNullOrWhiteSpace(lcMoneda)) lcMoneda = this._lcMoneda_Empresa;
5703 loDicMoneda = _Moneda(lcMoneda);
5705 lcFamilia = Convert.ToString(r[
"familia"]);
5707 row = this._dtDesg_Familias.NewRow();
5709 if (
string.IsNullOrWhiteSpace(lcFamilia))
5710 row[
"descripcion"] =
"SIN CODIFICAR";
5712 row[
"descripcion"] =
String.Format(
"{0} {1} {2}", lcFamilia, Convert.ToString(r[
"nombre"]).Trim(),
"(" + getSimboloMoneda(loDicMoneda) +
")");
5714 row[
"moneda"] = r[
"divisa"];
5716 lnImporteDiv = FUNCTIONS._Round(Convert.ToDecimal(r[
"importediv"]), lnDecimalesMascara);
5717 row[
"importediv"] = lnImporteDiv;
5720 row[
"importe"] =
Divisa.
_DivExacto(_Cotizacion(lcMoneda), Convert.ToDecimal(row[
"importediv"]), lcMoneda);
5722 this._dtDesg_Familias.Rows.Add(row);
5724 lnTotal = lnTotal + Convert.ToDecimal(row[
"importe"]);
5725 lnTotalDiv = lnTotalDiv + lnImporteDiv;
5731 if (_Numeros.Count == 0)
5733 if (_nImporteTotalVentas != lnTotal && lnTotal != 0)
5735 decimal lnDif = Math.Abs(this._nImporteTotalVentas - lnTotal);
5736 if (this._nImporteTotalVentas < lnTotal)
5738 decimal lnImporte2 = Convert.ToDecimal(_dtDesg_Familias.Rows[_dtDesg_Familias.Rows.Count - 1][
"importe"]) + lnDif;
5740 _dtDesg_Familias.Rows[_dtDesg_Familias.Rows.Count - 1][
"importe"] = lnImporte2;
5744 decimal _nImporteTotalVentasDiv = _nImporteTotalVentas;
5745 decimal lnDifDiv = Math.Abs(_nImporteTotalVentasDiv - lnTotalDiv);
5747 if (_nImporteTotalVentasDiv < lnTotalDiv)
5748 lnDifDiv = lnDifDiv * -1;
5750 decimal lnImporteDivisaDif = Convert.ToDecimal(_dtDesg_Familias.Rows[_dtDesg_Familias.Rows.Count - 1][
"importediv"]) + lnDifDiv;
5753 _dtDesg_Familias.Rows[_dtDesg_Familias.Rows.Count - 1][
"importediv"] = lnImporte2;
5755 lnTotal = lnTotal + lnDif;
5769 private bool _Importe_Documento(DataTable ldt_Cursor,
string tcCampoImporteDiv,
string tcCampoImporte =
"")
5771 string lcEmpresa =
"", lcNumero =
"", lcLetra =
"";
5772 bool llRetorno =
true;
5775 foreach (DataRow r
in ldt_Cursor.Rows)
5777 lcEmpresa = Convert.ToString(r[
"empresa"]);
5778 lcNumero = Convert.ToString(r[
"numero"]);
5779 lcLetra = Convert.ToString(r[
"letra"]);
5781 if (Convert.ToDecimal(r[
"pronto"]) > 0.0M || !Convert.ToBoolean(r[
"iva_inc"]) || Convert.ToBoolean(r[
"recargo"]) || lcNumero.Substring(lcNumero.Length - 1, 1).ToUpper() !=
"T")
5784 docIva = this.getDocIva(lcEmpresa, lcNumero, lcLetra);
5785 r[tcCampoImporteDiv] = docIva.lnTotalConIva;
5787 if (!
string.IsNullOrWhiteSpace(tcCampoImporte))
5788 r[tcCampoImporte] =
Divisa.
_DivExacto(Convert.ToDecimal(r[
"cambio"]), docIva.lnTotalConIva, Convert.ToString(r[
"divisa"]));
5790 if (this._llDivisa && !
string.IsNullOrWhiteSpace(tcCampoImporte) && tcCampoImporte.ToLower().Trim() ==
"importediv" && Convert.ToString(r[
"divisa"]) != this._lcMoneda_Empresa)
5792 docIva.lnImporteDiv = Convert.ToDecimal(r[tcCampoImporteDiv]);
5793 r[tcCampoImporte] = docIva.lnTotalConIva;
5794 r[tcCampoImporteDiv] = docIva.lnImporteDiv;
5808 private int _Numero_Tiquets_Aparcados()
5813 lnNumTic = this._Numero_Tiquets_Aparcados(this._Fecha);
5823 private int _Numero_Tiquets_Aparcados(DateTime tdFechaFin)
5826 DataTable ldt_Cursor =
new DataTable();
5827 bool llConsulta_Ok =
false;
5829 String lcSql =
"select count(a.numero) as total from " + DB.SQLDatabase(
"tpv",
"c_albven") +
" a inner join " + DB.SQLDatabase(
"gestion",
"c_albven") +
" b " +
5830 "on a.empresa=b.empresa and a.numero=b.numero and a.letra=b.letra and a.ejercicio=" + DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
" " +
5831 "where a.ejercicio=" + DB.SQLString(
this._lcEjercicioActivo.PadRight(15)) +
" " +
5832 "and a.empresa=" + DB.SQLString(
this._lcEmpresaActiva) +
" " +
5833 "and a.caja=" + DB.SQLString(this._lcCajaActiva) +
" " +
5834 "and b.fecha<=" + DB.SQLString(tdFechaFin) +
" " +
5837 llConsulta_Ok = DB.SQLExec(lcSql, ref ldt_Cursor);
5838 if (llConsulta_Ok ==
true)
5839 lnNumTic = ldt_Cursor.Rows.Count > 0 ? Convert.ToInt32(ldt_Cursor.Rows[0][
"total"]) : 0;
5851 private bool _Guardar_Arqueo(DataTable dtVentas, String tcTipo)
5853 bool llRetorno =
true;
5854 tcTipo = tcTipo.PadLeft(3);
5857 foreach (DataRow r
in dtVentas.Rows)
5859 llRetorno = DB.SQLExec(
"insert into " + DB.SQLDatabase(
"tpv",
"d_arqueo") +
" " +
5860 "(usuario,arqueo,ejercicio,empresa,importe,importediv,moneda,tipo) values (" +
5861 DB.SQLString(this._lcUsuarioTablas) +
", " +
5862 DB.SQLString(this._nNumero) +
", " +
5863 DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
", " +
5864 DB.SQLString(
this._lcEmpresaActiva) +
", " +
5865 DB.SQLString(Convert.ToDecimal(r[
"importe"])) +
", " +
5866 DB.SQLString(Convert.ToDecimal(r[
"importediv"])) +
", " +
5867 DB.SQLString(Convert.ToString(r[
"moneda"])) +
", "+
5868 DB.SQLString(tcTipo)+
")");
5880 private bool _Guardar_Formas_Cobro()
5882 bool llRetorno =
true;
5884 foreach (DataRow r
in this._dtArqueo_Caja.Rows)
5886 llRetorno = DB.SQLExec(
"insert into " + DB.SQLDatabase(
"tpv",
"d_arqueo") +
" " +
5887 "(usuario,arqueo,ejercicio,empresa,importe,importediv,moneda,tipo) values (" +
5888 DB.SQLString(this._lcUsuarioTablas) +
", " +
5889 DB.SQLString(this._nNumero) +
", " +
5890 DB.SQLString(this._lcEjercicioActivo.PadRight(15)) +
", " +
5891 DB.SQLString(
this._lcEmpresaActiva) +
", " +
5892 DB.SQLString(Convert.ToDecimal(r[
"importe"])) +
", " +
5893 DB.SQLString(Convert.ToDecimal(r[
"importediv"])) +
", " +
5894 DB.SQLString(Convert.ToString(r[
"moneda"])) +
" , " +
5895 DB.SQLString(
"O" + Convert.ToString(r[
"fcobro"])) +
")");
5907 private int _Seleccionar_Dispositivo(
string lcMsg,
string lcCaption)
5910 int lnDispositivo = 0;
5913 lofrmSeleccionarImpresora.
_Label = lcMsg;
5914 lofrmSeleccionarImpresora.
_Caption = lcCaption;
5917 switch (lofrmSeleccionarImpresora.DialogResult)
5919 case DialogResult.No:
5920 this._DialogResult = DialogResult.OK;
5924 case DialogResult.Yes:
5925 this._DialogResult = DialogResult.OK;
5929 case DialogResult.Cancel:
5930 this._DialogResult = DialogResult.None;
5935 return lnDispositivo;
5944 private string getSimboloMoneda(Dictionary<string, object> tdicMoneda)
5946 string lcSimbolo =
"";
5947 if (tdicMoneda.ContainsKey(
"simbolo"))
5949 lcSimbolo = Convert.ToString(tdicMoneda[
"simbolo"]).TrimEnd();
5950 if(
String.IsNullOrWhiteSpace(lcSimbolo) && tdicMoneda.ContainsKey(
"abrev"))
5951 lcSimbolo = Convert.ToString(tdicMoneda[
"abrev"]).TrimEnd();
5957 #endregion METODOS PRIVADOS 5968 public decimal lnTotalSinIva = 0;
5974 public decimal lnTotalConIva = 0;
5980 public decimal lnTotalPronto = 0;
5986 public decimal lnImporteDiv = 0;
5992 public decimal lnTotalRecFinan = 0;
6005 public decimal lnRetencionDocPorcen = 0;
6011 public decimal lnRetencionDoc = 0;
6017 public DataTable ldt_TablaIva =
new DataTable();
6023 public decimal lnTotalPuntoVerde = 0;
Interficie para los controles tipo filtro
virtual void _Navegar_Albaranes(String tcDivisa="")
PE-77621
void _Addons_Messagebox(string tcAddon, string tcMetodo, string tcMessage)
Método para mostrar mensajes en la ejecución de addons (PE-97109)
void _Load_Observaciones()
PE-89588 - Método para cargar las observaciones de un arqueo
DataTable _dtOperCaja_Entregas_Cuenta_Pedidos
Datatable Entregas a cuenta pedidos
DataTable _dtOperCaja_Retiradas
Datatable Retiros
virtual void _Show()
Método Show
TipoImpresion
enum para los tipos de impresión
Dictionary< string, object > _nArqueos
PE-91609
static AddonsController Instance
Instancia al objeto singleton Addons
bool _Addons_DescargarDatos(TipoExecute teBeforeAfter)
Ejecutar la extensión de los addons para el _DescargarDatos().
override bool _Load(string tcEmpresa, string tcNumero, string tcLetra="", string tcEjercicio="GESTION")
Carga un documento existente
bool _Load()
Carga los datos de un arqueo: 1) Si la propiedad _nNumero está a 0, se calcula un arqueo nuevo con to...
virtual DataTable _Obtener_DataTable_OperCaja_Vales_Efectuados(ref decimal tnTotalVales, ref string tcMsgError)
Obtener DataTable del apartado de Operaciones de Caja - Subapartado vales efectuados ...
decimal lnRetencionDocPorcen
% Retencion
Clase sage.ew.objetos.ewcombobox
Clase para listado de ventas por cliente/artículo (ven_ca.scx de FOX)
Argumentos para los eventos lanzados por el addons en caso de error
Interfaz para la clase de arqueo de caja TPV
DataTable _dtVentas_Albaranes
Datatable Albaranes
bool _Addons_Load(TipoExecute teBeforeAfter)
Ejecutar la extensión de los addons para el _Load().
void _MessageBox(string tcMensaje, string tcTitulo="", MessageBoxButtons toButtons=MessageBoxButtons.OK, MessageBoxIcon toIcon=MessageBoxIcon.Error, MessageBoxDefaultButton toDefaultButton=MessageBoxDefaultButton.Button1)
PE-87745 - Centralizar mensajes de aviso.
decimal lnTotalPuntoVerde
Total de punto verde
void _Print_Consolida(string tcFileXMLDatos, string tcCaption, string tcCajaIni, string tcCajaFin, DateTime dFechaIni, DateTime dFechaFin, Boolean tlTodasCajas=false)
PE-90528 Imprimir consolidación del arqueo
bool _Show_Print(int tnAbrirEn=1)
_Show_Print
void _Addons_DesArquear(TipoExecute teBeforeAfter)
Ejecutar la extensión de los addons para desarquear.
Extensión de listados para consultar líneas de abonos (PE-81807) (PE-83188)
OperCajaEntregasCuentaAlbaranes = 7
Clase documento de venta TPV
void _Addons_Print(TipoExecute teBeforeAfter, TiposDeArqueos teTipoDeArqueo, string tcFileXMLDatos, string tcCaption)
Ejecutar la extensión de los addons para el _Print().
OperCajaListadoCreditos = 16
virtual void _Navegar_Entregas_Cuenta_Pedidos(String tcDivisa="")
PE-77621
virtual void _Navegar_Pagos_Facturas(String tcDivisa="")
PE-77621
ewMascara()
Crea una nueva instancia de la classe ewMascara.
virtual void _Obtener_DataTables_Importe_Tiquets_Albaranes_Facturas(ref DateTime tdFechaIni, ref DateTime tdFechaFin, ref string tcMsgError)
Obtener DataTable del apartado de Ventas ...
virtual void _Navegar_Creditos()
PE-88164
Clase auxiliar para la reconversión de filtros de negocio en objetos visuales
DataTable ldt_TablaIva
Datatable IVA
DataTable _dtOperCaja_Pagos_Varios
Datatable Pagos Varios
virtual void _Navegar_Abonos()
PE-88164
KeyDiccionarioMascara
Clave para diccionario de máscaras
Navegacion
Enumerados para los diferentes tipos de navegación desde el grid
Clase sage.ew.objetos.ewcheckbox
DataTable _dtVentas_Tiquets
I. VENTAS.
DataTable _dtDesg_Familias
IV. DESGLOSE DE VENTAS POR FAMILIA.
virtual bool _Save()
Cierra un arqueo cargado previamente en pantalla. Es necesario que hay un arqueo cargado en el objeto...
virtual void _Navegar_Vales_Efectuados()
PE-77621
KeyDiccionarioLenCampos
Clave del diccionario LenCampos
void _Arquear()
Arquear la caja
decimal lnRetencionDoc
Importe de Retencion
virtual void _Navegar_Tickets(String tcDivisa="")
PE-77621
virtual bool _DesArquear()
Desarquea un arqueo ya cerrado y descarga el objeto dejando vacio para ser cargado posteriormente con...
DataTable _dtOperCaja_Reposiciones
II. OPERACIONES DE CAJA.
Control para filtros de cajas
DataTable _dtOperCaja_Entregas_Cuenta_Albaranes
Datatable Entregas a cuenta albaranes
DataTable _dtArqueo_Caja
III. ARQUEO DE CAJA.
void _DescargarDatos()
Vacía las propiedades de la clase y deja el objeto preparado para ser cargado de nuevo.
OperCajaEntregasCuentaPedidos = 15
decimal _Cotizacion(String lcMoneda)
virtual DataTable _Obtener_DataTable_OperCaja_Reposiciones(ref decimal lnTotalRepo, ref string tcMsgError)
Obtener DataTable del apartado de Operaciones de Caja - Subapartado reposiciones ...
decimal lnTotalRecFinan
Recargo financiero
decimal lnTotalConIva
Con IVA
virtual void _Navegar_Cobros_Facturas(String tcDivisa="")
PE-77621
Clase para consultar las reposiciones (transformada en PE-83189)
OperCajaCobrosTickets = 5,
DataTable _dtOperCaja_Cobros_Varios
Datatable Cobros Varios
virtual void _Navegar_Ventas_Familias(string tcDescripcion, String tcDivisa="")
PE-77621
string _CreateFileTemporalXML(string tcFileName, DataTable ldTable)
PE-94078 Método para crear un fichero XML en 'euroterm\temp'
virtual decimal _Obtener_DataTable_Desg_Familias()
Rellena la propiedad del objeto DataTable _dtDesg_Familias que contiene el desglose de ventas por fam...
virtual void _Navegar_Reposiciones(String tcDivisa="")
PE-77621
virtual DataTable _Obtener_DataTable_OperCaja_Pagos_Facturas(ref decimal tnTotalPagosFacturas, ref string tcMsgError)
Obtener DataTable del apartado de Operaciones de Caja - Subapartado pagos facturas ...
TipoRetencionVentas
Enumeración para identificar los tipos de retención en ventas
static decimal _Ultima_Cotizacion(string tcMoneda)
Ens retorna la cotització d'una moneda respecte a la moneda de la empresa a la data actual...
virtual void _Navegar_Retiros(String tcDivisa="")
PE-77621
bool _Addons_Save(TipoExecute teBeforeAfter)
Ejecutar la extensión de los addons para el _Save().
virtual DataTable _Obtener_DataTable_OperCaja_Pagos_Varios(ref decimal tnTotalPagosVarios, ref string tcMsgError)
Obtener DataTable del apartado de Operaciones de Caja - Subapartado pagos varios ...
Clase derivada de DocPrint para la impresión de TPV
void _Addons_Print_Consolida(TipoExecute teBeforeAfter, string tcFileXMLDatos, string tcCaption, string tcCajaIni, string tcCajaFin, DateTime dFechaIni, DateTime dFechaFin, Boolean tlTodasCajas)
Ejecutar la extensión de los addons para el _Print_Consolida().
virtual void _Navegar_Cobros_Varios()
PE-77621
DataTable _dtVentas_Facturas
Datatable Facturas
ArqueoTpv(int tnNumero)
Constructor
bool HasAddonsLoaded()
Indica si tiene addons cargados
_TipoDocCab _Cabecera
Cabecera
object [] _addRow(object[] row)
Construeix un nou objecte fila
DataTable _Obtener_Datos_SageReports(Dictionary< string, object > tdicParametros=null)
Obtener los datos de los arqueos
DataTable _Addons_MontaArqueo(TipoExecute teBeforeAfter)
Ejecutar la extensión de los addons para el _MontarArqueo().
TipoExecute _eBeforeAfter
Nos determina en que momento se ejecuta el método. El método se puede ejecutar antes del código de la...
Clase para el listado de Operaciones por Caja
virtual DataTable _Obtener_DataTable_OperCaja_Cobros_Varios(ref decimal tnTotalCobrosVarios, ref string tcMsgError)
Obtener DataTable del apartado de Operaciones de Caja - Subapartado cobros varios ...
DataTable _dtOperCaja_Cobros_Tiquets
Datatable Cobros Tiquets
virtual string _Obtener_XML_desglose_iva()
//PE-91451 Generamos un fichero XML con los datos de resumen de iva
virtual void _Navegar_Cobros_Tickets(String tcDivisa="")
_Navegar_Cobros_Tickets PE-77621
txtCajaDesdeHasta()
Constructor
OperCajaListadoAbonos = 17
virtual decimal _Afegir_Total_Tecleado_Diferencia(ref DataTable tdtTable, string tcCadenaFormat)
Metode virtual per a afegir el tecleado i la diferencia al arqueig
virtual void _Obtener_DataTable_Arqueo_Caja()
Rellena la propiedad del objeto DatTable _dtArqueo_Caja que contiene el cuadre de caja...
TipoRetencionVentas leTipoRetFiscNoFisc
Tipo de retención (fiscal, no fiscal)
bool _DescuentoProntoPago
Tener en cuenta el descuento de pronto pago en el cálculo del importe de líneas de las ventas Utiliza...
Clase que permite extender la funcionalidad de la clase ArqueoTpv
decimal lnTotalSinIva
Sin IVA
DataTable _dtOperCaja_Pagos_Facturas
Datatable Pagos Facturas
Clase base de los controles de divida
Clase para el listado de Retiros
virtual void _Navegar_Entregas_Cuenta_Albaranes(String tcDivisa="")
PE-77621
TipoExecute
Tipos de ejecución de los métodos
TiposDeArqueos
Tipos de arqueo
OperCajaValesEjecutados = 6
Proporciona características adicionales de las máscaras de Eurowin
IAddonsManager AddonsManager
Gestor de Addons
virtual bool _Save_Observaciones()
PE-89588 - Método para guardar las observaciones
DataTable _MontaArqueo()
Metodo que monta un DataTable con los datos del Arqueo para mostrarlos en el Datagrid ...
void _Addons_Cargar()
Método para cargar en el diccionario _Addons todas las extensiones de arqueo tpv que tengan los Addon...
OperCajaPagosFacturas = 11
Definición de la interfície necesaria para las páginas(tabPage) a utilizar en formularios de tipo For...
OperCajaCobrosFacturas = 9
DataTable _Calcular_Iva(ref decimal tnTotalSinIva, ref decimal tnTotalConIva, ref decimal tnTotalPronto, ref decimal tnTotalRecFinan, ref decimal tnRetencionDoc, ref decimal tnTotalPuntoVerde, ref TipoRetencionVentas teTipoRetFiscNoFisc, ref decimal tnRetencionDocPorcen)
Ens retorna un datatable amb els diferents imports de l'iva
CommandManager Commands
Comandos de addons
static decimal _DivExacto(decimal tnCambio, decimal tnImporte=0, string tcToMoneda="", bool tlCalcDivisa=false, string tcMascaraResultado="")
Función para convertir un importe expresado en moneda diferente a la moneda de la empresa a la moneda...
virtual DataTable _Obtener_DataTable_OperCaja_Entregas_Cuenta_Albaranes(ref decimal tnTotalEntAlbaran, ref string tcMsgError)
Obtener DataTable del apartado de Operaciones de Caja - Subapartado entregas a cuenta albaranes ...
DataTable _DataTableCierreCaja(Dictionary< string, string > monedas=null)
Establece el tipo definitivo
object [] _addRow(DataRow toRow, Navegacion toNav)
Construeix un nou objecte fila amb navegació
void _Print(TiposDeArqueos teTipoDeArqueo, string tcFileXMLDatos, string tcCaption="")
Imprimir el arqueo
virtual void _Navegar_Pagos_Varios()
PE-77621
string _Mascara_Net
Máscara convertida en formato .Net
virtual DataTable _Obtener_DataTable_OperCaja_Entregas_Cuenta_Pedidos(ref decimal tnTotalEntPedidos, ref string tcMsgError)
Obtener DataTable del apartado de Operaciones de Caja - Subapartado entregas a cuenta pedidos ...
Clase de negocio para la DIVISA (Moneda)
virtual void _Navegar_Operaciones_Caja(string tcDescripcion, String tcDivisa="")
88164
Dictionary< string, object > _Obtener_DatosGen_Arqueo_Cerrado(string tcEjercicio, string tcEmpresa, int tnNumero)
Obtiene datos generales de un arqueo extrayendolos directamente de la bd en el registro de la tabla T...
Definición de la interficie que deben cumplir los documentos de cualquier tipo para poder interactuar...
ArqueoTpv(dynamic toForm)
PE-87745 - Constructor passant per parametre el formulari
Clase Arqueo TPV: Para crear un arqueo nuevo para consultar lo pendiente de arquear: ...
bool _lMostrarSoloArtSinCodif
Mostrar sólo conceptos varios
ewDocIva getDocIva(String lcEmpresa, String lcNumero, String lcLetra)
Metodo que calcula el IVA del documento y lo guarda en memoria
virtual DataTable _Obtener_DataTable_OperCaja_Retiros(ref decimal tnTotalRetiros, ref string tcMsgError)
Obtener DataTable del apartado de Operaciones de Caja - Subapartado retiros ...
virtual DataTable _Obtener_DataTable_OperCaja_Cobros_Tiquets(ref decimal tnTotalCobros, ref string tcMsgError)
Obtener DataTable del apartado de Operaciones de Caja - Cobros de tiquets ...
virtual int _Obtener_Numero_Tiquets(ref string tnNumTicIni, ref string tnNumTicFin, ref string tcMsgError, ref string tnLetraTicIni, ref string tnLetraTicFin)
Retorna el nº de tiquets, nº tiquet inicial i nº tiquet final ...
Calcula y guarda el arqueo
Clase utilizada para guardar los valores del iva de cada documento
virtual void _Obtener_DataTable_Desg_Iva_Tiquets()
Rellena la propiedad del objeto DataTable _dtDesg_Iva que contiene el desglose de IVA de los tiquets ...
void _Addons_Arquear(TipoExecute teBeforeAfter)
Ejecutar la extensión de los addons para arquear.
Dictionary< string, object > _Obtener_Filtros_SageReports(Dictionary< string, object > tdicParametros=null)
Obtener los filtros de los arqueos
string _ObtenerCaja(String tcCampo="", String tcEmpresa="")
PE-90528 - Método para consulta las cajas de una empresa
Clase para la impresión de arqueo
void CargarExtensionesArqueoTpv(IAddons oArqueoTpv, string tipoArqueoTpv)
Carga las extensiones de arqueo TPV
decimal lnTotalPronto
Protopago
Dictionary< string, object > _Moneda(String lcMoneda)
PE-94454 Definición del combo para seleccionar IVA incluido o no
virtual DataTable _Obtener_DataTable_OperCaja_Cobros_Facturas(ref decimal tnTotalCobrosFacturas, ref string tcMsgError)
Obtener DataTable del apartado de Operaciones de Caja - Subapartado cobros de facturas ...
DataTable _dtDesg_Iva
V. DESGLOSE DE IVA DE LAS VENTAS DE TIQUETS.
DataTable _dtOperCaja_Cobros_Facturas
Datatable Cobros Facturas
void _Addons_Obtener_DataTable_Arqueo_Caja(TipoExecute teBeforeAfter)
Ejecutar la extensión de los addons para el _Obtener_DataTable_Arqueo_Caja().
DataTable _dtOperCaja_Vales_Efectuados
Datatable Vales Efectuados
virtual void _Navegar_Facturas(String tcDivisa="")
PE-77621
static int _Decimals_Mascara(string tcMascara)
Busca el numero de decimals de la máscara