Our ERP system uses Crystal Reports to generate Company Stationary, which is used with an automail process to send out via email
In this case a user has ask if they could, at run time, type in a message on a Customer Statement, for example "Hi here is your statement please see invoice 00022 this is the one with the query". Clearly this message may not always be required and would be different at each run.
The only method to do this I have found is to use a txt parameter, but the problem is the input box at run time does not explain with the text typed, so if you make a typo you can not see it.
Can this be done with a pop up box in code?
I have looked for examples but not found anything
This isn't something that Crystal itself supports. It's read-only: Once a report is loaded, it's done calculating. If you refresh it, it performs the same calculations.
Like you said, you could use a text parameter where the user could enter a single clump of notes. In theory you could even include a parameter where you enter the invoice numbers that you want the message to appear next to. But that opens the whole can of worms regarding "How do I error check this?" and "What if the invoice number is in the wrong place?"
In short this isn't something you'd want to attempt in Crystal. If this report is launched by an app you developed, I'd try to make it a feature in the app. But reports are effectively read-only, and short of writing your own SQL commands, you'll have a bad time trying to write with a read-only system.
Related
I am trying to create a script that will auto-email a person. Basically, this sheet is going to have a list of items and track those items, and I need to assign each item when it comes it. When I assign it to a person's name, I want the script to then email that person. There are only about 15 people, but I assume I would need a script for each person aka if I put "Sally" in the sheet, there is a script to now email "Sally" to say she has been added to this task.
Ideally, I would like a way to also generate an email again to "Sally" if I update her task, add a comment to it, or do another input to do some sort of follow-up.
Any help would be appreciated immensely!
It wont be good to directly post the complete solution but I will mention the required functionalities which I get in my mind , please use them to solve your task:
onEdit(e) - use this to trigger a particular set of functions whenever a particular range or cell value is changed(it may be automated or manual both can trigger this function) look into the official documentation for how to detect the changes occurred in which cell(https://developers.google.com/apps-script/guides/triggers)
once the new task is assigned to a person(for first time) send an email to that person using GmailApp(install the library in app script) , get the ThreadById of this email and store it into the sheet along the same row, if any changes are made afterwords like adding comments or something,use this threadId to reply to the same email using "thread.reply"(How do you reply to email thread with google Mailapp?)
I think you have also asked how to make the system dynamic, I mean you are right now coding as if each member needs a code for his/her entry. Please study a bit deeper you will easily find an approach to make it dynamic using the onEdit and some for loops as the way you are thinking is not recommended in automation scenarios.
G'day!
I'm using a command to bring up information from our main pay database. This part of the report is working just fine.
I'd like to be able to prompt the user to specify their datasource location using a parameter field, in case they'd like to be able to use one of their pay test databases. Kind of like prompting for a date, but being able to connect to a different database.
Is there a way to do this? I'd thought maybe creating a {?source} parameter field in the command, and beginning the command with USE {?source}, but it doesn't really feel right, or like it would work as I'm basically trying to change the current connection through code.
Thanks for your time!
This is possible but the moment when the report is started will be too late to set the datasource.
You can create some logic in your app to get the desired datasource and when the user starts the report you will set it
I've recently started using filemaker to create some contact databases. I played around with one of the templates and after having tweaked the template to a point where its got all the data I need on it, I've found that I messed some things up in the process.
All the things listed below seem to have been affected.
'View Contact List Report' no longer works
'View Address Labels' no longer works
(Both show a prompt saying "no matching records were found")
the avery label printer doesn't show anything more than the name of each record.
(NB: All of these were working fine with the standard untouched template)
I'm guessing that because I altered the names of the fields, their corresponding scripts, calculations are no longer valid..
Where do I go to fix these scripts/calculations/etc (i.e. replace old field names with new ones..) is there any way I can edit the current ones or have a shot myself in the foot?
It sounds like you deleted some fields. If you simply renamed fields then the scripts should still work, unless you changed the data around drastically (perhaps the script is doing a find on a field that should contain some specific type which is no longer set in the field...) Go to layout mode, find out what script the button is calling and then open the script and re-set any set field steps that are calling missing fields and you should be good to go.
FileMaker doesn't normally rely on names, so users are free to rename everything. It's possible to write code that does depend on names, but it must be an explicit decision and I'm not really sure they did this in templates.
But who knows; to check this figure out which scripts run these reports. To do this switch to the layout mode and double click the buttons (or right-click and select "Button" from the context menu). Open scripts, find the script there, and see if it does anything suspicious.
I want to be able to search an html page that is refreshing every 10 seconds for the word "stat". If the word is found I then want to alert the user through a pop up dialog and possibly a repeating sound until the user acknowledges it.
UPDATE:
Sorry the question was a bit ambiguous. I do not know a great deal about this stuff I just do it as a hobby.
OK so here is the deal. I work as Biomedical Electronics Technician for a hospital. We have a work order system that is web based. Nurses can enter a work order into this system. I have a browser window open at all times that refreshes periodically through an add-on for IE so I can always be up to date on the status of the work orders coming in. When a nurse the enters enters a work order they have the option of choosing Stat, High, Medium, or Low for the priority. When a stat work order is placed our response time should be within five minutes theoretically. I want some way to alert myself when a stat work order has been placed so I can respond accordingly. And I know a repeating sound would be annoying, but that might be the best way to get my attention.
Another caveat to this is the work order status can be changed by me, the tech. So when a work order is initially placed the status is Not assigned or something like that. Once I go start on a work order I change the status to In Progress. If I have to order a part I change the status to Hold for Parts, etc. So basically, what I am saying is I don't want to alerted if the status is anything but "Not assigned". If it will help I will get a copy of the source of the page when I get to work tomorrow.
Our IT department seems unwilling to help and the company that made the product is so busy chasing the daily bugs that show up to add new features such as this at this time. If I knew more a Google search might help, but alas I am a bit noobish in the programming realm, however I am 2 years from a C.S. degree so I am not a complete novice.
To answer another question, I do not have access to the page I am just viewing it so any sort of script would need to run on my client machine.
Thanks
I found this, try it https://addons.mozilla.org/en-US/firefox/addon/3028/
Maybe it can search for STAT on the entire page?
Based off your description, it doesn't sound like you have access to the server to change the code of the page itself, correct?
If that's the case, spend some time learning how to use Greasemonkey (or rather Greasemonkey for IE). It allows you to add functionality to a web page from the client (browser) side, regardless of what's on the server.
You'll need to find the elements that hold the "stat" term your after, and have it check periodically those elements periodically. Look into the setTimeout method for that periodicity. The rest you'll have to work out specific to that page.
What you're looking for, since you have python available, is to build a simple, easy to use webscraper.
First link is how i would do it quick and dirty.
http://www.ehow.com/how_4436125_read-web-page-using-python.html
Second link is a bit more robust and nifty with BeautifulSoup
http://www.builderau.com.au/program/python/soa/Build-a-basic-Web-scraper-in-Python/0,2000064084,339281476,00.htm
Basically, read the page (even set the whole loop on a 10 second refresh timer).
Go line by line with a while readline loop.
See if one of your magic words exists with a regular expression
...
profit?
(... meaning do your alert song and dance)
(profit being rejoice!)
I'm currently using CR 2008 for design and running my reports in InfoView. I have a fairly standard report with about 6 groupings and 2 details sections. The groupings are all hierarchichal and can be drilled into. The report contains 5 parameters that the user has access to edit in Infoview.
My problem occurs only when users change any parameter on the report and then attempt to drill down in the report. The result always ends up that the drill down will display the very first Group, with drill down, in the report rather than the one they selected to drill into. If a user enters the report and drills into any group without changing the parameters, everything works as expected.
Has anyone ever seen this kind of behavior or know of a reason that this might be happening? Please help.
Thank You,
Patrick Johnson
This is a bit of a reach, but when you change the parameters, are you refreshing the data (ie. don't use the saved data that was pulled originally). I believe something may be going wrong because of that.
Always, always, always choose to refresh your data.