Last modified by admin on 2026/07/18 17:35

Show last authors
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());\\}\\}