Sign in to follow this  
Followers 0
Spiff59

Trouble interacting with webpage.

13 posts in this topic

#1 ·  Posted (edited)

I recently wrote a front-end for the Allscripts ePrescribing website. It takes a local request to send an electronic prescription, loads the Allscripts site, and then either brings up an exisiting patient record, or if not found, pulls from our patient database and auto-populates a new Allscripts record. That script works fine.

Throughout the Allscripts website AU3INFO reports only a single "Internet_Explorer_Server" control that encompasses each webpage. For access, I instead used functions from the <IE.AU3> UDF to locate, read, and update form elements on the webpages.

I'm now wanting a back-end script to pull a daily activity report from Allscripts, which I'd use then to update our local patient database (documenting who had been prescribed what) and I've run into some toolbar embedded within the page that seems inaccessible, other than using the brute-force method of using a bunch of Send("{TAB}") calls. This is what it looks like:

Posted Image

Anyone have an idea of what that toolbar is (java?) and whether there is any method for direct access?

The "Close" button seems to be the last IE-accessible element. I can tab over to "select a format" and then "export", but the navigation arrows near the start of the toolbar may or may not be enabled, depending on whether the report is more than one page, which can cause the number of tabs needed to get to "select a format" to change.

Edited by Spiff59

Share this post


Link to post
Share on other sites



Use the IE developer tools, or firefox firebug to get the HTML-XPATH, then you can manipulate the list item.


IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window.

Share this post


Link to post
Share on other sites

I notice a nice little "Export" button on that. What about automating it to export the report to an MS_OFFICE spreadsheet and, after opening with Excel, using the _Excel() UDF functions on it? It may sound a bit like an overcomplicated kludge, but *shrug* it's what I'd have done.

Oh, nice to see someone else doing medical stuff with AutoIt. I used to scrape AS400 emulators and automate claims processing for Blue Cross/Blue Shield. Fun ... fun ... fun.

And finally ... off base ... a topical antibiotic and a systemic one? What's the doc thinking? *dopeslaps* The topical should do just fine. Sheesh. That's why we have MRSA.


Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache

Share this post


Link to post
Share on other sites

CCD and CCR, lots of fun ;)...what a mess of an XML document


IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window.

Share this post


Link to post
Share on other sites

We use those same controls here, you can look at the html, and if the 'disabled' attribute is present, you know that button is disabled (for the arrows):

<input name="somename" title="Next Page" disabled="" id="rvPatientList_ctl05_ctl00_Next_ctl01_ctl00" style="width: 16px; height: 16px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; cursor: default;" type="image" alt="Next Page" src="/somesource.NextPageDisabled.gif"/>

Also, we have the standard to include //input[contains(@src,'Disabled')]...either way, you can determine lots of ways...even some dom properties will tell if active or not.


IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window.

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

This is the script I had so far when I decided to post yesterday, although it is of little use unless you have an Allscripts login:

#include <Array.au3>
#include <IE.au3>
#include <WindowsConstants.au3>
;#include <_ExcelReadSheetToArray.au3> ; fast .range version
#include <Excel.au3> ; slow .cell version of _ExcelReadSheetToArray()

Global Const $sUsername = "", $sPassword = ""
Global $oIE, $oUserID, $oPassword, $oLogin, $oCloseAd, $oStart, $oEnd, $oRpt, $oCancel, $oState, $oExcel
Global $date, $provider, $patient

FileDelete(@DesktopDir & "PrescriptionDetail.xls") ; delete output from prior run
ToolTip("Please wait...", @DesktopWidth / 2, @DesktopHeight / 2, "Launching Internet Explorer", 0, 2)
$oIE = _IECreate("https://eprescribe.allscripts.com/Login.aspx", 1)
Wait_For_Page("Welcome to Allscripts")
ToolTip("")

; Login Page =======================================================================================================================
$oUserID = _IEGetObjByID($oIE, "txtUserName")
$oPassword = _IEGetObjByID($oIE, "txtPassword")
$oLogin = _IEGetObjByID($oIE, "btnLogin")
_IEFormElementSetValue($oUserID, $sUsername)
_IEFormElementSetValue($oPassword, $sPassword)
_IEAction($oLogin, "click")

; Skip advertisement, if present  ==================================================================================================
Wait_For_Page("Allscripts ePrescribe - ")
$oCloseAd = _IEGetObjByID($oIE, "adControl$closeButton")
If Not @error Then _IEAction($oCloseAd, "click")

; Enter report parameters ==========================================================================================================
Wait_For_Page("Allscripts ePrescribe - ")
_IENavigate($oIE, "https://eprescribe.allscripts.com/PrescriptionDetail.aspx")
Wait_For_Page("Allscripts ePrescribe - Provider Report")
$oStart = _IEGetObjByID($oIE, "ctl00$ContentPlaceHolder1$txtStartDate") ; start date - defaults to todays date
$oEnd   = _IEGetObjByID($oIE, "ctl00$ContentPlaceHolder1$txtEndDate") ; end date - defaults to todays date
$oRpt   = _IEGetObjByID($oIE, "ctl00$ContentPlaceHolder1$btnReport") ; show report button
_IEFormElementSetValue($oStart, "01/01/2012")
;_IEFormElementSetValue($oEnd, "06/07/2012")
_IEAction($oRpt, "click")

