| 1 | RCDPUDEP ;WISC/RFJ-deposit utilities ;1 Jun 99
|
---|
| 2 | ;;4.5;Accounts Receivable;**114,173**;Mar 20, 1995
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;
|
---|
| 7 | ADDDEPT(DEPOSIT,DEPDATE) ; if the deposit is not entered, add it
|
---|
| 8 | ;
|
---|
| 9 | ; if deposit date is missing, do not add the deposit
|
---|
| 10 | I 'DEPDATE Q 0
|
---|
| 11 | ;
|
---|
| 12 | ; already in file, deposit number and deposit date match
|
---|
| 13 | N DA,RCDPFLAG
|
---|
| 14 | S DA=0 F S DA=$O(^RCY(344.1,"B",DEPOSIT,DA)) Q:'DA I $P($G(^RCY(344.1,DA,0)),"^",3)=DEPDATE S RCDPFLAG=1 Q
|
---|
| 15 | I $G(RCDPFLAG) Q DA
|
---|
| 16 | ;
|
---|
| 17 | ; add it
|
---|
| 18 | N %,%DT,D0,DA,DD,DI,DIC,DIE,DLAYGO,DO,DQ,DR,X,Y
|
---|
| 19 | S DIC="^RCY(344.1,",DIC(0)="L",DLAYGO=344.1
|
---|
| 20 | ; .03 = deposit date .06 = opened by
|
---|
| 21 | ; .07 = date/time opened .12 = status (set to 1:open)
|
---|
| 22 | S DIC("DR")=".03////"_DEPDATE_";.06////"_DUZ_";.07///NOW;.12////1;"
|
---|
| 23 | S X=DEPOSIT
|
---|
| 24 | D FILE^DICN
|
---|
| 25 | I Y>0 Q +Y
|
---|
| 26 | Q 0
|
---|
| 27 | ;
|
---|
| 28 | ;
|
---|
| 29 | SELDEPT(ADDNEW) ; select a deposit
|
---|
| 30 | ; if $g(addnew) allow adding a new deposit
|
---|
| 31 | ; returns -1 for timeout or ^, 0 for no selection, or ien of deposit
|
---|
| 32 | N %,%T,%Y,C,D0,DA,DIC,DIE,DLAYGO,DQ,DR,DTOUT,DUOUT,RCDEFLUP,X,Y
|
---|
| 33 | S DIC="^RCY(344.1,",DIC(0)="QEAM",DIC("A")="Select DEPOSIT: "
|
---|
| 34 | S DIC("W")="D DICW^RCDPUDEP"
|
---|
| 35 | ; use special lookup on input
|
---|
| 36 | S RCDEFLUP=1
|
---|
| 37 | I $G(ADDNEW) S DIC(0)="QEALM",DLAYGO=344.1,DIC("DR")=".03///TODAY;.06////"_DUZ_";.07///NOW;.12////1;"
|
---|
| 38 | D ^DIC
|
---|
| 39 | I Y<0,'$G(DUOUT),'$G(DTOUT) S Y=0
|
---|
| 40 | Q +Y
|
---|
| 41 | ;
|
---|
| 42 | ;
|
---|
| 43 | DICW ; write identifier code for receipt lookup
|
---|
| 44 | N DATA
|
---|
| 45 | S DATA=$G(^RCY(344.1,Y,0)) I DATA="" Q
|
---|
| 46 | ; opened by
|
---|
| 47 | W ?13,"by: ",$E($P($G(^VA(200,+$P(DATA,"^",6),0)),"^"),1,15)
|
---|
| 48 | ; date opened
|
---|
| 49 | I '$P(DATA,"^",7) S $P(DATA,"^",7)="???????"
|
---|
| 50 | W ?35," on: ",$E($P(DATA,"^",7),4,5),"/",$E($P(DATA,"^",7),6,7),"/",$E($P(DATA,"^",7),2,3)
|
---|
| 51 | ; total dollars
|
---|
| 52 | W ?50," amt: $",$J($P(DATA,"^",4),9,2)
|
---|
| 53 | ; status
|
---|
| 54 | W ?69," ",$P("N/A^OPEN^DEPOSITED^CONFIRMED^PROCESSED^VOID","^",+$P(DATA,"^",12)+1)
|
---|
| 55 | Q
|
---|
| 56 | ;
|
---|
| 57 | ;
|
---|
| 58 | LOOKUP ; special lookup on deposits, called from ^dd(344.1,.01,7.5)
|
---|
| 59 | ; if rcdeflup flag not set, do not use special lookup
|
---|
| 60 | I '$D(RCDEFLUP) Q
|
---|
| 61 | ; 1:OPEN;3:CONFIRMED
|
---|
| 62 | ; user entered O.? for lookup on open deposits
|
---|
| 63 | I X["O."!(X["o.") S DIC("S")="I $P(^(0),U,12)=1" S X="?" Q
|
---|
| 64 | ; user entered C.? for lookup on confirmed deposits
|
---|
| 65 | I X["C."!(X["c.") S DIC("S")="I $P(^(0),U,12)=3" S X="?" Q
|
---|
| 66 | ; deposit ticket # manually entered is for electronic ticket only
|
---|
| 67 | I $G(DIC(0))["L",$$AUTODEP(X) D EN^DDIOL(" ** Deposit #'s starting with "_$E(X,1,3)_" can only be used by automatic deposits",,"!") S X=""
|
---|
| 68 | K DIC("S")
|
---|
| 69 | Q
|
---|
| 70 | ;
|
---|
| 71 | ;
|
---|
| 72 | EDITDEP(DA,ASKDATE) ; edit the deposit
|
---|
| 73 | ; if $g(askdate) ask only the deposit date
|
---|
| 74 | N %,D,D0,DI,DIC,DIE,DQ,DR,J,X,Y
|
---|
| 75 | S (DIC,DIE)="^RCY(344.1,",DR=""
|
---|
| 76 | ; deposit date(.03), do not allow edit if closed or either lockbox
|
---|
| 77 | I $$CHECKDEP^RCDPDPLU(DA) S DR=".03BANK DEPOSIT DATE//TODAY;"
|
---|
| 78 | ; bank(.13)
|
---|
| 79 | S DR=DR_".13//"_$P($G(^RC(342.1,+$O(^RC(342.1,"AC",9,0)),0)),"^")_";"
|
---|
| 80 | ; bank trace(.05)
|
---|
| 81 | S DR=DR_".05;"
|
---|
| 82 | ; agency title(.17)
|
---|
| 83 | S DR=DR_".17//"_$P($G(^RC(342.1,+$O(^RC(342.1,"AC",10,0)),0)),"^")_";"
|
---|
| 84 | ; agency location code(.14), comments(1)
|
---|
| 85 | S DR=DR_".14//"_$P(^RC(342,1,0),"^",7)_";1;"
|
---|
| 86 | ;
|
---|
| 87 | ; only ask deposit date
|
---|
| 88 | I $G(ASKDATE) S DR=".03BANK DEPOSIT DATE//TODAY;"
|
---|
| 89 | D ^DIE
|
---|
| 90 | Q
|
---|
| 91 | ;
|
---|
| 92 | ;
|
---|
| 93 | CONFIRM(DA) ; confirm the deposit
|
---|
| 94 | N %DT,D,D0,DI,DIC,DIE,DQ,DR,X,Y
|
---|
| 95 | S (DIC,DIE)="^RCY(344.1,"
|
---|
| 96 | S DR=".04///"_$$TOTAL(DA)_";.12////3;.1////"_DUZ_";.11///NOW;"
|
---|
| 97 | D ^DIE
|
---|
| 98 | Q
|
---|
| 99 | ;
|
---|
| 100 | ;
|
---|
| 101 | TOTAL(RCDEPTDA) ; compute total dollars for all receipts on the deposit
|
---|
| 102 | N RCRECTDA,RCTRANDA,TOTAL
|
---|
| 103 | S RCRECTDA=0
|
---|
| 104 | F S RCRECTDA=$O(^RCY(344,"AD",RCDEPTDA,RCRECTDA)) Q:'RCRECTDA D
|
---|
| 105 | . S RCTRANDA=0
|
---|
| 106 | . F S RCTRANDA=$O(^RCY(344,RCRECTDA,1,RCTRANDA)) Q:'RCTRANDA D
|
---|
| 107 | . . S TOTAL=$G(TOTAL)+$P($G(^RCY(344,RCRECTDA,1,RCTRANDA,0)),"^",4)
|
---|
| 108 | Q +$G(TOTAL)
|
---|
| 109 | ;
|
---|
| 110 | AUTODEP(X) ; Function returns 1 if the deposit ticket # in X is in the auto
|
---|
| 111 | ; deposit number space 269xxx, 369xxx, 469xxx, 569xxx
|
---|
| 112 | N Y
|
---|
| 113 | S Y=0
|
---|
| 114 | I $L(X)=6,$E(X,2,3)="69","2345"[$E(X),'$D(^RCY(344.1,"B",X)) S Y=1
|
---|
| 115 | Q Y
|
---|
| 116 | ;
|
---|