Ricevimento merci, sospensione e giacenza di magazzino

Nei giorni scorsi un cliente che utilizza la logistica sul palmare, ha sottoposto la seguente problematica inerente il ricevimento merci, sospensione e giacenza di magazzino :

“In fase di ricevimento merci da ordine al fornitore, quando si sospende l’operazione di riscontro, anche se il ddt risulta sospeso sul palmare, l’ordine risulta totalmente caricato a magazzino.
Spesso, però, non tutta la merce ordinata viene spedita, e in questo caso, se l’operatore è costretto a sospendere il riscontro, tutta la merce risulta disponibile fino a quando non viene completato il riscontro e gestiti i residui. Ciò comporta notevoli difficoltà agli addetti alle vendite che più volte forniscono ai clienti informazioni errate su disponibilità e tempi di consegna”.

Nel tentativo di dare una risposta in tempi brevi, ho girato la problematica all’assistenza che mi ha così risposto:

“Salve Massimiliano, confermo che finché non viene concluso il ricevimento merce, l’ordine di partenza viene considerato evaso (in quanto il ricevimento lavora sul ddt ricevuto che viene creato), solo alla sua conclusione vengono aggiornati il ddt e la qta evasa sull’ordine. Non è presente l’aggiornamento della quantità evasa in tempo reale sull’ordine, ma si può avere una consultazione dello stato del ricevimento in monitor picking”

Per poi concludere così:

“Gentile Partner, la funzionalità da lei richiesta non è prevista dalle nostre procedure software.
Se, a suo parere, tale funzionalità riveste particolare importanza e può rappresentare un plus per il prodotto……ecc. ecc.”

Preso atto della risposta ho cercato un modo per risolvere il problema buttando giù qualche riga di codice.

Ovviamente ero convinto che non esistessero opzioni di alcun tipo per risolvere il problema.

Mentre leggevo il codice per capire dove poter intervenire, mi sono imbattuto in una funzione nella BERCRICM.

La funzione richiamava delle opzioni di registro, una che modifica il tipo b/f al momento del riscontro, e l’altra che lo reimposta alla chiusura.

Le opzioni in questione sono “TipoBfGenerazioneDDT” e “TipoBfCompletamentoDDT”

Ho pensato di creare un tipo bolla/fattura “neutro”, cioè che non facesse movimenti di magazzino, e di assegnarlo all’opzione TipoBfGenerazioneDDT, mentre all’opzione TipoBfCompletamentoDDT ho assegnato il tipo legato al carico per acquisto. A questo punto, però, mi sono chiesto: perché l’assistenza ha affermato che la funzionalità richiesta non è prevista dalle procedure software?

Così ho posto la mia attenzione sulle altre opzioni di registro ed ho trovato quest’altra “TipoBfCompletamentoRipristinaOrdine”. Questa opzione l’ho utilizzata al posto della “TipoBfCompletamentoDDT” in modo da ripristinare il tipo bolla fattura originale presente sull’ordine.

Ricevimento merci opzioni registro BSRMRICM

Assegnate le opzioni, ho cominciato a testare la procedura e sembrava andare tutto alla perfezione.

  • Al momento di iniziare il riscontro, si è generato un ddt con tipo b/f neutra.
  • Nel momento in cui il riscontro si completava, il tipo b/f assumeva il valore assegnato all’ordine fornitore.

Il problema è sorto quando si è creato un ordine che prevedeva il reverse charge.

In quel caso il tipo b/f doveva essere di tipo reverse ma impostandolo in quel modo o come misto, quando l’acquisto era normale si aveva il massaggio bloccante dell’assenza di righe con iva in reverse.

A quel punto ho supposto che la risposta dell’assistenza avesse tenuto conto di questa situazione.

Continuavo però a non capire la presenza delle altre opzioni.

Rimettendo mano al codice è stata analizzata la dll BNMGDOCU, cercando il punto in cui il controllo delle righe in reverse veniva fatto per poterlo bypassare.

Il controllo è all’interno della funzione “TestPreSalvaSTD” dove, con mio stupore, ho scoperto che il controllo è sottoposto ad una opzione in BNVEBOLL, non presente nell’elenco delle opzioni.

Ricevimento merci TestPreSalvaSTD

L’opzione in questione è “NoMsgAssenzaCodiciIvaReverseCharge”, che impostata a -1 salta il controllo della presenza delle righe in reverse

Ricevimento merci opzioni registro BNVEBOLL

In questo modo, senza intervenire sul codice, ma utilizzando solo le opzioni esistenti, si è messo in condizione il cliente di lavorare senza problemi in quanto se il fornitore è in reverse, questo è dichiarato già dall’ordine, senza correre il rischio di generare buchi nella numerazione del registro iva.