DocPrintCompra.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.ComponentModel;
5 using System.Text;
6 using System.Data;
7 using System.Reflection;
8 using System.IO;
9 using System.Xml;
10 using System.Globalization;
11 using System.Windows.Forms;
12 
13 using sage.ew.interficies;
14 using sage.ew.global;
15 using sage.ew.usuario;
16 using sage.ew.cliente;
17 using sage.ew.netvfp;
18 using sage.ew.db;
19 using sage.ew.ewbase;
20 using sage.ew.empresa;
21 using sage.ew.enumerations;
22 using sage.ew.docsven;
23 
24 namespace sage.ew.docscompra
25 {
29  public class DocPrintCompra : DocPrint
30  {
31  #region PROPIEDADES
32 
33  private bool _lImprimir = true;
34  private bool _lSoloPenReci = false;
35  private bool _lImprimir_Series = false;
36  // Guardamos en una propiedad interna si el usuario tiene acceso a ver los precios en compras ....
37  private bool _lNoVisualizarPreciosEnCompras = false;
38  private bool _lAgrupar_Articulo = false;
39 
43  public bool _NoVisualizarPreciosEnCompras
44  {
45  get
46  {
47  return _lNoVisualizarPreciosEnCompras;
48  }
49 
50  }
51 
55  public bool _Agrupar_Articulo
56  {
57  get
58  {
59  return _lAgrupar_Articulo;
60  }
61  set
62  {
63  _lAgrupar_Articulo = value;
64  }
65  }
66 
70  public bool _Imprimir
71  {
72  get
73  {
74  return _lImprimir;
75  }
76  set
77  {
78  _lImprimir = value;
79  }
80  }
81 
85  public bool _SoloPenReci
86  {
87  get
88  {
89  return _lSoloPenReci;
90  }
91  set
92  {
93  _lSoloPenReci = value;
94  }
95  }
96 
100  public bool _Imprimir_Series
101  {
102  get
103  {
104  return _lImprimir_Series;
105  }
106  set
107  {
108  _lImprimir_Series = value;
109  }
110  }
111 
115  public override bool _DivisaActiva
116  {
117  get
118  {
119  return Convert.ToBoolean(EW_GLOBAL._GetVariable("wl_divisacompra")) && base._DivisaActiva;
120  }
121  }
122 
123 
127  public override List<CampoOrdenacion> _CamposOrdenacion
128  {
129  get
130  {
131  if (_oCamposOrdenacion == null)
132  {
133  _oCamposOrdenacion = new List<CampoOrdenacion>();
134  _oCamposOrdenacion.Add(new CampoOrdenacion());
135  _oCamposOrdenacion.Add(new CampoOrdenacion("definicion", "Definición"));
136  _oCamposOrdenacion.Add(new CampoOrdenacion("ubica", "Localización"));
137  }
138  return _oCamposOrdenacion;
139  }
140  set
141  {
142  _oCamposOrdenacion = value;
143  }
144  }
145 
149  //protected internal dynamic _oDocumento;
150 
151  #endregion PROPIEDADES
152 
153  #region CONSTRUCTORES
154 
158  public DocPrintCompra()
159  {
160  // Rellena el idioma con el idioma de la empresa y la propiedad privada que marca si el usuario está autorizado a ver precios
161  this._Config_Inicial();
162  }
163 
169  {
170  _Documento = toDocCompra;
171 
172  // Rellena el idioma con el idioma de la empresa y la propiedad privada que marca si el usuario está autorizado a ver precios
173  this._Config_Inicial();
174  }
175 
176  #endregion CONSTRUCTORES
177 
178  #region METODOS PROTECTED
179 
185  protected String _GetReportNameByTemplates(TiposReport toTipo)
186  {
187  String lcReportName = String.Empty;
188 
189  if (String.IsNullOrEmpty(_Template))
190  {
191  ReportTemplates loTemplates = String.IsNullOrEmpty(_Idioma) ? new ReportTemplates(EW_GLOBAL._Empresa._Codigo) : new ReportTemplates(EW_GLOBAL._Empresa._Codigo, _Idioma);
192  _Template = loTemplates._GetPredet(Convert.ToInt32(toTipo));
193  }
194 
195  if (!String.IsNullOrEmpty(_Template))
196  {
197  ReportTemplate loTemplate = new ReportTemplate();
198  loTemplate._Codigo = _Template;
199  lcReportName = loTemplate._Fichero;
200  }
201 
202  return lcReportName;
203  }
204 
208  protected void _Config_Inicial()
209  {
210  // Cargamos ya la propiedad _Idioma con el idioma predeterminado de la empesa, si estuviese vacio
211  // más adelante si hay documento de compra asociado, se sobreescribe con el del proveedor
212  string lcIdioma = Convert.ToString(EW_GLOBAL._GetVariable("wc_idiomapred")).ToString().Trim();
213  this._cIdioma = lcIdioma;
214 
215  // Guardamos si el usuario puede ver precios de compra
216  this._lNoVisualizarPreciosEnCompras = Usuario._This._Opcesp("0041");
217 
218  // Valores predeterminados para impresión de pedido de compra
219  this._IVA_Desglosado = true;
220  this._Valorado = true;
221  this._Imprimir = true;
222  this._Imprimir_Series = false;
223  this._SoloPenReci = false;
224 
225  // Si el usuario activo tiene activado esta opción no se le permite ver precios en compras por tanto ni desglosamos IVA ni valoramos nada ...
226  if (this._NoVisualizarPreciosEnCompras)
227  {
228  this._IVA_Desglosado = false;
229  this._Valorado = false;
230  }
231 
232  _UnMailCliente = Convert.ToBoolean(EW_GLOBAL._GetVariable("wl_envmailpr"));
233  }
234 
239  protected virtual bool _PrintVFP()
240  {
241  if (_Documento is IDocumentoImprimibleVFP) return ((IDocumentoImprimibleVFP)_Documento)._PrintVFP();
242  else
243  {
244  throw new NotImplementedException();
245  }
246  }
247 
254  protected override void _Configurar_obtencion_filtros(ref Dictionary<string, object> tdicParametrosReport)
255  {
256  tdicParametrosReport.Add("_Valorado", _Valorado); //Añado un parámetro con la configuración de valorado
257  tdicParametrosReport.Add("_IVA_Desglosado", _IVA_Desglosado); //Añado un parámetro con la configuración de iva_desglosado
258 
259  //Resto de propiedades específicas del _DocPrintCompra
260  tdicParametrosReport.Add("_NoVisualizarPreciosEnCompras", _NoVisualizarPreciosEnCompras);
261  tdicParametrosReport.Add("_Imprimir_Series", _Imprimir_Series);
262  tdicParametrosReport.Add("_Imprimir", _Imprimir);
263  tdicParametrosReport.Add("_SoloPenReci", _SoloPenReci);
264  tdicParametrosReport.Add("_Idioma", _Idioma);
265  tdicParametrosReport.Add("_Agrupar_Articulo", _Agrupar_Articulo);
266  }
267 
268  #endregion
269 
270  #region METODOS PUBLICOS
271 
276  public override bool _Print()
277  {
278  if (_lHera) //Solo para HERA
279  {
280  //Determino si la empresa debe utilizar Sage Reports
281  if (Empresa._NewEmpresa(_Documento._Empresa)._ImprimirSageReports) return _PrintNET();
282  else return _PrintVFP();
283  }
284  else
285  return _PrintNET();
286  }
287 
293  public override DocPrint _Clonar(DocPrint toDocPrint)
294  {
295  toDocPrint = base._Clonar(toDocPrint);
296 
297  if (toDocPrint is DocPrintCompra)
298  {
299  ((DocPrintCompra)toDocPrint)._Agrupar_Articulo = _Agrupar_Articulo;
300  ((DocPrintCompra)toDocPrint)._Imprimir_Series = _Imprimir_Series;
301  }
302 
303  return toDocPrint;
304  }
305 
311  public override bool _Show_Print(int tnAbrirEn = 1)
312  {
313  bool llResultado = false;
314  llResultado = _Documento._Show_Print(tnAbrirEn);
315 
316  //Destruyo el vinculo del documento con el objeto de impresión
317  if (_Documento != null) _Documento._DocPrint = null;
318 
319  return llResultado;
320  }
321 
322 
328  {
329  DocPrintCompra _Print = new DocPrintCompra();
330 
331  //_Print._Email = _Email;
332  //_Print._Fax = _Fax;
333  _Print._Idioma = _Idioma;
334  _Print._Imprimir = _Imprimir;
335  _Print._Imprimir_Series = _Imprimir_Series;
336  _Print._IVA_Desglosado = _IVA_Desglosado;
337 
338  _Print._Opciones_Impresion = new List<OpcionesImpresion>();
339  foreach (OpcionesImpresion loOpc in _Opciones_Impresion)
340  _Print._Opciones_Impresion.Add(loOpc);
341 
342  _Print._Destinatario_Email = _Destinatario_Email;
343  _Print._Ruta_Fichero = _Ruta_Fichero;
344  // _Print._Previsiones = _Previsiones;
345  _Print._SoloPenReci = _SoloPenReci;
346  _Print._Valorado = _Valorado;
347  _Print._Vista_Preliminar = _Vista_Preliminar;
348 
349  return _Print;
350  }
351 
356  public virtual bool _Documento_Traspasado_Totalmente()
357  {
358 
359  return false;
360  }
361 
362  #endregion METODOS PUBLICOS
363  }
364 
369  {
370  #region PROPIEDADES PRIVADAS
371 
372  private bool _lTrabajoSeries = Convert.ToBoolean(EW_GLOBAL._GetVariable("wl_Series"));
373 
374  #endregion
375 
376 
380  public override UserControl _UserControlAdicional
381  {
382  get
383  {
384  if (_oUserControlAdicional == null)
385  {
386  _oUserControlAdicional = new UserControls.OpcionesImpresionMasivaAlbaran();
387  }
388 
389  return _oUserControlAdicional;
390  }
391  set
392  {
393  _oUserControlAdicional = value;
394  }
395  }
396 
397  #region CONSTRUCTORES
398 
403  : base()
404  {
405  _Configuracion_Inicial();
406  }
407 
413  : base(toDocCompra)
414  {
415  _Configuracion_Inicial();
416  }
417 
418  #endregion CONSTRUCTORES
419 
420  //#region METODOS PRIVADOS
421 
425  private void _Configuracion_Inicial()
426  {
427  if (!this._lTrabajoSeries)
428  this._Opciones_Impresion = new List<OpcionesImpresion>() { new OpcionesImpresion(0, "Imprimir albarán de compra") };
429  else
430  {
431  this._Opciones_Impresion = new List<OpcionesImpresion>()
432  {
433  new OpcionesImpresion(0, "Imprimir albarán de compra"),
434  //Comentamos la opción "Imprimir series" por que no está implementada, ni se sabe si se implementará ya que las series
435  //se pueden ver en opción "Imprimir albarán de compra y series"
436  //new OpcionesImpresion(1, "Imprimir series"),
437  new OpcionesImpresion(2, "Imprimir albarán de compra y series")
438  };
439  }
440 
441  _Imprimir_Series = _lTrabajoSeries; //Puede o no trabajar con series
442  }
443  //#endregion
444 
445  #region METODOS PUBLICOS
446 
451  //public override bool _Print()
452  //{
453  // bool llOk = true;
454  // string lcRetorno = "";
455  // string lcIdioma = this._Idioma;
456 
457  // // Si el nombre del idioma está en blanco se simula que no está declarado el idioma
458  // if (!string.IsNullOrWhiteSpace(lcIdioma))
459  // {
460  // Idiomas loTmpIdi = new Idiomas();
461  // loTmpIdi._Codigo = lcIdioma;
462  // loTmpIdi._Load();
463  // if (string.IsNullOrWhiteSpace(loTmpIdi._Nombre))
464  // lcIdioma = "";
465  // }
466 
467  // try
468  // {
469  // // Imprimir el albarán de compra ...
470  // if (this._Imprimir)
471  // {
472  // // Preparación de los parámetros para la función REPORT_COMPRAS
473  // object[] loParametros = new object[16]
474  // {
475  // 2, //Report compras
476  // _oDocumento._ReportBase,
477  // _oDocumento._Numero,
478  // _oDocumento._Cabecera._Divisa,
479  // _oDocumento._Cabecera._Proveedor,
480  // this._IVA_Desglosado,
481  // this._Valorado,
482  // this._Imprimir,
483  // this._Email,
484  // this._Fax,
485  // this._Previsiones,
486  // lcIdioma,
487  // _Destinatario_Email,
488  // _Ruta_Fichero,
489  // this._SoloPenReci ? 2 : 1,
490  // this._Vista_Preliminar
491  // };
492  // lcRetorno = NETVFP._Abrir_Formulario_VFP("FRMFUNSNET", loParametros);
493  // }
494 
495  // // Imprimir las series.
496  // // Esta propiedad solo podrá estar a true si se trabaja con series, sino estará siempre a false
497  // if (this._Imprimir_Series)
498  // {
499  // // Preparación de los parámetros para la función REPORT_VENTAS
500  // object[] loParametros = new object[5]
501  // {
502  // _oDocumento._Empresa,
503  // _oDocumento._Numero,
504  // _oDocumento._Cabecera._Proveedor,
505  // _oDocumento._Cabecera._Fecha,
506  // _oDocumento._Cabecera._Divisa,
507  // };
508 
509  // // Ejecutar función REPORT_VENTAS de VFP
510  // lcRetorno = NETVFP._Ejecutar_Funcion_VFP("IMPRIMIR_SERIES_ALBARAN_COMPRA", loParametros);
511  // }
512  // }
513  // catch (Exception loEx)
514  // {
515  // DB.Registrar_Error(loEx);
516  // llOk = false;
517  // }
518 
519  // return llOk;
520  //}
521 
522 
527  //public override bool _Show_Print(int tnAbrirEn = 2)
528  //{
529  // bool llOk = true;
530 
531  // // Llamar formulario de impresión .NET
532  // frmImprimirDocCompra loFormImp = new frmImprimirDocCompra(_Documento);
533  // llOk = (loFormImp.ShowDialog() == DialogResult.OK);
534 
535  // return llOk;
536  //}
537 
542  {
543  if (_ImpresionNormalMultiple == ImpresionNormalMultiple.Multiple && _oUserControlAdicional is UserControls.OpcionesImpresionMasivaAlbaran)
544  {
545  UserControls.OpcionesImpresionMasivaAlbaran loUserControl = (UserControls.OpcionesImpresionMasivaAlbaran)_oUserControlAdicional;
546 
547  switch (loUserControl._Tipo)
548  {
549  case 2:
550  _FiltrosDocumentosImpresion.Add(new FiltroImpresion(TipoFiltroImpresion.Facturados, true));
551  break;
552  case 3:
553  _FiltrosDocumentosImpresion.Add(new FiltroImpresion(TipoFiltroImpresion.Facturables, false));
554  break;
555  }
556  }
557  }
558 
563  protected override String _GetReportName()
564  {
565  String lcReportName;
566 
567  if (_lSage50)
568  {
569  lcReportName = _GetReportNameByTemplates(TiposReport.Albacom);
570  }
571  else
572  {
573  //PE-97654 Cojemos el definido por empresa
574  lcReportName = _Empresa._Albacom;
575 
576  if (!String.IsNullOrEmpty(_Idioma))
577  {
578  Idiomas loIdioma = new Idiomas();
579  loIdioma._Codigo = _Idioma;
580  loIdioma._Load();
581 
582  if (!String.IsNullOrEmpty(loIdioma._Albacom)) lcReportName = loIdioma._Albacom;
583  }
584  }
585 
586  //PE-97654 Si no existe, cojemos el definido en el documento
587  if (String.IsNullOrEmpty(lcReportName)) lcReportName = base._GetReportName();
588 
589  return lcReportName.Trim();
590 
591  }
592 
593  #endregion METODOS
594  }
595 
600  {
604  public override UserControl _UserControlAdicional
605  {
606  get
607  {
608  if (_oUserControlAdicional == null)
609  {
610  _oUserControlAdicional = new UserControls.OpcionesImpresionMasivaDeposito();
611  }
612 
613  return _oUserControlAdicional;
614  }
615  set
616  {
617  _oUserControlAdicional = value;
618  }
619  }
620  #region CONSTRUCTORES
621 
626  : base()
627  {
628  this._Configuracion_Inicial();
629  }
630 
636  : base(toDocCompra)
637  {
638  _Configuracion_Inicial();
639  }
640 
641  #endregion CONSTRUCTORES
642 
643  #region METODOS PRIVADOS
644 
648  private void _Configuracion_Inicial()
649  {
650 
651  // Establecer opciones de impresión disponibles para depósitos de compra.
652  this._Opciones_Impresion = new List<OpcionesImpresion>() { new OpcionesImpresion(0, "Imprimir depósito")
653  //,new OpcionesImpresion(1, "No imprimir depósito") //PE-102396
654  };
655  }
656 
657  #endregion
658 
659  #region METODOS PUBLICOS
660 
662  // El metodo _Print() se utiliza el de la clase base sage.ew.docscompra.ewDocPrint que coincide tanto en propuesta compra, depósito y pedido de compra.
663  // El metodo _Show_Print() se utiliza el de la clase base sage.ew.docscompra.ewDocPrint que coincide tanto en albarán de compra, propuesta compra, depósito y pedido de compra.
665 
670  {
671  if (_ImpresionNormalMultiple == ImpresionNormalMultiple.Multiple && _oUserControlAdicional is UserControls.OpcionesImpresionMasivaDeposito)
672  {
673  UserControls.OpcionesImpresionMasivaDeposito loUserControl = (UserControls.OpcionesImpresionMasivaDeposito)_oUserControlAdicional;
674 
675  if (loUserControl._SoloNoTraspasados) _FiltrosDocumentosImpresion.Add(new FiltroImpresion(TipoFiltroImpresion.Traspasados, false));
676  }
677  }
678 
683  protected override String _GetReportName()
684  {
685  String lcReportName;
686 
687  if (_lSage50)
688  {
689  lcReportName = _GetReportNameByTemplates(TiposReport.Depocom);
690  }
691  else
692  {
693  //PE-97654 Cojemos el definido por empresa
694  lcReportName = _Empresa._Depocom;
695 
696  if (!String.IsNullOrEmpty(_Idioma))
697  {
698  Idiomas loIdioma = new Idiomas();
699  loIdioma._Codigo = _Idioma;
700  loIdioma._Load();
701 
702  if (!String.IsNullOrEmpty(loIdioma._Depcom)) lcReportName = loIdioma._Depcom;
703  }
704  }
705 
706  //PE-97654 Si no existe, cojemos el definido en el documento
707  if (String.IsNullOrEmpty(lcReportName)) lcReportName = base._GetReportName();
708 
709  return lcReportName.Trim();
710  }
711 
712  #endregion METODOS
713  }
714 
719  {
720 
721 
725  public override UserControl _UserControlAdicional
726  {
727  get
728  {
729  if (_oUserControlAdicional == null)
730  {
731  _oUserControlAdicional = new UserControls.OpcionesImpresionMasivaPropuestaPedido();
732  }
733 
734  return _oUserControlAdicional;
735  }
736  set
737  {
738  _oUserControlAdicional = value;
739  }
740  }
741 
742  #region CONSTRUCTORES
743 
748  : base()
749  {
750  _Configuracion_Inicial();
751  }
752 
758  : base(toDocCompra)
759  {
760  _Configuracion_Inicial();
761  }
762 
763  #endregion CONSTRUCTORES
764 
765  #region METODOS PRIVADOS
766 
770  private void _Configuracion_Inicial()
771  {
772  // Establecer opciones de impresión disponibles para pedido de compra
773  this._Opciones_Impresion = new List<OpcionesImpresion>() { new OpcionesImpresion(0, "Imprimir todo el pedido de compra"),
774  new OpcionesImpresion(1, "Imprimir sólamente pendiente recibir")
775  //,new OpcionesImpresion(2, "No Imprimir pedido de compra") //PE-102396
776  };
777  }
778  #endregion
779 
780  #region METODOS PUBLICOS
781 
786  protected override bool ValidatePrinting()
787  {
788  string lcMante;
789 
790  if (!base.ValidatePrinting())
791  {
792  if (_ErrorMessage.Contains("el fichero del report"))
793  {
794  lcMante = string.IsNullOrWhiteSpace(_Idioma) ? "empresa" : "idioma";
795  _ErrorMessage = $"{_ErrorMessage}{Environment.NewLine}Revise la configuración los reports del mantenimiento de {lcMante}";
796  }
797  }
798  else if (_Documento is ewDocCompraPEDIDO && _SoloPenReci && _Documento_Traspasado_Totalmente())
799  {
800  _ErrorMessage = "El documento se ha traspasado totalmente. No hay lineas pendientes de recibir para imprimir";
801 
802  }
803 
804  return string.IsNullOrWhiteSpace(_ErrorMessage);
805  }
806 
811  {
812  if (_ImpresionNormalMultiple == ImpresionNormalMultiple.Multiple && _oUserControlAdicional is UserControls.OpcionesImpresionMasivaPropuestaPedido)
813  {
814  UserControls.OpcionesImpresionMasivaPropuestaPedido loUserControl = (UserControls.OpcionesImpresionMasivaPropuestaPedido)_oUserControlAdicional;
815 
816  if (loUserControl._SoloNoCancelados) _FiltrosDocumentosImpresion.Add(new FiltroImpresion(TipoFiltroImpresion.Cancelados, false));
817  if (loUserControl._SoloNoTraspasados) _FiltrosDocumentosImpresion.Add(new FiltroImpresion(TipoFiltroImpresion.Traspasados, false));
818  }
819  }
820 
822  // El metodo _Print() se utiliza el de la clase base sage.ew.docscompra.ewDocPrint que coincide tanto en propuesta compra, depósito y pedido de compra.
823  // El metodo _Show_Print() se utiliza el de la clase base sage.ew.docscompra.ewDocPrint que coincide tanto en albarán de compra, propuesta compra, depósito y pedido de compra.
825 
830  protected override String _GetReportName()
831  {
832 
833  String lcReportName;
834 
835  if (_lSage50)
836  {
837  lcReportName = _GetReportNameByTemplates(TiposReport.Pedicom);
838  }
839  else
840  {
841  //PE-97654 Cojemos el definido por empresa
842  lcReportName = _Empresa._Pedicom;
843 
844  if (!String.IsNullOrEmpty(_Idioma))
845  {
846  Idiomas loIdioma = new Idiomas();
847  loIdioma._Codigo = _Idioma;
848  loIdioma._Load();
849 
850  if (!String.IsNullOrEmpty(loIdioma._Pedicom)) lcReportName = loIdioma._Pedicom;
851  }
852  }
853 
854  //PE-97654 Si no existe, cojemos el definido en el documento
855  if (String.IsNullOrEmpty(lcReportName)) lcReportName = base._GetReportName();
856 
857  return lcReportName.Trim();
858  }
859 
864  public override bool _Documento_Traspasado_Totalmente()
865  {
866  if (this._Documento != null)
867  {
869  return loPedido._Documento_Traspasado_Totalmente();
870  }
871  else
872  return false;
873  }
874 
875  #endregion METODOS
876  }
877 
882  {
886  public override UserControl _UserControlAdicional
887  {
888  get
889  {
890  if (_oUserControlAdicional == null)
891  {
892  _oUserControlAdicional = new UserControls.OpcionesImpresionMasivaPropuestaPedido();
893  }
894 
895  return _oUserControlAdicional;
896  }
897  set
898  {
899  _oUserControlAdicional = value;
900  }
901  }
902 
903  #region CONSTRUCTORES
904 
909  : base()
910  {
911  this._Configuracion_Inicial();
912  }
913 
919  : base(toDocCompra)
920  {
921  _Configuracion_Inicial();
922  }
923 
924  #endregion CONSTRUCTORES
925 
926  #region METODOS PRIVADOS
927 
928  private void _Configuracion_Inicial()
929  {
930  // Establecer opciones de impresión disponibles para propuesta de compra.
931  this._Opciones_Impresion = new List<OpcionesImpresion>() { new OpcionesImpresion(0, "Imprimir propuesta de compra")
932  //,new OpcionesImpresion(1, "No imprimir") //PE-102396
933  };
934  }
935 
936  #endregion
937 
938  #region METODOS PUBLICOS
939 
944  {
945  if (_ImpresionNormalMultiple == ImpresionNormalMultiple.Multiple && _oUserControlAdicional is UserControls.OpcionesImpresionMasivaPropuestaPedido)
946  {
947  UserControls.OpcionesImpresionMasivaPropuestaPedido loUserControl = (UserControls.OpcionesImpresionMasivaPropuestaPedido)_oUserControlAdicional;
948 
949  if (loUserControl._SoloNoCancelados) _FiltrosDocumentosImpresion.Add(new FiltroImpresion(TipoFiltroImpresion.Cancelados, false));
950  if (loUserControl._SoloNoTraspasados) _FiltrosDocumentosImpresion.Add(new FiltroImpresion(TipoFiltroImpresion.Traspasados, false));
951  }
952  }
953 
955  // El metodo _Print() se utiliza el de la clase base sage.ew.docscompra.ewDocPrint que coincide tanto en propuesta compra, depósito y pedido de compra.
956  // El metodo _Show_Print() se utiliza el de la clase base sage.ew.docscompra.ewDocPrint que coincide tanto en albarán de compra, propuesta compra, depósito y pedido de compra.
958 
963  protected override String _GetReportName()
964  {
965  String lcReportName;
966 
967  if (_lSage50)
968  {
969  lcReportName = _GetReportNameByTemplates(TiposReport.Precom);
970  }
971  else
972  {
973  //PE-97654
974  lcReportName = _Empresa._Precom;
975 
976  if (!String.IsNullOrEmpty(_Idioma))
977  {
978  Idiomas loIdioma = new Idiomas();
979  loIdioma._Codigo = _Idioma;
980  loIdioma._Load();
981 
982  if (!String.IsNullOrEmpty(loIdioma._Precom)) lcReportName = loIdioma._Precom;
983  }
984  }
985 
986  //PE-97654 Si no existe, cojemos el definido en el documento
987  if (String.IsNullOrEmpty(lcReportName)) lcReportName = base._GetReportName();
988 
989  return lcReportName.Trim();
990  }
991 
992  #endregion METODOS
993  }
994 
999  {
1000 
1001  #region CONSTRUCTORES
1002 
1007  : base()
1008  {
1009  this._Configuracion_Inicial();
1010  }
1011 
1017  : base(toDocCompra)
1018  {
1019  _Configuracion_Inicial();
1020  }
1021 
1022  #endregion CONSTRUCTORES
1023 
1024  #region METODOS PRIVADOS
1025 
1026  private void _Configuracion_Inicial()
1027  {
1028  // Establecer opciones de impresión disponibles para propuesta de compra.
1029  //_Opciones_Impresion = new List<OpcionesImpresion>() { new OpcionesImpresion(0, "Imprimir factura de compra"), new OpcionesImpresion(1, "No imprimir")};
1030  _Opciones_Impresion = new List<OpcionesImpresion>() { new OpcionesImpresion(0, "Imprimir factura de compra")};
1031  }
1032  #endregion
1033 
1034  #region METODOS PUBLICOS
1035 
1037  // El metodo _Print() se utiliza el de la clase base sage.ew.docscompra.ewDocPrint que coincide tanto en propuesta compra, depósito y pedido de compra.
1038  // El metodo _Show_Print() se utiliza el de la clase base sage.ew.docscompra.ewDocPrint que coincide tanto en albarán de compra, propuesta compra, depósito y pedido de compra.
1040 
1041 
1046  protected override String _GetReportName()
1047  {
1048 
1049  String lcReportName;
1050 
1051  if (_lSage50)
1052  {
1053  lcReportName = _GetReportNameByTemplates(TiposReport.Factucom);
1054  }
1055  else
1056  {
1057  //PE-97654 Cojemos el definido por empresa
1058  lcReportName = _Empresa._Factucom;
1059 
1060  if (!String.IsNullOrEmpty(_Idioma))
1061  {
1062  Idiomas loIdioma = new Idiomas();
1063  loIdioma._Codigo = _Idioma;
1064  loIdioma._Load();
1065 
1066  if (!String.IsNullOrEmpty(loIdioma._Factucom)) lcReportName = loIdioma._Factucom;
1067  }
1068  }
1069 
1070  //PE-97654 Si no existe, cojemos el definido en el documento
1071  if (String.IsNullOrEmpty(lcReportName)) lcReportName = base._GetReportName();
1072 
1073  return lcReportName.Trim();
1074  }
1075 
1079  public override List<CampoOrdenacion> _CamposOrdenacion
1080  {
1081  get
1082  {
1083  if (_oCamposOrdenacion == null)
1084  {
1085  _oCamposOrdenacion = new List<CampoOrdenacion>();
1086  _oCamposOrdenacion.Add(new CampoOrdenacion());
1087  _oCamposOrdenacion.Add(new CampoOrdenacion("descripcion", "Definición"));
1088  _oCamposOrdenacion.Add(new CampoOrdenacion("ubica", "Localización"));
1089  }
1090  return _oCamposOrdenacion;
1091  }
1092  set
1093  {
1094  _oCamposOrdenacion = value;
1095  }
1096  }
1097 
1098  #endregion METODOS
1099  }
1100 }
bool _ImprimirSageReports
Obtiene o establece la utilización de Sage Reports como sistema de impresión para pedidos...
Definition: clsEmpresa.cs:2545
Clase de negocio para la impresión de albaranes de compra ewDocPrintAlbaran
override bool _Show_Print(int tnAbrirEn=1)
Método para mostrar la pantalla de impresión Se hace que sea la clase del Documento la que muestre el...
Filtro para la impresión multiple
Definition: IDocPrint.cs:147
Classe empresa basada en sage.ew.ewmante
Definition: clsEmpresa.cs:48
override void _ObtenerConfigurarionOpcionesImpresionMultiple()
Metodo para cargar la configuración del UserControl de multiple impresión
override bool _Documento_Traspasado_Totalmente()
PE-101217: Necesitamos llamar a esta función del pedido de compra para saber si el pedido está traspa...
static sage.ew.usuario.Usuario _This
Instancia estática del objeto usuario con los datos del usuario actual (wc_usuario) ...
Definition: clsUsuario.cs:341
Clase para la gestión de los templates
String _GetReportNameByTemplates(TiposReport toTipo)
Devuelve el fichero del report según las plantillas
PE-82357 Clase Idiomas
Definition: clsIdiomas.cs:17
string _Idioma
Nos indicará el código del idioma para la impresión
Definition: DocPrint.cs:320
Clase de negocio para realizar la impresión de un documento de compra (PE-94331)
string _GetPredet(ITipoReport toTipoReport)
Obtiene el predeterminado
virtual DocPrint _Clonar(DocPrint toDocPrint)
Copia la configuración al Docprint pasado
Definition: DocPrint.cs:905
override void _Configurar_obtencion_filtros(ref Dictionary< string, object > tdicParametrosReport)
Método auxiliar para la asignación de propiedades específicas de la clase DocPrintXXX Este diccionari...
ImpresionNormalMultiple
Indica si es una impresión normal o multiple
Definition: reports.cs:12
DocPrintCompra(IDocumentoImprimible toDocCompra)
Constructor con referencia al objeto principal del documento de compra
override String _GetReportName()
PE-96697 Sobreescribimos el metodo para devolver el nombre del report por idioma
override String _Codigo
Sobreescrivir _Codigo para tener en cuenta la empresa (parte de la clave) PE-84229 ...
Definition: clsIdiomas.cs:31
override string _Codigo
Codigo
DocPrintCompraPedido(IDocumentoImprimible toDocCompra)
Constructor a partir de doccompra
Diferentes opciones de impresion que cargaremos segun documento a imprimir (ventas: pedido...
Definition: IDocPrint.cs:105
static Empresa _NewEmpresa(string tcCodigoEmpresa)
Devueleve una nueva instancia de empresa Puede devolver el objeto EW_GLOBAL._EMPRESA ...
bool _Imprimir_Series
Nos indicará si hay que imprimir las series, caso de albaranes de compra
List< OpcionesImpresion > _Opciones_Impresion
Opiones de impresión
Definition: DocPrint.cs:559
DocPrintCompraAlbaran()
Constructor vacío de clase de negocio de impresión de albarán de compra ewDocPrintAlbaran ...
override void _Load()
Overrides _Load
Definition: clsIdiomas.cs:487
string _Factucom
_Factucom
Definition: clsIdiomas.cs:354
override void _ObtenerConfigurarionOpcionesImpresionMultiple()
Metodo para cargar la configuración del UserControl de multiple impresión
bool _IVA_Desglosado
Nos indicará si el documento se imprimirá con el IVA desglosado
Definition: DocPrint.cs:589
DocPrintCompraFactura(IDocumentoImprimible toDocCompra)
Constructor a partir de doccompra
TiposReport
Distintos tipos de reports con los que podemos operar
Definition: reports.cs:29
string _Albacom
_Albacom
Definition: clsIdiomas.cs:329
string _Depcom
_Depcom
Definition: clsIdiomas.cs:429
override void _ObtenerConfigurarionOpcionesImpresionMultiple()
Metodo para cargar la configuración del UserControl de multiple impresión
override String _GetReportName()
PE-96697 Sobreescribimos el metodo para devolver el nombre del report por idioma
DocPrintCompra _Clonar()
Método utilizado para clonar la clase de negocio ewDocPrint del documento de compra.
Clase de negocio para la impresión de depósitos de compra ewDocPrintDeposito
string _Pedicom
_Pedicom
Definition: clsIdiomas.cs:379
Clase de negocio para la impresión de propuesta de compra ewDocPrintPropuesta
override bool ValidatePrinting()
Valida que el report exista
override DocPrint _Clonar(DocPrint toDocPrint)
Copia la configuración al DocPrint pasado
Clase de negocio para la impresión de pedidos de compra ewDocPrintPedido
override void _ObtenerConfigurarionOpcionesImpresionMultiple()
Metodo para cargar la configuración del UserControl de multiple impresión
DocPrintCompraAlbaran(IDocumentoImprimible toDocCompra)
Constructor de clase de negocio de impresión de albarán de compra ewDocPrintAlbaran, a partir de documento de compra
override bool _Print()
Implementación del método para realizar la impresión de un documento
Clase documento de PEDIDOS DE COMPRA
DocPrintCompraPropuesta(IDocumentoImprimible toDocCompra)
Constructor a partir de doccompra
override String _GetReportName()
PE-96697 Sobreescribimos el metodo para devolver el nombre del report por idioma
override String _GetReportName()
PE-96697 Sobreescribimos el metodo para devolver el nombre del report por idioma
bool _Imprimir
Nos indicará si el documento se imprimirá
bool _Opcesp(string tcCodigo)
Método que nos devuelve "true" en caso que el usuario actual tenga acceso a la opción especial con có...
Definition: clsUsuario.cs:1521
virtual bool _PrintVFP()
Método para realizar la impresión de un documento mediante VFP (REPORT_VENTAS)
Clase de negocio para la impresión de propuesta de compra ewDocPrintPropuesta
Definición de la interficie que deben cumplir los documentos de cualquier tipo para poder interactuar...
Definition: IDocPrint.cs:376
void _Config_Inicial()
Método que establece una configuración inical del control
override String _GetReportName()
PE-96697 Sobreescribimos el metodo para devolver el nombre del report por idioma
virtual bool _Documento_Traspasado_Totalmente()
PE-101217
string _Precom
_Precom
Definition: clsIdiomas.cs:404
Clase para la impresión de documentos (del tipo que sea)
Definition: DocPrint.cs:33
DocPrintCompraDeposito(IDocumentoImprimible toDocCompra)
Constructor a partir de doccompra
Diferentes opciones de para la ordenación de los datos para la impresión
Definition: IDocPrint.cs:198
string _Fichero
Nombre del fichero
Definición de la interficie que deben cumplir los documentos que admitan la impresión en VFP ...
Definition: IDocPrint.cs:488
virtual bool _DivisaActiva
T105514 Indica si se trabaja con divisa
Definition: DocPrint.cs:512
Definición de la clase Usuario
Definition: clsUsuario.cs:113
TipoFiltroImpresion
Tipos de filtros para los documento en la impresión multiple
Definition: reports.cs:131