; Process report ===================================================================================================================
Wait_For_Page("Allscripts ePrescribe - Reports")
$oCancel = _IEGetObjByID($oIE, "ctl00$ContentPlaceHolder1$btnCancel")
;$oState = _IEGetObjByID($oIE, "ctl00$ContentPlaceHolder2$cpeNotes_ClientState")
Dump_Page() ; for testing
_IEAction($oCancel, "focus") ; put cursor on "close" button
Wait_For_Page("Allscripts ePrescribe - Reports")
Send("{TAB 10}") ; send 7 tabs if 1-page report, 10 tabs if 2 or more pages
Send("{DOWN}") ; select first format option (Excel)
Send("{TAB}")
Send("{ENTER}") ; click "Export" button
WinWaitActive("File Download")
Send("+{TAB}") ; tab to "Save" button
WinWaitActive("File Download")
Send("{ENTER}") ; click "Save" button
WinWaitActive("Save As")
$hSave = WinGetHandle("Save As", "")
$hCombo = ControlGetHandle($hSave, "", "[CLASSNN:ComboBox1]")
ControlCommand($hSave, "", $hCombo, "ShowDropdown", "")
ControlCommand($hSave, "", $hCombo, "SelectString", "Desktop")
Send("{ENTER}")
WinWaitActive("Download complete")
Send("{ENTER}")
;_IEQuit($oIE)

; load excel worksheet to array ====================================================================================================
$oExcel = ObjCreate("Excel.Application")
$oExcel.Visible = 0
$oExcel.WorkBooks.Open(@DesktopDir & "PrescriptionDetail.xls", Default, 1) ; read-only
;If @error Then $oExcel.Quit
$oExcel.ActiveWorkbook.Sheets("Sheet1").Select()
$aExcel = _ExcelReadSheetToArray($oExcel, 1, 1, 0, 0, 1) ; start row/col, count row/col, 1-base
$oExcel.Quit
;_ArrayDisplay($aExcel)

; reformat array ===================================================================================================================
$rx_cnt = 0
For $x = 1 to $aExcel[0][0]
    If StringLen($aExcel[$x][10]) = 10 Then $date = $aExcel[$x][10]
    If StringLeft($aExcel[$x][7], 9) = "Provider:" Then $provider = StringMid($aExcel[$x][7], 11, StringInStr($aExcel[$x][7], ",") - 11)
    If $aExcel[$x][6] And $aExcel[$x][6] <> "Patient" Then $patient = StringReplace($aExcel[$x][6], " ,", ", ")
    If $aExcel[$x][13] And $aExcel[$x][13] <> "Medication" Then
        $rx_cnt += 1
        $aExcel[$rx_cnt][0] = $date
        $aExcel[$rx_cnt][1] = $provider
;      $aExcel[$rx_cnt][2] = "LLLLFF00" ; patient id
        $aExcel[$rx_cnt][3] = $patient ; patient name
        $aExcel[$rx_cnt][4] = $aExcel[$x][13] ; Medication
        $aExcel[$rx_cnt][5] = $aExcel[$x][18] ; SIG
        $aExcel[$rx_cnt][6] = StringReplace($aExcel[$x][24], ".00", "") ; quantity
        $aExcel[$rx_cnt][7] = $aExcel[$x][25] ; refills
        $aExcel[$rx_cnt][8] = StringStripWS($aExcel[$x][26], 2) ; pharmacy
    EndIf
Next
$aExcel[0][0] = $rx_cnt
$aExcel[0][1] = ""
ReDim $aExcel[$rx_cnt + 1][9]

_ArrayDisplay($aExcel)
Exit

;===================================================================================================================================
Func Wait_For_Page($win)
    Sleep(100)
;   _IELoadWait($oIE)
    WinWaitActive($win)
    While $oIE.readyState < 4 ; Ensure page is (sufficiently) loaded
        Sleep(100)
    Wend
    Sleep(100)
EndFunc

;===================================================================================================================================
Func Dump_Page()
    ConsoleWrite("********************************************************************************" & @CRLF)
    Local $oForms = _IEFormGetCollection($oIE)
    For $oForm In $oForms
        ConsoleWrite("Form Info: " & $oForm.name & @CRLF)
        $oElements = _IEFormElementGetCollection($oForm)
        For $oElement In $oElements
            ConsoleWrite("   Element Info: " & $oElement.name & " = " & $oElement.value & @CRLF)
        Next
    Next
    ConsoleWrite("********************************************************************************" & @CRLF)
EndFunc

It's a 'beta' with little error checking, but works fine, with the exception of needing to know in advance whether the report is 1 page or multipage, so it can decide whether to send 7 or 10 tabs to get to the "Select a Format" dropdown. It turns the hideous worksheet exported by the website into something palatable. I am a bit peeved that Allscripts does not include (the unique) Patient ID in the report, as knowing that we prescribed John Jones a bucketful of Dilaudid is of little use if we have three patients named John Jones on file.

As to solving the issues of getting at the "Select a Format" and "Export" controls in that toolbar, so I could dispense with the Send() functions completely, I have no idea what an XPATH is? I've looked at both the source for the page and launched IE8 Developer Tools with F12 and am not finding anything that looks interesting. I also looked (confusedly) at the link in your sig, jdelaney. I'm not sure how to go about finding this XPATH, then enumerating the available DOM objects, and then referencing the ones I need to access? What do I need to look for?

Without that access, I appear to be stuck, as I can't know whether a report will be multipage in advance so that I can send the correct number of {TAB} characters.

Edit: added some more comments to code

Edit2: I could post the html source if that would be useful.

Edited by Spiff59

Share this post


Link to post
Share on other sites

The HTML source would be the important piece of the puzzle. It would answer if this is just HTML oth whether it is JAVA, ActiveX, HTC or ??

Make sure you are not being fooled by frames when you look at the source... my favorite IE HTML developer tool is DebugBar (see my sig - they released a new version recently).

Dale


Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

Thank you, Dale.

I'm proudly sporting DebugBar 6.1 now, yet still don't know where to look.

I do see reference to a "Reserved.ReportViewerWebControl.axd", but there's also goodies like:

