Difference between revisions of "Troubleshooting picking ricevimenti da creazione fattura acquisto"

From SageDev KB
Jump to navigation Jump to search
 
Line 8: Line 8:
 
in SUBPIHA, dove viene impostato FILGAUSUP, troviamo:
 
in SUBPIHA, dove viene impostato FILGAUSUP, troviamo:
  
<nowiki>
+
<code>
$OUVRE_BOITE
+
$OUVRE_BOITE
#-------------------------------#
+
#-------------------------------#
# Après ouverture de la fenêtre #
+
# Après ouverture de la fenêtre #
#-------------------------------#
+
#-------------------------------#
#----- Chargement des noms des Currbox de chaque tiroir -----#
+
#----- Chargement des noms des Currbox de chaque tiroir -----#
Global Char GBOXPI2(10), GBOXPO1(10), GBOXPT1(10), GBOXPI1(10), GBOXPN1(10), GBOXSI2(10), GBOXLO1(10)
+
Global Char GBOXPI2(10), GBOXPO1(10), GBOXPT1(10), GBOXPI1(10), GBOXPN1(10), GBOXSI2(10), GBOXLO1(10)
GBOXPI2="GAU_CHE"+num$(find("PI2",OBJLIS(1..8))) : # Liste des factures par fournisseur
+
GBOXPI2="GAU_CHE"+num$(find("PI2",OBJLIS(1..8))) : # Liste des factures par fournisseur
GBOXPO1="GAU_CHE"+num$(find("PO1",OBJLIS(1..8))) : # Picking des commandes
+
GBOXPO1="GAU_CHE"+num$(find("PO1",OBJLIS(1..8))) : # Picking des commandes
GBOXPT1="GAU_CHE"+num$(find("PT1",OBJLIS(1..8))) : # Picking des réceptions
+
GBOXPT1="GAU_CHE"+num$(find("PT1",OBJLIS(1..8))) : # Picking des réceptions
 
+
 
+
[...]
+
[...]
 
+
 
+
$FILGAUCHE
+
$FILGAUCHE
#----------------------------------------------#
+
#----------------------------------------------#
# Filtrer les enregistrements listes de gauche #
+
# Filtrer les enregistrements listes de gauche #
#----------------------------------------------#
+
#----------------------------------------------#
 
+
[...]
+
[...]
 
+
 
   Elsif currbox=GBOXPT1 : # Picking des réceptions
 
   Elsif currbox=GBOXPT1 : # Picking des réceptions
 
     If [M:PIH0]PIHTYP<>1
 
     If [M:PIH0]PIHTYP<>1
Line 38: Line 38:
 
       If [M:PCIW]WNUMRCP<>"" FILGAUSUP(0)+=" & pat([F:PTD]PTHNUM,[M:PCIW]WNUMRCP)<>0" : Endif
 
       If [M:PCIW]WNUMRCP<>"" FILGAUSUP(0)+=" & pat([F:PTD]PTHNUM,[M:PCIW]WNUMRCP)<>0" : Endif
 
       If [M:PCIW]WNUMCDE<>"" FILGAUSUP(0)+=" & pat([F:PTD]POHNUM,[M:PCIW]WNUMCDE)<>0" : Endif
 
       If [M:PCIW]WNUMCDE<>"" FILGAUSUP(0)+=" & pat([F:PTD]POHNUM,[M:PCIW]WNUMCDE)<>0" : Endif
    #FILGAUSUP(0)-="& ([F:PTD]QTYPUU>[F:PTD]INVQTYPUU | [F:PTD]QTYSTU>[F:PTD]INVQTYSTU)"
 
 
       FILGAUSUP(0)-="& [F:PTD]LINTYP<3"
 
       FILGAUSUP(0)-="& [F:PTD]LINTYP<3"
 
       If [M:PCIW]WBPSNDE<>""
 
       If [M:PCIW]WBPSNDE<>""
Line 44: Line 43:
 
       Endif
 
       Endif
 
       FILGAUSUP(1)="& [F:FCY]LEGCPY=GSOCIETE"
 
       FILGAUSUP(1)="& [F:FCY]LEGCPY=GSOCIETE"
      #VPO 21/04/11 73382 ajout ctl DATORI aussi avec date BL
+
       If GCTLDATORI=2  FILGAUSUP(1)-="& (([F:PTH]NDEDAT=[0/0/0] & [F:PTH]RCPDAT<=[M:PIH0]ACCDAT)|([F:PTH]NDEDAT<>[0/0/0] & min([F:PTH]NDEDAT,[F:PTH]RCPDAT)<=[M:PIH0]ACCDAT))"  
      #If GCTLDATORI=2  FILGAUSUP(1)-="& [F:PTH]RCPDAT<=[M:PIH0]ACCDAT" : Endif
