public void initializeCodeParts(MInvoice invoice, MDocType docType) {
   if (Util.isEmpty(getClientCuit(), true)) {
     getLog().severe("No existe CUIT de la compañia");
     return;
   }
   // b) Código de tipo de comprobante.
   if (Util.isEmpty(docType.getdocsubtypecae(), true)) {
     getLog().severe("No existe codigo de tipo de documento electronico");
     return;
   }
   setDocTypeCodeFE(docType.getdocsubtypecae());
   // c) Punto de venta.
   if (Util.isEmpty(invoice.getPuntoDeVenta(), true)) {
     getLog().severe("No existe punto de venta");
     return;
   }
   Integer puntoDeVenta = invoice.getPuntoDeVenta();
   String ptoVta = String.valueOf(puntoDeVenta);
   // El punto de venta debe ir con 0 cuando es menor a 1000
   if (puntoDeVenta < 1000) {
     ptoVta = "0";
     // Si es menor a 100, hay que agregar otro 0
     if (puntoDeVenta < 100) {
       ptoVta += "0";
     }
     // Si es menor a 10, hay que agregar otro 0
     if (puntoDeVenta < 10) {
       ptoVta += "0";
     }
     ptoVta = ptoVta + String.valueOf(puntoDeVenta);
   }
   setPuntoDeVenta(ptoVta);
   // d) Código de Autorización de Impresión (C.A.I.).
   // En realidad es el CAE lo que se debe imprimir
   if (Util.isEmpty(invoice.getcae(), true)) {
     getLog().severe("No existe CAE");
     return;
   }
   setCae(invoice.getcae());
   // e) Fecha de vencimiento.
   // Fecha de Vencimiento del CAE - Formato AAAAMMDD
   if (invoice.getvtocae() == null) {
     getLog().severe("No existe fecha de vencimieto de cae");
     return;
   }
   setCaeDueDate(new SimpleDateFormat("yyyyMMdd").format(invoice.getvtocae()));
 }