I was adding a Smartlist to GP for a custom feature I added using Dexterity. When I went to create a Go To for this Smartlist so it could open my Dex Inquiry form for the feature I could not find the form.
Fortunately I had a test environment and the feature worked there. Using a SQL debug in GP I was able to isolate the issue to missing entries in the EXT90103 table. This is an Extender table, but we don't use the Extender product with GP.
I was able to add the entries that were missing from the dev system and this resolved the issue - my inquiry form was then available.
I don't understand the reason for the issue but am glad I was able to find a work-around.
I'm a former Microsoft Dynamics consultant specializing in SQL Server integrations, reports and customizations.
Friday, December 22, 2017
Thursday, December 21, 2017
Vendor Lookup in Dexterity
Spent the better part of this day on this one so here's hoping you don't have the same.
I was trying to add a vendor lookup to my custom Dexterity window. Using the traditional script of "open window ... return to" and "run redisplay button" was getting me nowhere. The vendor lookup window opened but there were no vendors in the scrolling window.
The win in this was to set the sort option on the window. Here is my code that worked.
open form Vendor_Lookup return to 'Vendor ID';
'Vendor ID' of window Vendor_Lookup of form Vendor_Lookup = 'Vendor ID';
'Vendor Sort By' of window Vendor_Lookup of form Vendor_Lookup = 1;
run script 'Redisplay Button' of window Vendor_Lookup of form Vendor_Lookup;
Bottom line is if you're trying to open an existing GP lookup and getting no data try to set the "Sort By" field.
I was trying to add a vendor lookup to my custom Dexterity window. Using the traditional script of "open window ... return to" and "run redisplay button" was getting me nowhere. The vendor lookup window opened but there were no vendors in the scrolling window.
The win in this was to set the sort option on the window. Here is my code that worked.
open form Vendor_Lookup return to 'Vendor ID';
'Vendor ID' of window Vendor_Lookup of form Vendor_Lookup = 'Vendor ID';
'Vendor Sort By' of window Vendor_Lookup of form Vendor_Lookup = 1;
run script 'Redisplay Button' of window Vendor_Lookup of form Vendor_Lookup;
Bottom line is if you're trying to open an existing GP lookup and getting no data try to set the "Sort By" field.
Monday, December 11, 2017
GP Dexterity open PO Receiving Inquiry window
Recently I developed a window to ease invoice/shipment matching in AP. I thought it would be nice if I could give them a link to open the Receiving Inquiry window so they could view the entire transaction. You see I was just giving them a list of select fields.
Took me a bit of work but I figured this out. I first did a debug from the Purchase Order Documents Inquiry window, that opens the Receiving Inquiry window. I found the following lines.
Historical shipment transactions:
'OpenWindow() of form POP_Inquiry_Receivings_Entry', 0, "0022708", 2, 3, 1
Open shipment transactions:
'OpenWindow() of form POP_Inquiry_Receivings_Entry', 0, "0053442", 2, 4, 1
The closed parenthesis means OpenWindow is a function in the form.
Further I found this in the SDK:
------------------------------------------------------------------------
PURCHASING FORM FUNCTION: OpenWindow
of form POP_Inquiry_Receivings_Entry
------------------------------------------------------------------------
function returns integer nStatus;
in 'POP Receipt Number' sRcptID;
in integer nMenu;
in integer nOrigin;
optional in integer nCurrencyView=CURRENCYVIEW_ORIGINATING;
I have no clue what nMenu is for. Further research and testing is required.
To call this function and open the Inquiry window you would do something like this in Dexterity:
local long fnresult;
local integer posted;
clear table POP_Receipt;
'POP Receipt Number' of table POP_Receipt = receiptnumber;
get table POP_Receipt;
if err() = OKAY then
set posted to 4; {work}
else
set posted to 3; {history}
end if;
fnresult = OpenWindow(ReceiptNumber, 2, posted, CURRENCYVIEW_FUNCTIONAL) of form POP_Inquiry_Invoice_Entry;
There are other nOrigin values, I am sure. If anyone figures those out or what nMenu is please add in comments. I will update as I find those other values.
Took me a bit of work but I figured this out. I first did a debug from the Purchase Order Documents Inquiry window, that opens the Receiving Inquiry window. I found the following lines.
Historical shipment transactions:
'OpenWindow() of form POP_Inquiry_Receivings_Entry', 0, "0022708", 2, 3, 1
Open shipment transactions:
'OpenWindow() of form POP_Inquiry_Receivings_Entry', 0, "0053442", 2, 4, 1
The closed parenthesis means OpenWindow is a function in the form.
Further I found this in the SDK:
------------------------------------------------------------------------
PURCHASING FORM FUNCTION: OpenWindow
of form POP_Inquiry_Receivings_Entry
------------------------------------------------------------------------
function returns integer nStatus;
in 'POP Receipt Number' sRcptID;
in integer nMenu;
in integer nOrigin;
optional in integer nCurrencyView=CURRENCYVIEW_ORIGINATING;
I have no clue what nMenu is for. Further research and testing is required.
To call this function and open the Inquiry window you would do something like this in Dexterity:
local long fnresult;
local integer posted;
clear table POP_Receipt;
'POP Receipt Number' of table POP_Receipt = receiptnumber;
get table POP_Receipt;
if err() = OKAY then
set posted to 4; {work}
else
set posted to 3; {history}
end if;
fnresult = OpenWindow(ReceiptNumber, 2, posted, CURRENCYVIEW_FUNCTIONAL) of form POP_Inquiry_Invoice_Entry;
There are other nOrigin values, I am sure. If anyone figures those out or what nMenu is please add in comments. I will update as I find those other values.