| 1 | RCRJRTRA ;WISC/RFJ-transaction report ;1 Mar 97
|
---|
| 2 | ;;4.5;Accounts Receivable;**68,153**;Mar 20, 1995
|
---|
| 3 | N DATEEND,DATESTRT,RCRJSUMM,TRANTYPE
|
---|
| 4 | ;
|
---|
| 5 | ; select date range
|
---|
| 6 | D DATESEL("AR TRANSACTIONS") I '$G(DATEEND) Q
|
---|
| 7 | S DATEEND=DATEEND+.99
|
---|
| 8 | ;
|
---|
| 9 | ; select transaction types
|
---|
| 10 | D TRANTYPE(DATESTRT,DATEEND) I '$O(TRANTYPE(0)) W !,"NO transaction types selected." Q
|
---|
| 11 | ;
|
---|
| 12 | S RCRJSUMM=$$SUMMARY I 'RCRJSUMM Q
|
---|
| 13 | ;
|
---|
| 14 | ; select device
|
---|
| 15 | W ! S %ZIS="Q" D ^%ZIS Q:POP
|
---|
| 16 | I $D(IO("Q")) D D ^%ZTLOAD K IO("Q"),ZTSK Q
|
---|
| 17 | . S ZTDESC="AR Transaction Listing Report",ZTRTN="DQ^RCRJRTRA"
|
---|
| 18 | . S ZTSAVE("DATE*")="",ZTSAVE("RCRJ*")="",ZTSAVE("TRANTYPE*")="",ZTSAVE("ZTREQ")="@"
|
---|
| 19 | W !!,"<*> please wait <*>"
|
---|
| 20 | ;
|
---|
| 21 | DQ ; report (queue) starts here
|
---|
| 22 | N ADM,BILLDA,CATDA,DA,DATA0,DATE,INT,PRIN,TYPE,VALUE,X,Y
|
---|
| 23 | K ^TMP($J,"RCRJRTRA")
|
---|
| 24 | ;
|
---|
| 25 | S TRANTYPE=0 F S TRANTYPE=$O(TRANTYPE(TRANTYPE)) Q:'TRANTYPE I $D(^PRCA(433,"AT",TRANTYPE)) D
|
---|
| 26 | . S DATE=DATESTRT-.01 F S DATE=$O(^PRCA(433,"AT",TRANTYPE,DATE)) Q:'DATE!(DATE>DATEEND) D
|
---|
| 27 | . . S DA=0 F S DA=$O(^PRCA(433,"AT",TRANTYPE,DATE,DA)) Q:'DA D
|
---|
| 28 | . . . S DATA0=$G(^PRCA(433,DA,0))
|
---|
| 29 | . . . ;
|
---|
| 30 | . . . S BILLDA=+$P(DATA0,"^",2)
|
---|
| 31 | . . . ; bill not linked to a site
|
---|
| 32 | . . . I '$P($G(^PRCA(430,BILLDA,0)),"^",12) Q
|
---|
| 33 | . . . ;
|
---|
| 34 | . . . S CATDA=+$P($G(^PRCA(430,BILLDA,0)),"^",2)
|
---|
| 35 | . . . I 'CATDA Q
|
---|
| 36 | . . . ;
|
---|
| 37 | . . . S VALUE=$$TRANBAL^RCRJRCOT(DA) I VALUE="" Q
|
---|
| 38 | . . . S PRIN=$P(VALUE,"^"),INT=$P(VALUE,"^",2),ADM=$P(VALUE,"^",3)+$P(VALUE,"^",4)+$P(VALUE,"^",5)
|
---|
| 39 | . . . ;
|
---|
| 40 | . . . S TYPE=TRANTYPE
|
---|
| 41 | . . . ; contract adjustment
|
---|
| 42 | . . . I TYPE=35,$P($G(^PRCA(433,DA,8)),"^",8) S TYPE="35C"
|
---|
| 43 | . . . ; pre-payments
|
---|
| 44 | . . . I (TYPE=2!(TYPE=34)),$P($G(^PRCA(433,DA,5)),"^") S TYPE="34P"
|
---|
| 45 | . . . ;
|
---|
| 46 | . . . I TYPE'=12 D SETVALUE(TYPE,PRIN,INT,ADM) Q
|
---|
| 47 | . . . ;
|
---|
| 48 | . . . ; if trans is 12, breakout charges added + and exempt -
|
---|
| 49 | . . . ; both +, charges added
|
---|
| 50 | . . . I INT'<0,ADM'<0 D SETVALUE("12A","",INT,ADM) Q
|
---|
| 51 | . . . ; both -, charges exempt
|
---|
| 52 | . . . I INT<0,ADM<0 D SETVALUE("12E","",-INT,-ADM) Q
|
---|
| 53 | . . . ; one is + and the other -
|
---|
| 54 | . . . I INT<0 D:ADM SETVALUE("12A","","",ADM) D SETVALUE("12E","",-INT,"") Q
|
---|
| 55 | . . . I ADM<0 D:INT SETVALUE("12A","",INT,"") D SETVALUE("12E","","",-ADM) Q
|
---|
| 56 | ;
|
---|
| 57 | D PRINT^RCRJRTR1
|
---|
| 58 | ;
|
---|
| 59 | D ^%ZISC
|
---|
| 60 | K ^TMP($J,"RCRJRTRA")
|
---|
| 61 | Q
|
---|
| 62 | ;
|
---|
| 63 | ;
|
---|
| 64 | SETVALUE(TYPE,PRIN,INT,ADM) ; store value in tmp global for printing
|
---|
| 65 | ; = trans amt ^ prin amt ^ int amt ^ adm amt
|
---|
| 66 | ; add spaces to type for sorting in numerical order
|
---|
| 67 | S TYPE=" "_$S($L(+TYPE)=1:" ",1:"")_TYPE
|
---|
| 68 | S ^TMP($J,"RCRJRTRA",TYPE,CATDA,BILLDA,DA)=(PRIN+INT+ADM)_"^"_PRIN_"^"_INT_"^"_ADM
|
---|
| 69 | Q
|
---|
| 70 | ;
|
---|
| 71 | ;
|
---|
| 72 | DATESEL(DESCR) ; select starting and ending dates in days
|
---|
| 73 | ; returns datestrt and dateend
|
---|
| 74 | N %,%DT,%H,%I,DEFAULT,X,Y
|
---|
| 75 | K DATEEND,DATESTRT
|
---|
| 76 | START S Y=$E(DT,1,5)_"01" D DD^%DT S DEFAULT=Y
|
---|
| 77 | S %DT("A")="Start with "_$S(DESCR'="":DESCR_" ",1:"")_"Date: ",%DT("B")=DEFAULT,%DT="AEP",%DT(0)=-DT D ^%DT I Y<0 Q
|
---|
| 78 | I $E(Y,6,7)="00" S Y=$E(Y,1,5)_"01"
|
---|
| 79 | S DATESTRT=Y
|
---|
| 80 | S Y=DT D DD^%DT S DEFAULT=Y
|
---|
| 81 | S %DT("A")=" End with "_$S(DESCR'="":DESCR_" ",1:"")_"Date: ",%DT("B")=DEFAULT,%DT="AEP",%DT(0)=-DT D ^%DT I Y<0 Q
|
---|
| 82 | I $E(Y,6,7)="00" S Y=$E(Y,1,5)_"01"
|
---|
| 83 | I Y<DATESTRT W !,"END DATE MUST BE GREATER THAN OR EQUAL TO THE START DATE.",! G START
|
---|
| 84 | S DATEEND=Y,Y=DATESTRT D DD^%DT
|
---|
| 85 | W !?5,"*** Selected date range from ",Y," to " S Y=DATEEND D DD^%DT W Y," ***"
|
---|
| 86 | Q
|
---|
| 87 | ;
|
---|
| 88 | ;
|
---|
| 89 | TRANTYPE(DATESTRT,DATEEND) ; select transaction types
|
---|
| 90 | ; requires datestrt and dateend for date range
|
---|
| 91 | ; returns TRANTYPE(#) for selected entries
|
---|
| 92 | N %,COUNT,DATE,DIR,DIRUT,RCRJFLAG,TRANLIST,X,Y
|
---|
| 93 | K TRANTYPE
|
---|
| 94 | ;
|
---|
| 95 | ; compile a list of available transactions in date range
|
---|
| 96 | S TRANLIST="",DATE=DATESTRT-.01
|
---|
| 97 | S TRANTYPE=0 F S TRANTYPE=$O(^PRCA(433,"AT",TRANTYPE)) Q:'TRANTYPE S %=+$O(^PRCA(433,"AT",TRANTYPE,DATE)) I %,%<DATEEND D
|
---|
| 98 | . I TRANTYPE=45 Q ;do not look at comments
|
---|
| 99 | . S %=$P($G(^PRCA(430.3,TRANTYPE,0)),"^")
|
---|
| 100 | . S TRANLIST(TRANTYPE)=%
|
---|
| 101 | . S TRANLIST=TRANLIST_TRANTYPE_":"_$E(%,1,10)_";"
|
---|
| 102 | I TRANLIST="" W !,"There are NO transactions within the date range." Q
|
---|
| 103 | S TRANLIST=TRANLIST_"*:ALL transactions;-:NO transactions;"
|
---|
| 104 | ;
|
---|
| 105 | F D Q:$G(RCRJFLAG)
|
---|
| 106 | . D SHOWLIST
|
---|
| 107 | . S DIR(0)="SOA^"_TRANLIST,DIR("A")="Select TRANSACTION TYPE: "
|
---|
| 108 | . D ^DIR
|
---|
| 109 | . I $D(DIRUT) S RCRJFLAG=1 Q
|
---|
| 110 | . I Y="*" S %=0 F S %=$O(TRANLIST(%)) Q:'% S TRANTYPE(%)=""
|
---|
| 111 | . I Y="-" K TRANTYPE Q
|
---|
| 112 | . S Y=+Y
|
---|
| 113 | . I $D(TRANLIST(Y)) D
|
---|
| 114 | . . I $D(TRANTYPE(Y)) K TRANTYPE(Y) W " un-selected" Q
|
---|
| 115 | . . S TRANTYPE(Y)="" W " selected"
|
---|
| 116 | Q
|
---|
| 117 | ;
|
---|
| 118 | ;
|
---|
| 119 | SHOWLIST ; show list of available/selected transaction types
|
---|
| 120 | W !!,"The following is a list of available transactions within the date range.",!,"Asterisks (**) next to the transaction indicates it has been selected",!,"for the report."
|
---|
| 121 | S %=0 F COUNT=1:1 S %=$O(TRANLIST(%)) Q:'% D
|
---|
| 122 | . I (COUNT#2)'=0 W !
|
---|
| 123 | . E W ?40
|
---|
| 124 | . W $S($D(TRANTYPE(%)):"**",1:" ")," "
|
---|
| 125 | . W $S($L(%)=1:" ",1:""),%," ",TRANLIST(%)
|
---|
| 126 | Q
|
---|
| 127 | ;
|
---|
| 128 | ;
|
---|
| 129 | SUMMARY() ; ask to print detailed or summary report
|
---|
| 130 | N DIR,DIRUT,X,Y
|
---|
| 131 | S DIR(0)="SOA^D:detailed;S:summary;",DIR("A")="Type of report to print: ",DIR("B")="summary"
|
---|
| 132 | W ! D ^DIR
|
---|
| 133 | I $D(DIRUT) Q 0
|
---|
| 134 | Q $S(Y="S":1,Y="D":2,1:0)
|
---|