+
       Endif
       If GCTLDATORI=2  FILGAUSUP(1)-="& (([F:PTH]NDEDAT=[0/0/0] & [F:PTH]RCPDAT<=[M:PIH0]ACCDAT)|([F:PTH]NDEDAT<>[0/0/0] & min([F:PTH]NDEDAT,[F:PTH]RCPDAT)<=[M:PIH0]ACCDAT))" : Endif
 
       # Issue 95534 - 2013-12-31 by SR : Réceptions Inter société sont toujours facurables
 
      #FILGAUSUP(1)-="& ([F:PTH]BETFCY<>2 | ([F:PTH]BETCPY=2 & ([F:PTD]VERFLG=2 | [F:PTD]SDHNUM='')))"
 
 
       FILGAUSUP(1)-="& ([F:PTH]BETFCY<>2  | [F:PTH]BETCPY=2)"
 
       FILGAUSUP(1)-="& ([F:PTH]BETFCY<>2  | [F:PTH]BETCPY=2)"
 
       GBIDC3="" : Call FILROLE("PTH",GBIDC3) From SUBARL
 
       GBIDC3="" : Call FILROLE("PTH",GBIDC3) From SUBARL
      # Issue 70507 - 2012-01-18 by MUARN : qté facturable non nulle
 
 
       If GPIHQTYRET = 1
 
       If GPIHQTYRET = 1
 
         FILGAUSUP(3) ="& [F:PTD]RTNQTYPUU<[F:PTD]QTYPUU"
 
         FILGAUSUP(3) ="& [F:PTD]RTNQTYPUU<[F:PTD]QTYPUU"
Line 59: Line 54:
 
       Endif
 
       Endif
 
     Endif
 
     Endif
</nowiki>
+
</code>
  
 
Andando in Situazione riga:
 
Andando in Situazione riga:
Line 65: Line 60:
 
[[File:PTH Situazione riga.gif|PTH Situazione riga.gif]]
 
[[File:PTH Situazione riga.gif|PTH Situazione riga.gif]]
  
si pussono vedere le qta fatturate; se il totale supera la qta ricevuta ovviamente la riga non comparirà perchè è già stato fatturato tutto.
+
si possono vedere le qta fatturate; se il totale supera la qta ricevuta ovviamente la riga non comparirà perchè è già stato fatturato tutto.

Latest revision as of 11:40, 16 March 2021

Quando si crea una fattura di acquisto si può andare in picking dal browser "Selezione ricevimenti" (oggetto PT1)

Il browser "Selezione ricevimenti" è gestito dai sorgente SUBPIH (standard) e da SPVPIH (verticale italiano). La prima condizione di filtro è che la riga di ricevimento NON sia fatturata (non completamente fatturata) PRECEIPTD.LININVFLG = 1.

FILGAUSUP.jpg

in SUBPIHA, dove viene impostato FILGAUSUP, troviamo:

$OUVRE_BOITE
#-------------------------------#
# Après ouverture de la fenêtre #
#-------------------------------#
#----- Chargement des noms des Currbox de chaque tiroir -----#
Global Char GBOXPI2(10), GBOXPO1(10), GBOXPT1(10), GBOXPI1(10), GBOXPN1(10), GBOXSI2(10), GBOXLO1(10)
GBOXPI2="GAU_CHE"+num$(find("PI2",OBJLIS(1..8))) : # Liste des factures par fournisseur
GBOXPO1="GAU_CHE"+num$(find("PO1",OBJLIS(1..8))) : # Picking des commandes
GBOXPT1="GAU_CHE"+num$(find("PT1",OBJLIS(1..8))) : # Picking des réceptions


[...]


$FILGAUCHE
#----------------------------------------------#
# Filtrer les enregistrements listes de gauche #
#----------------------------------------------#  

[...]

 Elsif currbox=GBOXPT1 : # Picking des réceptions
   If [M:PIH0]PIHTYP<>1
     FILGAUSUP(0) ="[F:PTD]LININVFLG=9" : FILGAUSUP(1)=""
   Else
     FILGAUSUP(0) ="[F:PTD]LININVFLG=1 & [F:PTD]BPSINV=[M:PIH0]BPR"
     If [M:PCIW]WITMREF<>"" FILGAUSUP(0)+=" & pat([F:PTD]ITMREF,[M:PCIW]WITMREF)<>0" : Endif
     If [M:PCIW]WNUMRCP<>"" FILGAUSUP(0)+=" & pat([F:PTD]PTHNUM,[M:PCIW]WNUMRCP)<>0" : Endif
     If [M:PCIW]WNUMCDE<>"" FILGAUSUP(0)+=" & pat([F:PTD]POHNUM,[M:PCIW]WNUMCDE)<>0" : Endif
     FILGAUSUP(0)-="& [F:PTD]LINTYP<3"
     If [M:PCIW]WBPSNDE<>""
       FILGAUSUP(0)+=" & pat([F:PTH]BPSNDE,[M:PCIW]WBPSNDE)<>0"
     Endif
     FILGAUSUP(1)="& [F:FCY]LEGCPY=GSOCIETE"
     If GCTLDATORI=2  FILGAUSUP(1)-="& (([F:PTH]NDEDAT=[0/0/0] & [F:PTH]RCPDAT<=[M:PIH0]ACCDAT)|([F:PTH]NDEDAT<>[0/0/0] & min([F:PTH]NDEDAT,[F:PTH]RCPDAT)<=[M:PIH0]ACCDAT))" 
     Endif
     FILGAUSUP(1)-="& ([F:PTH]BETFCY<>2  | [F:PTH]BETCPY=2)"
     GBIDC3="" : Call FILROLE("PTH",GBIDC3) From SUBARL
     If GPIHQTYRET = 1
       FILGAUSUP(3) ="& [F:PTD]RTNQTYPUU<[F:PTD]QTYPUU"
       FILGAUSUP(3) -="& "+GBIDC3
     Else
       FILGAUSUP(3) ="& "+GBIDC3
     Endif
   Endif

Andando in Situazione riga:

PTH Situazione riga.gif

si possono vedere le qta fatturate; se il totale supera la qta ricevuta ovviamente la riga non comparirà perchè è già stato fatturato tutto.