Printing Pipeline Targets

Discussions related to SoftPro Select user interface development.

Moderator: Phil Barton

roteague
Posts: 292
Joined: Thu Sep 25, 2008 4:49 pm
Location: Honolulu, Hawaii

Re: Printing Pipeline Targets

Post by roteague »

Mark McKenna wrote:Actually, Robert, my mistake. It looks like this had already been implemented in version 2.3 ("Morgan"), which we released some months back.
Mark, I'm using 2.3, and can't find any property by that name. I see Target, CoreOrder, EmailRecipientsTo, WatermarkText, Order and RawView as Properties.

One additional question. It looks like CoreOrder is actually an IOrder. Is this correct? (meaning I could cast that property value into an IOrder, so I don't have to call SelectServer).

Thanks again,

Robert
Robert
Mark McKenna

Re: Printing Pipeline Targets

Post by Mark McKenna »

The property bag entries don't exist until they are assigned to. What you are seeing is the fact that we don't put any PrinterSettings into the print job. But if you do, inside your upstream handler, then Select will recognize it inside the printer print job handler that follows up. Our "Auto-Print Transaction Form" option from the Edit Transaction dialogs exploits this feature the same way you are intending to.

There is a defined constant for this key string located at SoftPro.Select.Shell.Printing.PrinterSettings.

As an aside, it's important to recognize that property bag entries are simple String->Object mappings. As such, they can technically (a) not exist, (b) exist, but with null values, (c) exist, but with values of incorrect/unexpected types, or (d) exist with values of correct types. The property bag is open. This is a powerful feature (e.g. you can use it to allow two handlers to "talk" to each other using your own keys and objects, etc.), but it also suggests that there is risk in assuming that a particular key exists, or that the value behind an existing key is non-null, or that it is of the correct type.

To your other question, the "Order" key value is of interface type SoftPro.OrderTracking.Client.IOrder (the exposed proxy object), and "CoreOrder" is of (internal) type Order. You should be able to access/cast the IOrder through the "Order" key.
roteague
Posts: 292
Joined: Thu Sep 25, 2008 4:49 pm
Location: Honolulu, Hawaii

Re: Printing Pipeline Targets

Post by roteague »

Thanks Mark, that is a tremendous help.
Robert
Post Reply