<script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$masterScriptManager', 'aspnetForm', [], [], [], 90, 'ctl00');
//]]>
</script>

If I edit this post and attach the source for the page, are there security concerns hidden with all the encrypted values I'm seeing in lines like this?

<script src="/ScriptResource.axd?d=iCNq5v6JvakLf1cQqMUnDpiFd-kCBIg5mMlGvL_GSdJ0tSsPjs70TEb2QD_ij_fj1oZ8GVyB3hvAX9-0dD2RjJ0ATbibHhzWqc188O71ldWR4sUVxrBml7rFDcWhNBSSxKejv4z3RN43TxdtvOo2-zF7Pa_kOopPE4XLZEaQd2SpoS5F0&amp;t=ffffffff940d030f" type="text/javascript"></script>
Edited by Spiff59

Share this post


Link to post
Share on other sites

Those values should be safe to post, but there are no guarantees.

When you use DebugBar to look at the source, please be sure to check out the "View Source" icon/dropdown in the DebugBar toolbar - it will show you the main document and any frames present. You can view the source for each - insure you examine the interpretted source.

The script elements you displayed are probably NOT what you want to focus upon - look for HTML and for applet or object tags.

Dale


Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Share this post


Link to post
Share on other sites

#10 ·  Posted (edited)

Otay!

Some progress...

In DebugBar under "View Source" it shows a main document of eprescribe.allscripts.com/PrescriptionDetail.aspx, which is what shows in the browser address bar. Beneath that are a mix of frame and iframe levels. The first one is titled eprescribe.allscripts.com/PrintReport.aspx and I now notice that that displays down in the status bar when I hover over some portions of the mystery toolbar. DebugBar's Browser Spy shows the following source for that first PrintReport.aspx iframe:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
Print Reports
</title><link href="Style/Style.css" rel="stylesheet" type="text/css" /></head>
<script language="javascript" type="text/javascript">
    function fnCheck() {
        var b = document.getElementById("btnPrint");
        b.click();
    }
</script>
<body>
    <form name="form1" method="post" action="PrintReport.aspx?StartDate=01%2f01%2f2012&amp;EndDate=6%2f13%2f2012&amp;ProviderID=00000000-0000-0000-0000-000000000000&amp;ProviderName=All+Providers&amp;ReportID=PrescriptionDetail" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__ERXSTATE" id="__ERXSTATE" value="10" />
<input type="hidden" name="__Ticket" id="__Ticket" value="1" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="" />
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
    theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>
