- TIUEPRNT ; SLC/JER - Handle print following entry/edit ; 5/3/04
- ;;1.0;TEXT INTEGRATION UTILITIES;**20,100,182**;Jun 20, 1997
- PRINT(TIUDA) ; Prompt and print
- N TIUDEV,TIUTYP,DFN,TIUPMTHD,TIUD0,TIUMSG,TIUPR,TIUDARR,TIUFLAG,TIUDPRM
- N TIUPGRP,TIUPFHDR,TIUPFNBR
- S TIUMSG="Print this note"
- S TIUPR=$$READ^TIUU("Y",TIUMSG,"No")
- I +TIUPR'>0 Q
- I +$$ISADDNDM^TIULC1(TIUDA) S TIUDA=$P($G(^TIU(8925,+TIUDA,0)),U,6)
- I $G(^TIU(8925,TIUDA,21)) S TIUDA=^TIU(8925,TIUDA,21)
- S TIUD0=$G(^TIU(8925,TIUDA,0))
- S TIUTYP=$P(TIUD0,U),DFN=$P(TIUD0,U,2)
- I +TIUTYP'>0 Q
- S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUTYP)
- S TIUPGRP=$$PRNTGRP^TIULG(+TIUTYP)
- S TIUPFHDR=$$PRNTHDR^TIULG(+TIUTYP)
- S TIUPFNBR=$$PRNTNBR^TIULG(+TIUTYP)
- D DOCPRM^TIULC1(+TIUTYP,.TIUDPRM,TIUDA)
- I +$P($G(TIUDPRM(0)),U,9) S TIUFLAG=$$FLAG^TIUPRPN3
- ;I $G(TIUPMTHD)]"",+$G(TIUPGRP),($G(TIUPFHDR)]""),($G(TIUPFNBR)]"") S TIUDARR(TIUPMTHD,$G(TIUPGRP)_"$"_TIUPFHDR_";"_DFN,1,TIUDA)=TIUPFNBR
- ;E S TIUDARR(TIUPMTHD,DFN,1,TIUDA)=""
- I $G(TIUPMTHD)']"" W !,$C(7),"No Print Method Defined for ",$P($G(^TIU(8925.1,+TIUTYP,0)),U) H 2 G PRINT1X
- ; -- P182: Set array same whether or not flds are defined, with
- ; TIUPGRP piece possibly 0, TIUPFHDR piece possibly null, and
- ; array value TIUPFNBR possibly null.
- S TIUDARR(TIUPMTHD,+$G(TIUPGRP)_"$"_$G(TIUPFHDR)_";"_DFN,1,TIUDA)=$G(TIUPFNBR)
- S TIUDEV=$$DEVICE^TIUDEV(.IO) ; Get Device/allow queueing
- I $S($G(IO)']"":1,TIUDEV']"":1,1:0) D ^%ZISC Q
- I $D(IO("Q")) D QUE^TIUDEV("PRINTQ^TIUEPRNT",TIUDEV) G PRINT1X
- D PRINTQ,^%ZISC
- PRINT1X ; Exit single document print
- Q
- PRINTQ ; Entry point for queued single document print
- D PRNTDOC(TIUPMTHD,.TIUDARR)
- Q
- PRNTDOC(TIUPMTHD,TIUDARR) ; Print a single document type
- ; Receives TIUPMTHD & TIUDARR
- N TIUDA
- I '+$D(TIUDARR) W !,"No Documents selected." Q
- M ^TMP("TIUPR",$J)=TIUDARR(TIUPMTHD)
- I TIUPMTHD']"" D G PRNTDOCX
- . W !!,"No Print Method Defined for ",$P(TIUTYP,U,2) H 2
- X TIUPMTHD
- PRNTDOCX ; Exit single document type print
- K ^TMP("TIUPR",$J)
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HTIUEPRNT 2045 printed Jan 18, 2025@03:41:40 Page 2
- TIUEPRNT ; SLC/JER - Handle print following entry/edit ; 5/3/04
- +1 ;;1.0;TEXT INTEGRATION UTILITIES;**20,100,182**;Jun 20, 1997
- PRINT(TIUDA) ; Prompt and print
- +1 NEW TIUDEV,TIUTYP,DFN,TIUPMTHD,TIUD0,TIUMSG,TIUPR,TIUDARR,TIUFLAG,TIUDPRM
- +2 NEW TIUPGRP,TIUPFHDR,TIUPFNBR
- +3 SET TIUMSG="Print this note"
- +4 SET TIUPR=$$READ^TIUU("Y",TIUMSG,"No")
- +5 IF +TIUPR'>0
- QUIT
- +6 IF +$$ISADDNDM^TIULC1(TIUDA)
- SET TIUDA=$PIECE($GET(^TIU(8925,+TIUDA,0)),U,6)
- +7 IF $GET(^TIU(8925,TIUDA,21))
- SET TIUDA=^TIU(8925,TIUDA,21)
- +8 SET TIUD0=$GET(^TIU(8925,TIUDA,0))
- +9 SET TIUTYP=$PIECE(TIUD0,U)
- SET DFN=$PIECE(TIUD0,U,2)
- +10 IF +TIUTYP'>0
- QUIT
- +11 SET TIUPMTHD=$$PRNTMTHD^TIULG(+TIUTYP)
- +12 SET TIUPGRP=$$PRNTGRP^TIULG(+TIUTYP)
- +13 SET TIUPFHDR=$$PRNTHDR^TIULG(+TIUTYP)
- +14 SET TIUPFNBR=$$PRNTNBR^TIULG(+TIUTYP)
- +15 DO DOCPRM^TIULC1(+TIUTYP,.TIUDPRM,TIUDA)
- +16 IF +$PIECE($GET(TIUDPRM(0)),U,9)
- SET TIUFLAG=$$FLAG^TIUPRPN3
- +17 ;I $G(TIUPMTHD)]"",+$G(TIUPGRP),($G(TIUPFHDR)]""),($G(TIUPFNBR)]"") S TIUDARR(TIUPMTHD,$G(TIUPGRP)_"$"_TIUPFHDR_";"_DFN,1,TIUDA)=TIUPFNBR
- +18 ;E S TIUDARR(TIUPMTHD,DFN,1,TIUDA)=""
- +19 IF $GET(TIUPMTHD)']""
- WRITE !,$CHAR(7),"No Print Method Defined for ",$PIECE($GET(^TIU(8925.1,+TIUTYP,0)),U)
- HANG 2
- GOTO PRINT1X
- +20 ; -- P182: Set array same whether or not flds are defined, with
- +21 ; TIUPGRP piece possibly 0, TIUPFHDR piece possibly null, and
- +22 ; array value TIUPFNBR possibly null.
- +23 SET TIUDARR(TIUPMTHD,+$GET(TIUPGRP)_"$"_$GET(TIUPFHDR)_";"_DFN,1,TIUDA)=$GET(TIUPFNBR)
- +24 ; Get Device/allow queueing
- SET TIUDEV=$$DEVICE^TIUDEV(.IO)
- +25 IF $SELECT($GET(IO)']"":1,TIUDEV']"":1,1:0)
- DO ^%ZISC
- QUIT
- +26 IF $DATA(IO("Q"))
- DO QUE^TIUDEV("PRINTQ^TIUEPRNT",TIUDEV)
- GOTO PRINT1X
- +27 DO PRINTQ
- DO ^%ZISC
- PRINT1X ; Exit single document print
- +1 QUIT
- PRINTQ ; Entry point for queued single document print
- +1 DO PRNTDOC(TIUPMTHD,.TIUDARR)
- +2 QUIT
- PRNTDOC(TIUPMTHD,TIUDARR) ; Print a single document type
- +1 ; Receives TIUPMTHD & TIUDARR
- +2 NEW TIUDA
- +3 IF '+$DATA(TIUDARR)
- WRITE !,"No Documents selected."
- QUIT
- +4 MERGE ^TMP("TIUPR",$JOB)=TIUDARR(TIUPMTHD)
- +5 IF TIUPMTHD']""
- Begin DoDot:1
- +6 WRITE !!,"No Print Method Defined for ",$PIECE(TIUTYP,U,2)
- HANG 2
- End DoDot:1
- GOTO PRNTDOCX
- +7 XECUTE TIUPMTHD
- PRNTDOCX ; Exit single document type print
- +1 KILL ^TMP("TIUPR",$JOB)
- +2 QUIT