kommissionierungslaeufeanbieten
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| kommissionierungslaeufeanbieten [2023/02/08 15:27] – [Implementierung] kalaschnikow | kommissionierungslaeufeanbieten [2023/02/16 13:15] (current) – [Tests] kalaschnikow | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Kommissionierungsläufe Anbieten ====== | ||
| + | |||
| + | Auf dem mobilen Client sollen abhängig von dem jeweiligen Mitarbeiter bei der Kommissionierung nur die Kommissionierungsläufe angeboten werden, die der Mitarbeiter machen darf. | ||
| + | |||
| + | Client mobile should offer only such " | ||
| + | |||
| + | |||
| + | |||
| + | ===== Implementierung ===== | ||
| + | |||
| + | Add a new method to the service which should call the XCI-Event. | ||
| + | |||
| + | The method name is '' | ||
| + | |||
| + | This method is called in '' | ||
| + | |||
| + | In the '' | ||
| + | < | ||
| + | svXci.executeCodeWithCache(" | ||
| + | </ | ||
| + | So the real functionality is programmed in the XCI-Event : '' | ||
| + | |||
| + | |||
| + | The following places are affected: | ||
| + | |||
| + | * appBoInv.efcbl | ||
| + | * declare the new method '' | ||
| + | * appSstDoc.efcbl | ||
| + | * declare the new method '' | ||
| + | * SvDcInvPostingEditImpl.groovy | ||
| + | * the new method '' | ||
| + | * change some details in the method '' | ||
| + | * it should now call our new method '' | ||
| + | * SoLiDocForCooRepositoryImpl.groovy | ||
| + | * implement method '' | ||
| + | |||
| + | |||
| + | ==== XCI-Event ==== | ||
| + | |||
| + | Hier werden die offenen und ungelöschten '' | ||
| + | Gefiltert nach Personalnummer. | ||
| + | |||
| + | To see the XCI-Event implementation start the Java-Client and open " | ||
| + | |||
| + | This is the current version from 16.02.2023 (edited by Klaus): | ||
| + | |||
| + | < | ||
| + | import de.effectivecompany.app.sst.SoLiDocForCoo | ||
| + | import de.effectivecompany.app.inv.DcLiDocCooForPosting | ||
| + | import de.effectivecompany.base.datatypes.EFCList | ||
| + | import de.effectivecompany.base.datatypes.EFCString | ||
| + | import de.effectivecompany.util.StringTools | ||
| + | |||
| + | String | ||
| + | DcLiDocCooForPosting dcDoc | ||
| + | EFCList< | ||
| + | EFCString persNum | ||
| + | |||
| + | // BEGIN get persNum of current user | ||
| + | persNum = context.svSysUser.getMdSysUsrBas()? | ||
| + | // END | ||
| + | |||
| + | if (persNum? | ||
| + | boList = context.soLiDocForCooRepository.getListDocForCooForPersnum(company, | ||
| + | |||
| + | boList.each { SoLiDocForCoo soLiDoc -> | ||
| + | dcDoc = new DcLiDocCooForPosting() | ||
| + | dcDoc.map(soLiDoc) | ||
| + | helptext = soLiDoc.dockey.data + soLiDoc.docnum.data + " - " + soLiDoc.info_bupmatchcode | ||
| + | if (soLiDoc.v_stextfromdocdet.data) { | ||
| + | helptext = helptext + " - " + soLiDoc.v_stextfromdocdet.data | ||
| + | } | ||
| + | helptext = StringTools.left(helptext, | ||
| + | dcDoc.setStext(helptext) | ||
| + | dcDoc.setCoo_docsubitem(0) | ||
| + | if (soLiDoc.v_refdocitemfromdocdet.data) { | ||
| + | dcDoc.setCoo_docsubitem(soLiDoc.v_refdocitemfromdocdet) | ||
| + | } | ||
| + | dcLiDocCooForPostingList.add(dcDoc) | ||
| + | } | ||
| + | } | ||
| + | |||
| + | return dcLiDocCooForPostingList | ||
| + | </ | ||
| + | |||
| + | Backup: A copy of it I've saved in the method '' | ||
| + | |||
| + | |||
| + | |||
| + | ==== Tests ==== | ||
| + | |||
| + | === Test data === | ||
| + | //Lokal//: Use data record for '' | ||
| + | |||
| + | // | ||
| + | |||
| + | |||
| + | === Tests to do === | ||
| + | |||
| + | * The user should receive only such entries, which are configured for him | ||
| + | * User ' | ||
| + | * '' | ||
| + | * '' | ||
| + | * If the user enter some data in the field '' | ||
| + | |||
| + | * The user ' | ||
| + | |||
| + | ==== Misc ==== | ||
| + | Beispiel SoLiDocRepository verwenden (aus dem XCI-Event '' | ||
| + | |||
| + | < | ||
| + | SoLiDocRepository soLiDocRepository = SpringHelper.getService(SoLiDocRepository) | ||
| + | ... | ||
| + | ex = new DBV_sst_docEx() | ||
| + | ex.createCriteria() | ||
| + | .andCompanyEqualTo(boDoc.company.company.data) | ||
| + | .andExtpcknumEqualTo(docItem.stext.data) | ||
| + | .andDoctypeBetween(OptionTools.DOCTYPE_SAL_DLN_MIN, | ||
| + | .andIsdeletedEqualTo(false) | ||
| + | dlnList = soLiDocRepository.getListDocByExample(ex) | ||
| + | </ | ||
| + | |||
| + | '' | ||
| + | |||
| + | DocDetType für Kommissionierung Belegdetails: | ||
