2 using System.Collections.Generic;
23 public string cliente =
"";
43 #region METODOS PUBLICOS 44 #region Montaje_Services 57 if (!String.IsNullOrWhiteSpace(lcQuery))
59 return DB.SQLExec(lcQuery);
72 string lcQuery = ObtenerQuery_ServiceCabecera_Serie();
75 if (!String.IsNullOrWhiteSpace(lcQuery))
77 return DB.SQLExec(lcQuery);
90 string lcQuery = ObtenerQuery_ServiceCabecera_Serie(tcEmpresa, tcNumero, tcLetra);
93 if (!String.IsNullOrWhiteSpace(lcQuery))
95 return DB.SQLExec(lcQuery);
110 lcQuery += ObtenerQueryHisserie(
eOperacionesHisserie.SERVICE_cabecera_AltaModelo, tcEmpresa, tcNumero + tcLetra);
116 #endregion Montaje_Services 118 #region Cancelar_Montaje_Services 119 public bool _Cancelar_Service_Serie(
IDocumentLinea toLinea = null)
132 if (!String.IsNullOrWhiteSpace(lcQuery))
134 return DB.SQLExec(lcQuery);
148 string lcQuery = ObtenerQuery_Cancelar_ServiceCabecera_Serie();
151 if (!String.IsNullOrWhiteSpace(lcQuery))
153 return DB.SQLExec(lcQuery);
167 string lcQuery = ObtenerQuery_Cancelar_ServiceCabecera_Serie(tcEmpresa, tcNumero, tcLetra);
170 if (!String.IsNullOrWhiteSpace(lcQuery))
172 return DB.SQLExec(lcQuery);
188 lcQuery += ObtenerQueryHisserie(
eOperacionesHisserie.SERVICE_cabecera_BajaModelo, tcEmpresa, tcNumero + tcLetra);
194 #endregion Cancelar_Montaje_Services 211 decimal precio = (_oDocLin != null && _oDocLin.GetType().GetProperty(
"_Precio") != null ? _oDocLin._Precio : 0);
212 string letra = (_oDocLin != null && _oDocLin.GetType().GetProperty(
"_Letra") != null && _oDocLin._Letra != null ? _oDocLin._Letra :
"");
213 cliente = (
string.IsNullOrWhiteSpace(cliente) ? (_oDocLin != null && _oDocLin.GetType().GetProperty(
"_Cliente") != null ? _oDocLin._Cliente :
"") : cliente);
224 lcSql =
"UPDATE " + DB.SQLDatabase(
"COMUNES",
"MODELO") +
" SET " +
225 "VENTA = " + DB.SQLString(precio) +
", " +
226 "NUM_VENT = " + DB.SQLString(tcNumero.ToString().TrimEnd().PadLeft(10) +
227 tcLetra.ToString().Trim()) +
" , " +
229 "CODEMP = " + DB.SQLString(tcEmpresa.ToString().Trim()) +
", " +
230 "CLIENTE= " + DB.SQLString(cliente.ToString().Trim()) +
", " +
231 "NOMBRE= " + DB.SQLString(loCli.
_Nombre.ToString().Trim()) +
", " +
232 "ESTADO= " + DB.SQLString(6) +
", " +
233 "ACCESO= " + DB.SQLString(
"N") +
234 "WHERE CODIGO = " + DB.SQLString(_Serie);
240 lcSql =
"UPDATE " + DB.SQLDatabase(
"COMUNES",
"MODELO") +
242 "CLIENTE= " + DB.SQLString(cliente.ToString().Trim()) +
", " +
243 "NOMBRE = '', ESTADO=" + DB.SQLString(1) +
", ACCESO= " + DB.SQLString(
"S") +
244 " WHERE CODIGO = " + DB.SQLString(_Serie);
251 lcSql = base.ObtenerQueryCompras(teOperacion, tcSerie, tcEmpresa, tcNumero, tcLetra, tcLinea);
255 return lcSql.__ToConcatenableQuery();
267 protected string ObtenerQueryHisserie(
eOperacionesHisserie teOperacion,
string tcEmpresa =
"",
string lcNumero =
"", decimal tnCoste = 0,
string tcObserva =
"",
string tcDocumento =
"",
bool tlUsarParametroCoste =
false)
269 string lcSql =
"", lcDocumento =
"", lcMovimiento =
"", lcObserva =
"";
270 decimal lnCoste = 0, lnPrecio = 0;
276 lcDocumento =
"SERVICEMODELO";
278 if (tlUsarParametroCoste) lnCoste = tnCoste;
279 else lnCoste = _Coste();
281 lcObserva =
"Modelo entrada en un servicio";
282 lcSql = QueryInsertarHisserieServices(lcDocumento, lcMovimiento, lnCoste, lnPrecio, lcObserva,
false, tcEmpresa, lcNumero);
286 lcDocumento =
"SERVICEMODELO";
290 lcObserva =
"Modelo borrado del servicio";
291 lcSql = QueryInsertarHisserieServices(lcDocumento, lcMovimiento, lnCoste, lnPrecio, lcObserva,
false, tcEmpresa, lcNumero);
295 if (tcDocumento ==
"*CABECERA*")
297 lcDocumento =
"SERVICEMODELO";
301 lcObserva =
"Traspaso entre empresas";
302 lcSql = QueryInsertarHisserieServices(lcDocumento, lcMovimiento, lnCoste, lnPrecio, lcObserva,
false, tcEmpresa, lcNumero);
318 lcSql = base.ObtenerQueryHisserie(teOperacion, tnCoste, tcObserva, tcDocumento, tlUsarParametroCoste);
322 return lcSql.__ToConcatenableQuery();
338 protected string QueryInsertarHisserieServices(
string tcDocumento,
string tcMovimiento, decimal tnCoste, decimal tnPrecio,
string tcObserva,
bool ignorarRegistro =
false,
string tcEmpresa =
"",
string lcNumero =
"")
340 string lcSql =
"", lcCuenta =
"", lcEmpresa =
"";
341 string letra = (_oDocLin != null && _oDocLin.GetType().GetProperty(
"_Letra") != null && _oDocLin._Letra != null ? _oDocLin._Letra :
"");
342 cliente = (
string.IsNullOrWhiteSpace(cliente) ? (_oDocLin != null && _oDocLin.GetType().GetProperty(
"_Cliente") != null ? _oDocLin._Cliente :
"") : cliente);
345 lcEmpresa = (
string.IsNullOrWhiteSpace(tcEmpresa) ? EW_GLOBAL._GetVariable(
"wc_empresa").ToString().Trim() : tcEmpresa);
348 DateTime? fechaDocumento = null;
353 case "SERVICEMODELO":
354 lcNumero = (
string.IsNullOrWhiteSpace(lcNumero) ? (_oDocLin != null ? _oDocLin._Numero.ToString() :
"") : lcNumero).TrimEnd().PadLeft(10) + letra.ToString().Trim();
355 lcCuenta = cliente.ToString().Trim();
356 lcEmpresa = (
string.IsNullOrWhiteSpace(tcEmpresa) ? (_oDocLin != null ? _oDocLin._Empresa :
"") : tcEmpresa);
361 lcNumero = (
string.IsNullOrWhiteSpace(lcNumero) ? (_oDocLin != null ? _oDocLin._Numero.ToString() :
"") : lcNumero).TrimEnd().PadLeft(10) + letra.ToString().Trim();
362 lcCuenta = cliente.ToString().Trim();
363 lcEmpresa = (
string.IsNullOrWhiteSpace(tcEmpresa) ? (_oDocLin != null ? _oDocLin._Empresa :
"") : tcEmpresa);
366 if (_oDocLin != null && _oDocLin.GetType().GetProperty(
"DocVenta") != null && _oDocLin.DocVenta != null)
368 fechaDocumento = _oDocLin.DocVenta._Fecha;
371 catch (Exception loEx)
373 DB.Registrar_Error(loEx);
384 lcSql =
"INSERT INTO " + DB.SQLDatabase(
"COMUNES",
"HISSERIE") +
" " +
385 "(SERIE,FECHA,HORA,DOCUMENTO,NUMERO,CUENTA,MOVIMIENTO,USUARIO,COSTE,PRECIO,OBSERVA,ORDENADOR,EMPRESA,ALMACEN,MODELO, IGNORAR, FECHADOC) " +
387 (!_Modelo ? DB.SQLString(_Serie) : DB.SQLString(
"")) +
", " +
388 DB.SQLString(DateTime.Now.ToString(
"d")) +
", " +
389 DB.SQLString(DateTime.Now.ToString(
"T")) +
", " +
390 DB.SQLString(tcDocumento) +
", " +
391 DB.SQLString(lcNumero) +
" , " +
392 DB.SQLString(lcCuenta) +
", " +
393 DB.SQLString(tcMovimiento) +
", " +
394 DB.SQLString(Convert.ToString(EW_GLOBAL._GetVariable(
"wc_usuario")).Trim().ToUpper()) +
", " +
395 DB.SQLString(tnCoste) +
", " +
396 DB.SQLString(tnPrecio) +
", " +
397 DB.SQLString(tcObserva) +
", " +
398 DB.SQLString(Environment.MachineName.Trim().ToUpper()) +
", " +
399 DB.SQLString(lcEmpresa) +
", " +
400 DB.SQLString(GetAlmacen()) +
", " +
401 (_Modelo ? DB.SQLString(_Serie) : DB.SQLString(
"")) +
", " +
402 (ignorarRegistro ?
" CAST(1 as BIT) " :
" CAST(0 as BIT) ") +
", " +
403 DB.SQLString(fechaDocumento) +
407 return lcSql.__ToConcatenableQuery();
422 #region Actualizar posición tablas 437 if (toLinea != null) _oDocLin = toLinea;
440 if (_oDocLin == null ||
string.IsNullOrWhiteSpace(_Serie)) llOk =
false;
444 llOk = llOk && DB.SQLExec(lcQuery);
450 #endregion Actualizar posición tablas 452 public override bool _ConsultarVenser(
string tcEmpresa,
string tcNumero,
string tcLetra,
int tnLinea, ref DataTable toVenser)
454 string lcSql =
string.Empty;
461 lcSql =
"SELECT SERSER.EMPRESA, SERSER.ALBARAN, SERSER.ARTICULO, SERSER.LINEA, SERSER.SERIE, SERSER.NUMERO, SERSER.MODELO, SERSER.LETRA, SERSER.UBICA, SERSER.LOTE, SERSER.FECHALOG, COMPRAS.COSTE " +
462 "FROM " + DB.SQLDatabase(
"SERVICES",
"SERSER") +
" " +
463 "LEFT JOIN " + DB.SQLDatabase(
"COMUNES",
"COMPRAS") +
" COMPRAS " +
464 "ON SERSER.SERIE = COMPRAS.SERIE COLLATE Modern_Spanish_CS_AS " +
465 "WHERE SERSER.EMPRESA = " + DB.SQLString(tcEmpresa) +
466 " AND SERSER.ALBARAN = " + DB.SQLString(tcNumero) +
467 " AND SERSER.LETRA = " + DB.SQLString(tcLetra) +
468 " AND SERSER.LINEA = " + DB.SQLString(tnLinea);
470 llOk = DB.SQLExec(lcSql, ref toVenser);
483 string lcSql =
string.Empty;
484 bool lbRetorn =
false;
488 lcSql =
" Update " + DB.SQLDatabase(
"SERVICES",
"SERSER") +
489 " Set LINEA = " + DB.SQLString(tnNewLinia) +
490 " WHERE EMPRESA = " + DB.SQLString(toDocVentaLin.
_Empresa) +
491 " AND ALBARAN = " + DB.SQLString(toDocVentaLin.
_Numero) +
492 " AND LETRA = " + DB.SQLString(toDocVentaLin.
_Letra) +
493 " AND LINEA = " + DB.SQLString(toDocVentaLin.
_LineaReal);
497 lbRetorn = DB.SQLExec(lcSql);
512 string lcSql =
string.Empty;
516 if (toLinea == null)
return llOk;
524 lcSql =
"SELECT SERSER.EMPRESA, SERSER.ALBARAN, SERSER.ARTICULO, SERSER.LINEA, SERSER.SERIE, SERSER.NUMERO, SERSER.MODELO, SERSER.LETRA, SERSER.UBICA, SERSER.LOTE, SERSER.FECHALOG, COMPRAS.COSTE " +
525 "FROM " + DB.SQLDatabase(
"SERVICES",
"SERSER") +
" " +
526 "LEFT JOIN " + DB.SQLDatabase(
"COMUNES",
"COMPRAS") +
" COMPRAS " +
527 "ON SERSER.SERIE = COMPRAS.SERIE COLLATE Modern_Spanish_CS_AS " +
528 "WHERE SERSER.EMPRESA = " + DB.SQLString(toLinea.
_Empresa) +
529 " AND SERSER.ALBARAN = " + DB.SQLString(toLinea.
_Numero) +
530 " AND SERSER.LETRA = " + DB.SQLString(toLinea.
_Letra) +
531 " AND SERSER.MODELO = " + (llEsmontaje ? DB.SQLTrue() : DB.SQLFalse());
532 if (tlFiltrarLineas) lcSql +=
" AND SERSER.LINEA = " + DB.SQLString(toLinea.
_LineaReal);
533 if (!
string.IsNullOrWhiteSpace(tcSerie)) lcSql +=
" AND SERSER.SERIE = " + DB.SQLString(tcSerie);
535 llOk = DB.SQLExec(lcSql, ref toVenser);
541 #endregion METODOS PUBLICOS
eOperacionesHisserie
Operaciones disponibles sobre tabla HISSERIE
virtual bool _Cancelar_ServiceCabecera_Serie()
Realiza las operaciones de venta de una serie (Requiere referencia a lÃnea de documento) Es un BAJA ...
string QueryInsertarHisserieServices(string tcDocumento, string tcMovimiento, decimal tnCoste, decimal tnPrecio, string tcObserva, bool ignorarRegistro=false, string tcEmpresa="", string lcNumero="")
Método privado con la parte común de la inserción en HISSERIE. Recibe como parametro lo que varia por...
string ObtenerQueryHisserie(eOperacionesHisserie teOperacion, string tcEmpresa="", string lcNumero="", decimal tnCoste=0, string tcObserva="", string tcDocumento="", bool tlUsarParametroCoste=false)
Método para actualizar los datos de la tabla COMUNES.HISSERIE
Interfície para líneas que trabajan con extensiones. Hereda de IDocumentLinea
Articulo _oArticulo
Objeto articulo
override string _Nombre
Nombre del cliente a partir del campo NOMBRE de la tabla CLIENTES de la base de datos de GESTION de E...
Es como el tipo de entrada asientos pero por negocio, sin formulario, pq quiero que me haga las propu...
Interficie mínima de las líneas (Mantener lo mas reducida posible)
eOperacionesCompras
Operaciones disponibles sobre tabla COMPRAS
override bool _Actualizar_Numero_Linia(IDocumentLinea toDocVentaLin, int tnNewLinia)
Actualiza el número de línea del docuemnto de venta a la tabla GESTION!VENSER
override string _Codigo
Redefinir propiedad _Codigo (PE-102588)
virtual string ObtenerQuery_Cancelar_ServiceCabecera_Serie(string tcEmpresa="", string tcNumero="", string tcLetra="")
Realiza las operaciones de venta de una serie (Requiere referencia a lÃnea de documento) Es un BAJA ...
override void _Load()
Load
Clase especifica para montajes (deriva de Serie)
bool _ServiceCabecera_Serie(string tcEmpresa, string tcNumero, string tcLetra)
Realiza las operaciones en cabecera servicio de una serie Es un ALTA en SERVICIOS, un SERVICIO en HISSERIE
virtual bool _ActualizarPosicionTabla_Serser(string tcNumero, IDocumentLinea toLinea=null)
Establece el valor de SERSER.NUMERO para la serie dada EspecÃfico para uso interno de la clase LinVe...
Clase especifica para montajes (deriva de Serie)
string ObtenerQuery_ServiceCabecera_Serie(string tcEmpresa="", string tcNumero="", string tcLetra="")
Realiza las operaciones en servicio de una serie (Requiere referencia a lÃnea de documento) Es un AL...
virtual bool _ServiceCabecera_Serie()
Realiza las operaciones en cabecera servicio de una serie Es un ALTA en SERVICIOS, un SERVICIO en HISSERIE
eOperacionesVenser
Operaciones disponibles sobre tabla VENSER
MontajeServices(string tcMontaje, IDocumentLinea toDocumentoLinea=null)
Constructor con código de montaje
override string ObtenerQueryCompras(eOperacionesCompras teOperacion, string tcSerie="", string tcEmpresa="", string tcNumero="", string tcLetra="", string tcLinea="")
Método interno para actualizar los datos de COMUNES!MODELO
override bool _ConsultarVenser(string tcEmpresa, string tcNumero, string tcLetra, int tnLinea, ref DataTable toVenser)
Realiza una consulta sobre la tabla VENSER para la empresa, número, letra y línea indicados ...
bool _EsMontaje
Indica si el articulo trabaja con series y tiene modelo asignado, por lo que sería un artículo de mon...
int _LineaReal
Devuelve el campo linia: para todos los documentos sera el mismo valor que la linea pero en el docume...
MontajeServices()
Constructor vacio
override bool _ConsultarVenser(IDocumentoLineaExtensiones toLinea, ref DataTable toVenser, bool tlFiltrarLineas=true, string tcSerie="")
Realiza una consulta sobre la tabla SERSER para la línea pasada como parámetro
bool _Cancelar_ServiceCabecera_Serie(string tcEmpresa, string tcNumero, string tcLetra)
Realiza las operaciones de venta de una serie (Requiere referencia a lÃnea de documento) Es un BAJA ...