<script src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Scripts.ReportViewer.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function ActionHandlerrptViewer(actionType, actionParam) { SaveActionsForPostback('rptViewer_ctl04', 'rptViewer_ctl05', actionType, actionParam); __doPostBack('rptViewer',''); return false;}var ClientControllerrptViewer = new RSClientController(ActionHandlerrptViewer, "rptViewer_ctl03", "ReportFramerptViewer", "/Reserved.ReportViewerWebControl.axd?Mode=true&ReportID=5fb327d2480844aca35622c06915d922&ControlID=d930a8478e42474b85a27a870ef1d567&Culture=1033&UICulture=1033&ReportStack=1&OpType=DocMapArea&Controller=ClientControllerrptViewer&RootLabel=PrescriptionDetail&BackColor=%23ECE9D8&Border=1px+Black+Solid&Font=font-family%3aVerdana%3bfont-size%3a8pt%3b", "25%", false, "/Reserved.ReportViewerWebControl.axd?Mode=true&ReportID=bb6ecdf63b3f46dab7eebcd715f20a6a&ControlID=d930a8478e42474b85a27a870ef1d567&Culture=1033&UICulture=1033&ReportStack=1&OpType=ReportArea&Controller=ClientControllerrptViewer", true, true, true, true, true, true, "Enter a valid page number", "rptViewer_ctl06", false, "_top");
var HoverImagerptViewer_ctl01_ctl00_ctl00 = new ReportViewerHoverButton("rptViewer_ctl01_ctl00_ctl00", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl01_ctl00_ctl00 = new ReportViewerHoverButton("rptViewer_ctl01_ctl01_ctl00_ctl00", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl01_ctl00_ctl01 = new ReportViewerHoverButton("rptViewer_ctl01_ctl01_ctl00_ctl01", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl01_ctl01_ctl00 = new ReportViewerHoverButton("rptViewer_ctl01_ctl01_ctl01_ctl00", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl01_ctl01_ctl01 = new ReportViewerHoverButton("rptViewer_ctl01_ctl01_ctl01_ctl01", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl01_ctl05_ctl00 = new ReportViewerHoverButton("rptViewer_ctl01_ctl01_ctl05_ctl00", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl01_ctl05_ctl01 = new ReportViewerHoverButton("rptViewer_ctl01_ctl01_ctl05_ctl01", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl01_ctl06_ctl00 = new ReportViewerHoverButton("rptViewer_ctl01_ctl01_ctl06_ctl00", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl01_ctl06_ctl01 = new ReportViewerHoverButton("rptViewer_ctl01_ctl01_ctl06_ctl01", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl02_ctl00_ctl00 = new ReportViewerHoverButton("rptViewer_ctl01_ctl02_ctl00_ctl00", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl02_ctl00_ctl01 = new ReportViewerHoverButton("rptViewer_ctl01_ctl02_ctl00_ctl01", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var TextLinkrptViewer_ctl01_ctl04_ctl01 = new ReportViewerLink("rptViewer_ctl01_ctl04_ctl01", false, "", "", "#3366CC", "Gray", "#FF3300");var TextLinkrptViewer_ctl01_ctl04_ctl03 = new ReportViewerLink("rptViewer_ctl01_ctl04_ctl03", false, "", "", "#3366CC", "Gray", "#FF3300");var TextLinkrptViewer_ctl01_ctl05_ctl01 = new ReportViewerLink("rptViewer_ctl01_ctl05_ctl01", false, "", "", "#3366CC", "Gray", "#FF3300");var HoverImagerptViewer_ctl01_ctl06_ctl00 = new ReportViewerHoverButton("rptViewer_ctl01_ctl06_ctl00", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl07_ctl00_ctl00 = new ReportViewerHoverButton("rptViewer_ctl01_ctl07_ctl00_ctl00", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl07_ctl00_ctl01 = new ReportViewerHoverButton("rptViewer_ctl01_ctl07_ctl00_ctl01", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl08_ctl00_ctl00 = new ReportViewerHoverButton("rptViewer_ctl01_ctl08_ctl00_ctl00", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var HoverImagerptViewer_ctl01_ctl08_ctl00_ctl01 = new ReportViewerHoverButton("rptViewer_ctl01_ctl08_ctl00_ctl01", false, "", "", "", "#ECE9D8", "#DDEEF7", "#99BBE2", "1px #ECE9D8 Solid", "1px #336699 Solid", "1px #336699 Solid");var ClientToolbarrptViewer_ctl01 = new RSToolbar(ClientControllerrptViewer, "rptViewer_ctl01_ctl01_ctl02", "rptViewer_ctl01_ctl01_ctl04", ClientImageTogglerptViewer_ctl01_ctl01_ctl00, ClientImageTogglerptViewer_ctl01_ctl01_ctl01, ClientImageTogglerptViewer_ctl01_ctl01_ctl05, ClientImageTogglerptViewer_ctl01_ctl01_ctl06, "rptViewer_ctl01_ctl03_ctl00", "rptViewer_ctl01_ctl04_ctl00", TextLinkrptViewer_ctl01_ctl04_ctl01, TextLinkrptViewer_ctl01_ctl04_ctl03, "rptViewer_ctl01_ctl05_ctl00", TextLinkrptViewer_ctl01_ctl05_ctl01, "rptViewer_ctl00", HoverImagerptViewer_ctl01_ctl00_ctl00, "rptViewer_ctl01_ctl00", "rptViewer_ctl01_ctl00_ctl01", "", "PrintFramerptViewer_ctl01_ctl07", "/Reserved.ReportViewerWebControl.axd?Mode=true&ReportID=cfc34fa431114d74b4f31c07f9d06748&ControlID=d930a8478e42474b85a27a870ef1d567&Culture=1033&UICulture=1033&ReportStack=1&OpType=Export&FileName=PrescriptionDetail&ContentDisposition=OnlyHtmlInline&Format=", ClientImageTogglerptViewer_ctl01_ctl07_ctl00);
function ClientImageTogglerptViewer_ctl01_ctl01_ctl00(shouldEnable)
{
    var enableHover = document.getElementById("rptViewer_ctl01_ctl01_ctl00_ctl00");
    var disableHover = document.getElementById("rptViewer_ctl01_ctl01_ctl00_ctl01");
    if (enableHover == null || disableHover == null)
        return;
    if (shouldEnable)
    {
        enableHover.style.display = "";
        disableHover.style.display = "none";
    }
    else
    {
        disableHover.style.display = "";
        enableHover.style.display = "none";
    }
}function ClientImageTogglerptViewer_ctl01_ctl01_ctl01(shouldEnable)
{
    var enableHover = document.getElementById("rptViewer_ctl01_ctl01_ctl01_ctl00");
    var disableHover = document.getElementById("rptViewer_ctl01_ctl01_ctl01_ctl01");
    if (enableHover == null || disableHover == null)
        return;
    if (shouldEnable)
    {
        enableHover.style.display = "";
        disableHover.style.display = "none";
    }
    else
    {
        disableHover.style.display = "";
        enableHover.style.display = "none";
    }
}function ClientImageTogglerptViewer_ctl01_ctl01_ctl05(shouldEnable)
{
    var enableHover = document.getElementById("rptViewer_ctl01_ctl01_ctl05_ctl00");
    var disableHover = document.getElementById("rptViewer_ctl01_ctl01_ctl05_ctl01");
    if (enableHover == null || disableHover == null)
        return;
    if (shouldEnable)
    {
        enableHover.style.display = "";
        disableHover.style.display = "none";
    }
    else
    {
        disableHover.style.display = "";
        enableHover.style.display = "none";
    }
}function ClientImageTogglerptViewer_ctl01_ctl01_ctl06(shouldEnable)
{
    var enableHover = document.getElementById("rptViewer_ctl01_ctl01_ctl06_ctl00");
    var disableHover = document.getElementById("rptViewer_ctl01_ctl01_ctl06_ctl01");
    if (enableHover == null || disableHover == null)
        return;
    if (shouldEnable)
    {
        enableHover.style.display = "";
        disableHover.style.display = "none";
    }
    else
    {
        disableHover.style.display = "";
        enableHover.style.display = "none";
    }
}function ClientImageTogglerptViewer_ctl01_ctl02_ctl00(shouldEnable)
{
    var enableHover = document.getElementById("rptViewer_ctl01_ctl02_ctl00_ctl00");
    var disableHover = document.getElementById("rptViewer_ctl01_ctl02_ctl00_ctl01");
    if (enableHover == null || disableHover == null)
        return;
    if (shouldEnable)
    {
        enableHover.style.display = "";
        disableHover.style.display = "none";
    }
    else
    {
        disableHover.style.display = "";
        enableHover.style.display = "none";
    }
}function ClientImageTogglerptViewer_ctl01_ctl07_ctl00(shouldEnable)
{
    var enableHover = document.getElementById("rptViewer_ctl01_ctl07_ctl00_ctl00");
    var disableHover = document.getElementById("rptViewer_ctl01_ctl07_ctl00_ctl01");
    if (enableHover == null || disableHover == null)
        return;
    if (shouldEnable)
    {
        enableHover.style.display = "";
        disableHover.style.display = "none";
    }
    else
    {
        disableHover.style.display = "";
        enableHover.style.display = "none";
    }
}//]]>
</script>
    <table width="100%">
        <tr>
            <td class="h2title" colspan="4">
            </td>
        </tr>
        <tr>
            <td colspan="4" class="h4title">
            </td>
        </tr>
        <tr>
            <td colspan="4">
                <div style="position: absolute; width: 100%;">
                    <br />
                    <div id="rptViewer" style="display:inline-block;height:760px;width:800px;">
<div id="rptViewer_ctl01" style="display:inline-block;font-family:Verdana;font-size:8pt;width:800px;display:inline;background-color:#ECE9D8;">
  <div style="background-color:#ECE9D8;padding-left:6px;background-color:#ECE9D8;">
   <div id="rptViewer_ctl01_ctl00" style="display:none;font-family:Verdana;font-size:8pt;height:30px;">
    <table cellpadding="0" cellspacing="0" style="display:inline;">
     <tr>
      <td height="28px"><table id="rptViewer_ctl01_ctl00_ctl00" onclick="ClientToolbarrptViewer_ctl01.OnDocMapClick();" onclick="if (true) {__doPostBack(&#39;rptViewer$ctl01$ctl00$ctl00&#39;,&#39;&#39;);} return false;" onmouseover="HoverImagerptViewer_ctl01_ctl00_ctl00.OnHover();" onmouseout="HoverImagerptViewer_ctl01_ctl00_ctl00.OnNormal();" title="Show / Hide Document Map">
       <tr>
        <td><input type="image" name="rptViewer$ctl01$ctl00$ctl00$ctl00" title="Show / Hide Document Map" src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Icons.DocMap.gif" alt="Show / Hide Document Map" style="height:16px;width:16px;border-width:0px;padding:2px;" /></td>
       </tr>
      </table><script>
       HoverImagerptViewer_ctl01_ctl00_ctl00.OnNormal();
      </script></td><td width="4px"></td><td height="28px"><input type="hidden" name="rptViewer$ctl01$ctl00$ctl01" id="rptViewer_ctl01_ctl00_ctl01" value="true" /></td>
     </tr>
    </table>
   </div><table cellpadding="0" cellspacing="0" ToolbarSpacer="true" style="display:none;">
    <tr>
     <td style="width:20px;"></td>
    </tr>
   </table><div style="display:inline;font-family:Verdana;font-size:8pt;height:30px;">
    <table cellpadding="0" cellspacing="0" style="display:inline;">
     <tr>
      <td height="28px"><div id="rptViewer_ctl01_ctl01_ctl00">
       <table id="rptViewer_ctl01_ctl01_ctl00_ctl00" onclick="if (!ClientControllerrptViewer.HandleClientSidePageNav(1)) {__doPostBack(&#39;rptViewer$ctl01$ctl01$ctl00$ctl00&#39;,&#39;&#39;);} return false;" onmouseover="HoverImagerptViewer_ctl01_ctl01_ctl00_ctl00.OnHover();" onmouseout="HoverImagerptViewer_ctl01_ctl01_ctl00_ctl00.OnNormal();" title="First Page" style="display:none;">
        <tr>
         <td><input type="image" name="rptViewer$ctl01$ctl01$ctl00$ctl00$ctl00" title="First Page" src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Icons.FirstPage.gif" alt="First Page" style="height:16px;width:16px;border-width:0px;padding:2px;" /></td>
        </tr>
       </table><script>
        HoverImagerptViewer_ctl01_ctl01_ctl00_ctl00.OnNormal();
       </script><table id="rptViewer_ctl01_ctl01_ctl00_ctl01" disabled="disabled" onmouseout="HoverImagerptViewer_ctl01_ctl01_ctl00_ctl01.OnNormal();" title="First Page">
        <tr>
         <td><input type="image" name="rptViewer$ctl01$ctl01$ctl00$ctl01$ctl00" disabled="disabled" title="First Page" src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Icons.FirstPageDisabled.gif" alt="First Page" style="height:16px;width:16px;border-width:0px;padding:2px;" /></td>
        </tr>
       </table><script>
        HoverImagerptViewer_ctl01_ctl01_ctl00_ctl01.OnNormal();
       </script>
      </div></td><td width="4px"></td><td height="28px"><div id="rptViewer_ctl01_ctl01_ctl01">
       <table id="rptViewer_ctl01_ctl01_ctl01_ctl00" onclick="if (!ClientControllerrptViewer.HandleClientSidePageNav(ClientControllerrptViewer.CurrentPage - 1)) {__doPostBack(&#39;rptViewer$ctl01$ctl01$ctl01$ctl00&#39;,&#39;&#39;);} return false;" onmouseover="HoverImagerptViewer_ctl01_ctl01_ctl01_ctl00.OnHover();" onmouseout="HoverImagerptViewer_ctl01_ctl01_ctl01_ctl00.OnNormal();" title="Previous Page" style="display:none;">
        <tr>
         <td><input type="image" name="rptViewer$ctl01$ctl01$ctl01$ctl00$ctl00" title="Previous Page" src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Icons.PrevPage.gif" alt="Previous Page" style="height:16px;width:16px;border-width:0px;padding:2px;" /></td>
        </tr>
       </table><script>
        HoverImagerptViewer_ctl01_ctl01_ctl01_ctl00.OnNormal();
       </script><table id="rptViewer_ctl01_ctl01_ctl01_ctl01" disabled="disabled" onmouseout="HoverImagerptViewer_ctl01_ctl01_ctl01_ctl01.OnNormal();" title="Previous Page">
        <tr>
         <td><input type="image" name="rptViewer$ctl01$ctl01$ctl01$ctl01$ctl00" disabled="disabled" title="Previous Page" src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Icons.PrevPageDisabled.gif" alt="Previous Page" style="height:16px;width:16px;border-width:0px;padding:2px;" /></td>
        </tr>
       </table><script>
        HoverImagerptViewer_ctl01_ctl01_ctl01_ctl01.OnNormal();
       </script>
      </div></td><td width="4px"></td><td height="28px"><input name="rptViewer$ctl01$ctl01$ctl02" type="text" maxlength="8" size="3" id="rptViewer_ctl01_ctl01_ctl02" disabled="disabled" title="Current Page" class="PageNumberText" onkeypress="if (event.keyCode == 10 || event.keyCode == 13) {if (!ClientControllerrptViewer.HandleUserTextPageChange(this.value)) {__doPostBack(&#39;rptViewer$ctl01$ctl01$ctl02&#39;,&#39;&#39;)} return false;}" style="font-family:Verdana;font-size:8pt;" /></td><td width="4px"></td><td height="28px"><span style="font-family:Verdana;font-size:8pt;">of</span></td><td width="4px"></td><td height="28px"><span id="rptViewer_ctl01_ctl01_ctl04" style="font-family:Verdana;font-size:8pt;">0</span></td><td width="4px"></td><td height="28px"><div id="rptViewer_ctl01_ctl01_ctl05">
       <table id="rptViewer_ctl01_ctl01_ctl05_ctl00" onclick="if (!ClientControllerrptViewer.HandleClientSidePageNav(ClientControllerrptViewer.CurrentPage + 1)) {__doPostBack(&#39;rptViewer$ctl01$ctl01$ctl05$ctl00&#39;,&#39;&#39;);} return false;" onmouseover="HoverImagerptViewer_ctl01_ctl01_ctl05_ctl00.OnHover();" onmouseout="HoverImagerptViewer_ctl01_ctl01_ctl05_ctl00.OnNormal();" title="Next Page" style="display:none;">
        <tr>
         <td><input type="image" name="rptViewer$ctl01$ctl01$ctl05$ctl00$ctl00" title="Next Page" src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Icons.NextPage.gif" alt="Next Page" style="height:16px;width:16px;border-width:0px;padding:2px;" /></td>
        </tr>
       </table><script>
        HoverImagerptViewer_ctl01_ctl01_ctl05_ctl00.OnNormal();
       </script><table id="rptViewer_ctl01_ctl01_ctl05_ctl01" disabled="disabled" onmouseout="HoverImagerptViewer_ctl01_ctl01_ctl05_ctl01.OnNormal();" title="Next Page">
        <tr>
         <td><input type="image" name="rptViewer$ctl01$ctl01$ctl05$ctl01$ctl00" disabled="disabled" title="Next Page" src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Icons.NextPageDisabled.gif" alt="Next Page" style="height:16px;width:16px;border-width:0px;padding:2px;" /></td>
        </tr>
       </table><script>
        HoverImagerptViewer_ctl01_ctl01_ctl05_ctl01.OnNormal();
       </script>
      </div></td><td width="4px"></td><td height="28px"><div id="rptViewer_ctl01_ctl01_ctl06">
       <table id="rptViewer_ctl01_ctl01_ctl06_ctl00" onclick="if (!ClientControllerrptViewer.HandleClientSidePageNav(ClientControllerrptViewer.TotalPages)) {__doPostBack(&#39;rptViewer$ctl01$ctl01$ctl06$ctl00&#39;,&#39;&#39;);} return false;" onmouseover="HoverImagerptViewer_ctl01_ctl01_ctl06_ctl00.OnHover();" onmouseout="HoverImagerptViewer_ctl01_ctl01_ctl06_ctl00.OnNormal();" title="Last Page" style="display:none;">
        <tr>
         <td><input type="image" name="rptViewer$ctl01$ctl01$ctl06$ctl00$ctl00" title="Last Page" src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Icons.LastPage.gif" alt="Last Page" style="height:16px;width:16px;border-width:0px;padding:2px;" /></td>
        </tr>
       </table><script>
        HoverImagerptViewer_ctl01_ctl01_ctl06_ctl00.OnNormal();
       </script><table id="rptViewer_ctl01_ctl01_ctl06_ctl01" disabled="disabled" onmouseout="HoverImagerptViewer_ctl01_ctl01_ctl06_ctl01.OnNormal();" title="Last Page">
        <tr>
         <td><input type="image" name="rptViewer$ctl01$ctl01$ctl06$ctl01$ctl00" disabled="disabled" title="Last Page" src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Icons.LastPageDisabled.gif" alt="Last Page" style="height:16px;width:16px;border-width:0px;padding:2px;" /></td>
        </tr>
       </table><script>
        HoverImagerptViewer_ctl01_ctl01_ctl06_ctl01.OnNormal();
       </script>
      </div></td>
     </tr>
    </table>
   </div><table cellpadding="0" cellspacing="0" ToolbarSpacer="true" style="display:inline;">
    <tr>
     <td style="width:20px;"></td>
    </tr>
   </table><div style="display:inline;font-family:Verdana;font-size:8pt;height:30px;">
    <table cellpadding="0" cellspacing="0" style="display:inline;">
     <tr>
      <td height="28px"><select name="rptViewer$ctl01$ctl03$ctl00" id="rptViewer_ctl01_ctl03_ctl00" title="Zoom" onchange="ClientToolbarrptViewer_ctl01.OnZoomChanged(event.srcElement.value);" disabled="disabled" style="font-family:Verdana;font-size:8pt;">
       <option value="PageWidth">Page Width</option>
       <option value="FullPage">Whole Page</option>
       <option value="500">500%</option>
       <option value="200">200%</option>
       <option value="150">150%</option>
       <option selected="selected" value="100">100%</option>
       <option value="75">75%</option>
       <option value="50">50%</option>
       <option value="25">25%</option>
       <option value="10">10%</option>
      </select></td>
     </tr>
    </table>
   </div><table cellpadding="0" cellspacing="0" ToolbarSpacer="true" style="display:inline;">
    <tr>
     <td style="width:20px;"></td>
    </tr>
   </table><div style="display:inline;font-family:Verdana;font-size:8pt;height:30px;">
    <table cellpadding="0" cellspacing="0" style="display:inline;">
     <tr>
      <td height="28px"><input name="rptViewer$ctl01$ctl04$ctl00" type="text" maxlength="255" size="10" id="rptViewer_ctl01_ctl04_ctl00" title="Find Text" onpropertychange="ClientToolbarrptViewer_ctl01.OnFindTextChange();" onkeypress="if (event.keyCode == 10 || event.keyCode == 13) {ClientControllerrptViewer.HandleClientSideFind(); return false;}" style="font-family:Verdana;font-size:8pt;" /></td><td width="4px"></td><td height="28px"><a id="rptViewer_ctl01_ctl04_ctl01" onclick="ClientControllerrptViewer.HandleClientSideFind();return false;" onmouseover="TextLinkrptViewer_ctl01_ctl04_ctl01.OnLinkHover();" onmouseout="TextLinkrptViewer_ctl01_ctl04_ctl01.OnLinkNormal();" title="Find" href="#" style="font-family:Verdana;font-size:8pt;color:Gray;text-decoration:none;">Find</a></td><td width="4px"></td><td height="28px"><span style="font-family:Verdana;font-size:8pt;">|</span></td><td width="4px"></td><td height="28px"><a id="rptViewer_ctl01_ctl04_ctl03" onclick="ClientControllerrptViewer.HandleClientSideFindNext();return false;" onmouseover="TextLinkrptViewer_ctl01_ctl04_ctl03.OnLinkHover();" onmouseout="TextLinkrptViewer_ctl01_ctl04_ctl03.OnLinkNormal();" title="Find Next" href="#" style="font-family:Verdana;font-size:8pt;color:Gray;text-decoration:none;">Next</a></td>
     </tr>
    </table>
   </div><table cellpadding="0" cellspacing="0" ToolbarSpacer="true" style="display:inline;">
    <tr>
     <td style="width:20px;"></td>
    </tr>
   </table><div style="display:inline;font-family:Verdana;font-size:8pt;height:30px;">
    <table cellpadding="0" cellspacing="0" style="display:inline;">
     <tr>
      <td height="28px"><select name="rptViewer$ctl01$ctl05$ctl00" id="rptViewer_ctl01_ctl05_ctl00" title="Export Formats" onChange="ClientToolbarrptViewer_ctl01.OnExportFormatChanged();" style="font-family:Verdana;font-size:8pt;">
       <option selected="selected" value="Select a format">Select a format</option>
       <option value="Excel">Excel</option>
       <option value="PDF">Acrobat (PDF) file</option>
      </select></td><td width="4px"></td><td height="28px"><a id="rptViewer_ctl01_ctl05_ctl01" onclick="if (document.getElementById(&#39;rptViewer_ctl01_ctl05_ctl00&#39;).selectedIndex == 0) return false; if (!ClientToolbarrptViewer_ctl01.HandleClientSideExport()) __doPostBack(&#39;rptViewer$ctl01$ctl05$ctl01&#39;,&#39;&#39;);return false;" onmouseover="TextLinkrptViewer_ctl01_ctl05_ctl01.OnLinkHover();" onmouseout="TextLinkrptViewer_ctl01_ctl05_ctl01.OnLinkNormal();" title="Export" href="#" style="font-family:Verdana;font-size:8pt;color:Gray;text-decoration:none;">Export</a></td>
     </tr>
    </table>
   </div><table cellpadding="0" cellspacing="0" ToolbarSpacer="true" style="display:inline;">
    <tr>
     <td style="width:20px;"></td>
    </tr>
   </table><div style="display:inline;font-family:Verdana;font-size:8pt;height:30px;">
    <table cellpadding="0" cellspacing="0" style="display:inline;">
     <tr>
      <td height="28px"><table id="rptViewer_ctl01_ctl06_ctl00" onclick="if (ClientToolbarrptViewer_ctl01.m_clientController.ActionHandler(&#39;Refresh&#39;, null), false) {__doPostBack(&#39;rptViewer$ctl01$ctl06$ctl00&#39;,&#39;&#39;);} return false;" onmouseover="HoverImagerptViewer_ctl01_ctl06_ctl00.OnHover();" onmouseout="HoverImagerptViewer_ctl01_ctl06_ctl00.OnNormal();" title="Refresh">
       <tr>
        <td><input type="image" name="rptViewer$ctl01$ctl06$ctl00$ctl00" title="Refresh" src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Icons.Refresh.gif" alt="Refresh" style="height:16px;width:16px;border-width:0px;padding:2px;" /></td>
       </tr>
      </table><script>
       HoverImagerptViewer_ctl01_ctl06_ctl00.OnNormal();
      </script></td>
     </tr>
    </table>
   </div>
  </div>
</div><input type="hidden" name="rptViewer$ctl04" id="rptViewer_ctl04" /><input type="hidden" name="rptViewer$ctl05" id="rptViewer_ctl05" /><input type="hidden" name="rptViewer$ctl06" id="rptViewer_ctl06" value="0" /><noscript>
  &nbsp;Your browser does not support scripts or has been configured not to allow scripts.
</noscript><span id="rptViewer_ctl03" style="cursor:wait;display:none;"><table width="100%" height="100%">
  <tr>
   <td style="vertical-align:middle;text-align:center;"><img src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=8.0.50727.5677&amp;Name=Icons.SpinningWheel.gif" style="height:32px;width:32px;border-width:0px;" /><br>
   </br><span style="font-family:Verdana;font-size:14pt;">Report is being generated</span></td>
  </tr>
</table></span><iframe src="/Reserved.ReportViewerWebControl.axd?OpType=DocMapReport&amp;ClientController=ClientControllerrptViewer&amp;ReportUrl=%2fReserved.ReportViewerWebControl.axd%3fMode%3dtrue%26ReportID%3d1042a75aa31d420cac1bdd975a57174c%26ControlID%3dd930a8478e42474b85a27a870ef1d567%26Culture%3d1033%26UICulture%3d1033%26ReportStack%3d1%26OpType%3dReportArea%26Controller%3dClientControllerrptViewer%26PageNumber%3d1%26ZoomMode%3dPercent%26ZoomPct%3d100%26ReloadDocMap%3dtrue%26SearchStartPage%3d0%26LinkTarget%3d_top" frameborder="0" id="ReportFramerptViewer" name="ReportFramerptViewer" style="width:100%;height:100%;border-top:1px Black Solid;display:none;">
</iframe>
</div><iframe name="rptViewerTouchSession0" id="rptViewerTouchSession0" onload="if (frames[&#39;rptViewerTouchSession0&#39;].location != &#39;javascript:&#39;&#39;&#39;) frames[&#39;rptViewerTouchSession0&#39;].location.replace(&#39;javascript:&#39;&#39;&#39;);" src="javascript:&#39;&#39;" style="position:absolute;width:0;height:0;visibility:hidden;">
</iframe><script type="text/javascript">
setTimeout("frames['rptViewerTouchSession0'].location.replace('/Reserved.ReportViewerWebControl.axd?Mode=true&ReportID=ac450804d8384b9ca31fab817c23b484&ControlID=d930a8478e42474b85a27a870ef1d567&Culture=1033&UICulture=1033&ReportStack=1&OpType=SessionKeepAlive&TimerMethod=KeepAliveMethodrptViewerTouchSession0&CacheSeed=' + encodeURIComponent(Date()));", 0);function KeepAliveMethodrptViewerTouchSession0() {setTimeout("frames['rptViewerTouchSession0'].location.replace('/Reserved.ReportViewerWebControl.axd?Mode=true&ReportID=ac450804d8384b9ca31fab817c23b484&ControlID=d930a8478e42474b85a27a870ef1d567&Culture=1033&UICulture=1033&ReportStack=1&OpType=SessionKeepAlive&TimerMethod=KeepAliveMethodrptViewerTouchSession0&CacheSeed=' + encodeURIComponent(Date()));", 1140000);}
</script><script type="text/javascript">
ClientControllerrptViewer.ShowInitialWaitFrame();
</script>
                    <!-- ARN Reports -->
                  
                  
                  
                  
                  
                  
                    <!-- Added by JJ Bug No:96 Provier Drug Report Format is incomplete-->
                    <!-- Modified by HA/Sandeep to add LicenseID to the report-->
                  
                  
                  
                  
                    <!-- Added by JJ Nov 24 Patient Medication Information for patient med history report -->
                  
                    <!-- HA/Sandeep Added this block Nov 27 Prescription History by Medication -->
                  
                  
                  
                  
                  
                  
                  
                  
                    <!-- HA/Sandeep added for Pharmacy Utilization Detail report-->
                  
                    <!-- Pharmacy Refill Report -->
                  
                  
                  
                  
                  
                  
                </div>
            </td>
        </tr>
        <tr class="h3title" align="center">
            <td colspan="4">
                <input type="submit" name="btnPrint" value="Print Report" id="btnPrint" class="btnstyle" style="height:1px;width:1px;" />
            </td>
        </tr>
    </table>
    </form>
</body>
</html>

Snooping in there I do see the strings title="Export Formats" and title="Export" which is very encouraging.

How do I reference these fields that appear to be part of PrintReport.aspx when my scripts main Internet Explorer object ($oIE) only seems to expose what at the PrescriptionDetail.aspx level?

I'd guess I need some sort of $oIE2 object hooked to PrintReport.aspx and then either of these would work?

$oExportFormat = _IEGetObjByName($oIE2, "rptViewer$ctl01$ctl05$ctl00")
$oExportFormat = _IEGetObjByID($oIE2, "rptViewer_ctl01_ctl05_ctl00")
Edited by Spiff59

Share this post


Link to post
Share on other sites

#11 ·  Posted (edited)

See _IEFrameGetObjByName and use the object returned like you use $oIE

Dale

Edited by DaleHohm

Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Share this post


Link to post
Share on other sites

Sweet!

After unsuccessfully trying a couple strings embedded in the source I posted above, I noticed DebugBar showed the frame as "name=iframe1". K-ching! I was just jumping focus back and forth betweem some of the controls embedded in that toolbar!

Life is good.

Thank you Dale, jdelaney, Blue

Share this post


Link to post
Share on other sites

I'm having a similar issue, dont mean to hijack but you seemed to have figured it out.

I've been making a smart copy paste tool to use at work, the copying is easy enough, the paste is a bit more tricky though. In order to know what to paste Im using document.activelement, but there's a couple of systems that don't return anything.

The code looked a bit similar. using .aspx and there's larg chucks of the source that's encrypted like the block you posted.

My Dom loops are cycling through frames and then looping again for elements, but still can't seem to get a return on activelement.

Any thoughts?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0