Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ACRFIVDX

ACRFIVDX.m

Go to the documentation of this file.
  1. ACRFIVDX ;IHS/OIRM/DSD/THL,AEF - INVOICE DISPLAY; [ 03/01/2005 1:15 PM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**3,16**;NOV 05, 2001
  1. ;;ROUTINE TO CONTROL DISPLAY, SELECTION, ENTRY OF INVOICE NUMBERS
  1. EN Q
  1. DISPLAY ;EP;TO DISPLAY INVOICES FOR A DOCUMENT/RECEIVING REPORT
  1. Q:$G(ACRDOC)=""
  1. I '$D(^ACRINV("G",ACRDOC)) D D A1
  1. .W !!,"NO Invoices currently on file for DOCUMENT NO.: ",ACRDOC
  1. K ^TMP("ACRINV",$J)
  1. N ACR,ACRJ,ACRN
  1. S (ACR,ACRJ)=0
  1. F S ACR=$O(^ACRINV("G",ACRDOC,ACR)) Q:'ACR S X=$G(^ACRINV(ACR,0)) I $P(X,U)]"" S ACRJ=ACRJ+1,^TMP("ACRINV",$J,"INV",$P(X,U),ACRJ)=ACR_U_$P(X,U)_U_$P(X,U,4)
  1. S ACRMAX=ACRJ
  1. S ACRN=""
  1. F S ACRN=$O(^TMP("ACRINV",$J,"INV",ACRN)) Q:ACRN="" D
  1. .S ACRJ=0
  1. .F S ACRJ=$O(^TMP("ACRINV",$J,"INV",ACRN,ACRJ)) Q:'ACRJ S ^TMP("ACRINV",$J,ACRJ)=^TMP("ACRINV",$J,"INV",ACRN,ACRJ)
  1. DISP ;EP;TO DISPLAY INVOICE INVO
  1. D DH
  1. S ACRJ=0
  1. F S ACRJ=$O(^TMP("ACRINV",$J,ACRJ)) Q:'ACRJ!$D(ACRQUIT) D
  1. .N X,Y
  1. .S X=^TMP("ACRINV",$J,ACRJ)
  1. .S Y=$P(X,U,3)
  1. .X ^DD("DD")
  1. .I ACRMAX>20 D
  1. ..W:ACRJ#2 !,ACRJ,?5,$P(X,U,2),?27,Y
  1. ..W:ACRJ#2=0 ?40,ACRJ,?45,$P(X,U,2),?67,Y
  1. ..I ACRJ#2=0,IOSL-4<$Y D PAUSE^ACRFWARN Q:$D(ACRQUIT) D DH
  1. .I ACRMAX<21 D
  1. ..W !?5,ACRJ,?10,$P(X,U,2),?32,Y
  1. ..I IOSL-4<$Y D PAUSE^ACRFWARN Q:$D(ACRQUIT) D DH
  1. K ACRQUIT,ACROUT
  1. Q
  1. DH W @IOF
  1. DH1 W !?10,"INVOICES FOR DOCUMENT NO.: ",ACRDOC
  1. I ACRMAX>20 D
  1. .W !!,"NO.",?5,"INVOICE NUMBER",?27,"DATE REC'D",?40,"NO.",?45,"INVOICE NUMBER",?67,"DATE REC'D"
  1. .W !,"---",?5,"--------------------",?27,"-----------",?40,"---",?45,"--------------------",?67,"-----------"
  1. I ACRMAX<21 D
  1. .W !!?5,"NO.",?10,"INVOICE NUMBER",?32,"DATE RECEIVED"
  1. .W !?5,"---",?10,"--------------------",?32,"-------------"
  1. Q
  1. EDIT ;EP;TO ADD OR EDIT INVOICE NUMBERS
  1. Q:'$D(ACRVDA)
  1. F D EDIT1 Q:$D(ACRQUIT)!$D(ACROUT)
  1. ESET Q:'$G(ACRMAX)!$D(ACROUT)
  1. I ACRMAX=1 S Y=1 D ES1 Q
  1. S DIR(0)="LOA^1:"_$G(ACRMAX)
  1. ;S DIR("A",1)="Select ALL INVOICES to include in" ;ACR*2.1*16.06 IM15505
  1. ;S DIR("A")="PAID FOR/ACH ADDENDUM for this payment: " ;ACR*2.1*16.06 IM15505
  1. S DIR("A",1)="Select the INVOICE to be included in the" ;ACR*2.1*16.06 IM15505
  1. S DIR("A")="PAID FOR/ACH ADDENDUM field for this payment: " ;ACR*2.1*16.06 IM15505
  1. W !
  1. D DIR^ACRFDIC
  1. I Y<1 D G ESET
  1. .;W !!,"You must indicate ALL invoices which are included in this" ;ACR*2.1*16.06 IM15505
  1. .;W !,"payment so the system knows which to include in the PAID FOR" ;ACR*2.1*16.06 IM15505
  1. .;W !,"field or ACH ADDENDUM." ;ACR*2.1*16.06 IM15505
  1. .W !!,"You must indicate the invoice that will be included in this" ;ACR*2.1*16.06 IM15505
  1. .W !,"payment so the system knows which to include in the PAID FOR" ;ACR*2.1*16.06 IM15505
  1. .W !,"or ACH ADDENDUM field." ;ACR*2.1*16.06 IM15505
  1. S ACRY=","_ACRY
  1. S X=0
  1. F S X=$O(^TMP("ACRINV",$J,X)) Q:'X I ACRY'[(","_X_",") K ^TMP("ACRINV",$J,X)
  1. ESET1 Q:$D(ACROUT)
  1. I $P(ACRY,",",2),'$P(ACRY,",",3) S Y=$P(ACRY,",",2) I $G(^TMP("ACRINV",$J,+Y)) D ES1 Q
  1. S DIR(0)="NOA^1:"_$G(ACRMAX)
  1. S DIR("A",1)="Select the INVOICE to use for"
  1. S DIR("A")="calculation of payment due dates: "
  1. S DIR("B")=$P(ACRY,",",2)
  1. W !
  1. D DIR^ACRFDIC
  1. I Y<1!'$D(^TMP("ACRINV",$J,+Y)) D G ESET1
  1. .W !!,"You must indicate which is the PRIMARY Invoice so the system"
  1. .W !,"will know which dates to use to calculate when payment is due."
  1. ES1 S ACRINVDA=+$G(^TMP("ACRINV",$J,Y))
  1. D SETDOC:ACRINVDA
  1. EEXIT K ACRQUIT,ACRINVDA,ACRMAX
  1. Q
  1. EDIT1 D DISPLAY
  1. K ACRQUIT
  1. I '$D(^ACRINV("G",ACRDOC)) S DIR(0)="SO^2:ADD Invoice"
  1. E S DIR(0)="SO^1:EDIT Invoice;2:ADD Invoice;3:REMOVE Invoice"
  1. S DIR("A")="Which one"
  1. W !
  1. D DIR^ACRFDIC
  1. I +Y<1 S ACRQUIT="" Q
  1. I Y=1 D E1 S Y=1
  1. I Y=2 D A1 S Y=2
  1. I Y=3 D D1 S Y=3
  1. Q
  1. E1 ;SELECT AND EDIT INVOICE
  1. Q:'$G(ACRMAX)
  1. S DIR(0)="NO^1:"_ACRMAX
  1. S DIR("A")="Edit which one"
  1. W !
  1. D DIR^ACRFDIC
  1. I +Y<1!$D(ACRQUIT)!'$G(^TMP("ACRINV",$J,+Y)) K ACRQUIT Q
  1. S (ACRINVDA,DA)=+^TMP("ACRINV",$J,Y)
  1. E11 S DIE="^ACRINV("
  1. S DR="[ACR INVOICE EDIT]"
  1. D DIE^ACRFDIC
  1. Q
  1. A1 ;ADD AN INVOICE
  1. S DIR(0)="FO^1:30"
  1. S DIR("A")="Invoice Number"
  1. I $G(ACRREF)=618,$G(ACRINVX)]"" S DIR("B")=ACRINVX K ACRINVX
  1. W !
  1. D DIR^ACRFDIC
  1. I $D(ACROUT)!(X["^")!(X="")!(Y="")!($E(Y)=" ") D G A1 ;ACR*2.1*3.29
  1. .W !!,"Invoice number is required."
  1. .K ACROUT,ACRQUIT
  1. S ACRINV=Y
  1. I $G(ACRREF)'=618,$D(^ACRINV("B",Y)) D DUP I $D(ACRQUIT) K ACRQUIT Q
  1. S DIC="^ACRINV("
  1. S DIC(0)="L"
  1. S DIC("DR")=".06////"_ACRVDA_";.07////"_ACRDOC_";.08////"_$G(ACRFYDA)_";.09////"_$G(ACRBATDA)_";.1////"_$G(ACRSEQDA)
  1. D FILE^ACRFDIC
  1. S (ACRINVDA,DA)=+Y
  1. D E11
  1. Q
  1. DUP ;INDICATE DUPLICATE INVOICE
  1. S ACRINVDA=$O(^ACRINV("B",Y,0))
  1. Q:'ACRINVDA
  1. W !!,"INVOICE NUMBER ",Y," is already on file for"
  1. W !,"DOCUMENT NUMBER: ",$P($G(^ACRDOC(+$P($G(^ACRINV(ACRINVDA,0)),U,2),0)),U)
  1. W !,"VENDOR.........: ",$P($G(^AUTTVNDR(+$P($G(^ACRINV(ACRINVDA,0)),U,6),0)),U)
  1. S DIR(0)="YO"
  1. S DIR("A")="Add this as new INVOICE"
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. I Y'=1 S ACRQUIT="" Q
  1. S X=ACRINV
  1. Q
  1. D1 ;SELECT AND EDIT INVOICE
  1. Q:'$G(ACRMAX)
  1. S DIR(0)="NO^1:"_ACRMAX
  1. S DIR("A")="REMOVE which one"
  1. W !
  1. D DIR^ACRFDIC
  1. I +Y<1!$D(ACRQUIT) K ACRQUIT Q
  1. S DA=+^TMP("ACRINV",$J,Y)
  1. K ^TMP("ACRINV",$J,Y)
  1. S DIK="^ACRINV("
  1. D DIK^ACRFDIC
  1. Q
  1. SETDOC ;SET DATE OF INVOICE AND DATE INVOICE RECEIVED IN FMS DOCUMENT FILE
  1. N X
  1. S X=$G(^ACRINV(+ACRINVDA,0))
  1. Q:X=""
  1. S ACRINV=$P(X,U) ;ACR*2.1*16.06 IM15505
  1. S:$G(ACRREF)=618 ACRINVX=$P(X,U)
  1. S:$G(ACRDOCDA) DA=ACRDOCDA
  1. S DIE="^ACRDOC("
  1. S DR="103200.1////"_$P(X,U,4)_";103200.2////"_$P(X,U,3)
  1. S ACRIVDAT=$P(X,U,4)
  1. D DIE^ACRFDIC:$G(ACRDOCDA)
  1. K DIE,DA,DR
  1. Q