Wiki source code of LYWS: Ejemplos de invocación retrievePdfFromDocument y generatePromotionCode
Last modified by admin on 2026/07/18 17:35
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | = LYWS: Ejemplos de invocación a operaciones //retrievePdfFromDocument// y //generatePromotionCode// {{id name="lyws-ejemplos-de-invocación-a-operaciones-retrievepdffromdocument-y-generatepromotioncode" /}}= | ||
| 2 | |||
| 3 | = Indice {{id name="indice" /}}= | ||
| 4 | |||
| 5 | {{toc/}} | ||
| 6 | |||
| 7 | = Prerrequisitos {{id name="prerrequisitos" /}}= | ||
| 8 | |||
| 9 | **IMPORTANTE**: Para poder invocar a estas operaciones, se requiere al menos las siguientes revisiones: | ||
| 10 | |||
| 11 | *. **LY CORE r2607**\\ | ||
| 12 | *. **LYWS r65** | ||
| 13 | |||
| 14 | = Operación retrievePdfFromDocument {{id name="operación-retrievepdffromdocument" /}}= | ||
| 15 | |||
| 16 | == Descripción de la operación {{id name="descripción-de-la-operación" /}}== | ||
| 17 | |||
| 18 | Recupera en formato PDF la impresion de un documento (factura, pedido, remito, RC) tal como se visualizaría en el visor de documentos de Libertya al imprimirlo. | ||
| 19 | |||
| 20 | Se utiliza la map de mainTable para especificar los argumentos del proceso, a fin de lograr versatilidad en caso de tener que incorporar nuevos parametros. Para este caso en particular se deben especificar los siguientes: | ||
| 21 | |||
| 22 | *. **tableName**: nombre de la tabla sobre la cual recuperar la impresion. Opciones validas: **C_Invoice** (Factura), **C_Order** (Pedido), **M_InOut** (Remito), **C_AllocationHdr** (Recibo de Cliente)\\ | ||
| 23 | *. **recordID**: identificador del registro sobre el cual recuperar la impresion | ||
| 24 | |||
| 25 | La operación retorna un string codificado en Base64 con la informacion del documento en la key con nombre **PDF** del resultBean. | ||
| 26 | |||
| 27 | == Ejemplo de invocación usando LYWS {{id name="ejemplo-de-invocación-usando-lyws" /}}== | ||
| 28 | |||
| 29 | ~/~/ Conexión al WS\\LibertyaWSServiceLocator locator = new LibertyaWSServiceLocator();\\~/~/ URL del servicio\\locator.setLibertyaWSEndpointAddress(“http:~/~/localhost:8080/axis/services/LibertyaWS”);\\~/~/ Recuperar el servicio\\ws.libertya.org.LibertyaWS lyws = locator.getLibertyaWS(); | ||
| 30 | |||
| 31 | ~/~/ Datos de acceso (usuario, password, compañía, organización)\\ParameterBean data = new ParameterBean(“AdminLibertya”, “AdminLibertya”, 1010016, 1010053);\\~/~/ Tabla sobre la cual recuperar el documento\\data.addColumnToMainTable(“**tableName**”, “C_Invoice”);\\~/~/ Identificador del registro a recuperar\\data.addColumnToMainTable(“**recordID**”, “1021812”); | ||
| 32 | |||
| 33 | ~/~/ Invocacion a operacion y procesamiento del resultado\\ResultBean result = lyws.processRetrievePdfFromDocument(data);\\if (!result.isError()) {\\~/~/ Recupero el documento bajo la key PDF y decodifico\\byte[] pdf = Base64.decodeBase64(result.getMainResult().get(“**PDF**”));\\FileOutputStream fos = new FileOutputStream(“/tmp/documentoObtenido.pdf”);\\fos.write(pdf);\\fos.close();\\} else\\System.out.println(result.getErrorMsg()); | ||
| 34 | |||
| 35 | == Ejemplo de invocación usando LYWSE {{id name="ejemplo-de-invocación-usando-lywse" /}}== | ||
| 36 | |||
| 37 | ~/~/ Conexión al WS\\LibertyaWSEServiceLocator locator = new LibertyaWSEServiceLocator();\\~/~/ URL del servicio\\locator.setLibertyaWSEEndpointAddress(http:~/~/localhost:8080/axis/services/LibertyaWSE");\\~/~/ Recuperar el servicio\\wse.libertya.org.LibertyaWSE lywse = locator.getLibertyaWSE(); | ||
| 38 | |||
| 39 | ~/~/ Datos de acceso (usuario, password, compañía, organización)\\Login aLogin = new Login();\\aLogin.setUserName(“AdminLibertya”);\\aLogin.setPassword(“AdminLibertya”);\\aLogin.setClientID(1010016);\\aLogin.setOrgID(1010053); | ||
| 40 | |||
| 41 | ~/~/ Tabla sobre la cual recuperar el documento\\SimpleMap tableName = new SimpleMap();\\tableName.setKey(“tableName”);\\tableName.setValue(“C_Invoice”);\\~/~/ Identificador del registro a recuperar\\SimpleMap documentID = new SimpleMap();\\documentID.setKey(“recordID”);\\documentID.setValue(“1021812”);\\~/~/ Cargar nomina de argumentos\\SimpleMap[] params = new SimpleMap[2];\\params[0] = tableName;\\params[1] = documentID; | ||
| 42 | |||
| 43 | ~/~/ Invocacion a operacion y procesamiento del resultado\\SimpleResult result = lywse.processRetrievePdfFromDocument(aLogin, params);\\if (!result.isError()) {\\~/~/ Recupero el documento bajo el unico map recibido (cuyo key es PDF)\\byte[] pdf = Base64.decodeBase64(result.getResultValues()[0].getValue());\\FileOutputStream fos = new FileOutputStream(“/tmp/documento.pdf”);\\fos.write(pdf);\\fos.close();\\} else\\System.out.println(result.getErrorMsg()); | ||
| 44 | |||
| 45 | = Operación generatePromotionCode {{id name="operación-generatepromotioncode" /}}= | ||
| 46 | |||
| 47 | == Descripción de la operación {{id name="descripción-de-la-operación-1" /}}== | ||
| 48 | |||
| 49 | Esta operación recibe dos argumentos (además de los de acceso): | ||
| 50 | |||
| 51 | *. **invoiceDoc**: numero de documento de la factura original con la que se generará el cupon promocional\\ | ||
| 52 | *. **customerDNI**: numero de documento del cliente indicado en la factura original | ||
| 53 | |||
| 54 | Retorna la información del cupón generado bajo las siguientes claves: | ||
| 55 | |||
| 56 | *. **Code**: Codigo de cupon\\ | ||
| 57 | *. **Promotion**: Nombre de la promocion\\ | ||
| 58 | *. **ValidFrom**: Valido desde\\ | ||
| 59 | *. **ValidTo**: Valido hasta (si fue definido)\\ | ||
| 60 | *. **Batch**: Numero de lote | ||
| 61 | |||
| 62 | == Ejemplo de invocación usando LYWS {{id name="ejemplo-de-invocación-usando-lyws-1" /}}== | ||
| 63 | |||
| 64 | ~/~/ Conexión al WS\\LibertyaWSServiceLocator locator = new LibertyaWSServiceLocator();\\~/~/ URL del servicio\\locator.setLibertyaWSEndpointAddress(“http:~/~/localhost:8080/axis/services/LibertyaWS”);\\~/~/ Recuperar el servicio\\ws.libertya.org.LibertyaWS lyws = locator.getLibertyaWS(); | ||
| 65 | |||
| 66 | ~/~/ Invocacion a operacion y procesamiento del resultado\\ParameterBean data = new ParameterBean(“AdminLibertya”, “AdminLibertya”, 1010016, 1010053);\\data.addColumnToMainTable(“**invoiceDoc**”, “B022300419521”);\\data.addColumnToMainTable(“**customerDNI**”, “31697955”);\\ResultBean result = lyws.processGeneratePromotionCode(data);\\if (!result.isError()) {\\System.out.println(result.getMainResult().get(“Code”));\\System.out.println(result.getMainResult().get(“Promotion”));\\System.out.println(result.getMainResult().get(“ValidFrom”));\\} | ||
| 67 | |||
| 68 | == Ejemplo de invocación usando LYWSE {{id name="ejemplo-de-invocación-usando-lywse-1" /}}== | ||
| 69 | |||
| 70 | ~/~/ Conexión al WS\\LibertyaWSEServiceLocator locator = new LibertyaWSEServiceLocator();\\~/~/ URL del servicio\\locator.setLibertyaWSEEndpointAddress(http:~/~/localhost:8080/axis/services/LibertyaWSE");\\~/~/ Recuperar el servicio\\wse.libertya.org.LibertyaWSE lywse = locator.getLibertyaWSE(); | ||
| 71 | |||
| 72 | ~/~/ Datos de acceso (usuario, password, compañía, organización)\\Login aLogin = new Login();\\aLogin.setUserName(“AdminLibertya”);\\aLogin.setPassword(“AdminLibertya”);\\aLogin.setClientID(1010016);\\aLogin.setOrgID(1010053); | ||
| 73 | |||
| 74 | ~/~/ Numero de documento de la factura original\\SimpleMap invoiceDoc = new SimpleMap();\\invoiceDoc.setKey(“invoiceDoc”);\\invoiceDoc.setValue(“B022300419521”);\\~/~/ DNI del cliente de la factura original\\SimpleMap customerDNI = new SimpleMap();\\customerDNI.setKey(“customerDNI”);\\customerDNI.setValue(“31697955”);\\~/~/ Cargar nomina de argumentos\\SimpleMap[] params = new SimpleMap[2];\\params[0] = invoiceDoc;\\params[1] = customerDNI; | ||
| 75 | |||
| 76 | ~/~/ Invocacion a operacion y procesamiento del resultado\\SimpleResult result = lywse.processGeneratePromotionCode(aLogin, params);\\if (result.isError()) {\\System.out.println(result.getErrorMsg());\\} else {\\~/~/ Para cada Key, imprimo además su valor\\for (SimpleMap aMap : result.getResultValues()) {\\System.out.println(aMap.getKey() + “:” + aMap.getValue());\\}\\} |