| | Discusiones Técnico Emular comporta... | |
|
| | |
Emular comportamiento Lookup con RunModal Posted: 16 ene 12 17:23 (N/A) |
| | |
Buenas tardes, pretendo modificar la funcion LookupShipToAddr de Codeunit 7171 (Sales Info-Pane Management).
Pretendo mejorar su comportamiento y acercarlo más al LookUp. O sea. Un cliente tiene varias direcciones de envío.
Al invocar a la función, me gustaría que el cursor apareciera en el registro seleccionado en la Sales Header correspondiente.
if shiptoaddr.get(salesheader."Ship-to Code") then myform.setrecord(shiptoaddr); myForm.LOOKUPMODE(TRUE); IF myForm.RUNMODAL = ACTION::LookupOK THEN BEGIN myform.getrecord(newshiptoaddr); VALIDATE("Ship-to Code",newshiptoaddr.Code); MODIFY(TRUE); MESSAGE(Text000); END;
Este código funciona bien para formularios de registro único (tipo CARD) pero soy incapaz de hacerlo en este. Saludos y gracias anticipadas. |
| |
| | |
Re: Emular comportamiento Lookup con RunModal Posted: 17 ene 12 12:52 (Spain) |
| | |
Hola,
Antes de responder, quiero entender bien que es lo que pides. Quieres que cuando aparezca el listado, quede el foco en la direccion de envío que hay en la cabecera indicada previamente, si la hubiera?
Disculpa, pero creo que no entiendo bien a donde quieres llegar.
Saludos. |
| |
| | |
Re: Emular comportamiento Lookup con RunModal Posted: 17 ene 12 13:23 (N/A) |
| | |
Hola,
Tras re-leer varias veces el post, me contesto a mi mismo ;) creo que lo que necesitas es esto:
WITH SalesHeader DO BEGIN ShipToAddr.SETRANGE("Customer No.","Sell-to Customer No."); IF ShipToAddr.FINDFIRST THEN BEGIN IF ((ShipToAddr.Code<>"Ship-to Code") AND ("Ship-to Code"<>''))THEN REPEAT ShipToAddr.NEXT(1); UNTIL (ShipToAddr.Code="Ship-to Code"); myform.SETRECORD(ShipToAddr); myform.SETTABLEVIEW(ShipToAddr); myform.LOOKUPMODE(TRUE); IF myform.RUNMODAL = ACTION::LookupOK THEN BEGIN myform.GETRECORD(ShipToAddr); VALIDATE("Ship-to Code",ShipToAddr.Code); MODIFY(TRUE); MESSAGE(Text000); END; END; END;
Me explico, la clave del asunto es que antes de abrir hay que hacer un bucle para comprobar que dirección de envío de las disponibles para el cliente coincide con la cabecera de venta. Por otro lado, creo que te faltaba el SETTABLEVIEW del myform, para que te copie los filtros.
Espero que te sirva de ayuda.
Saludos.
|
| |
| | Discusiones Técnico Emular comporta... | |
| | | |
| | | |
| | | |