Home | Forums | Contact | Search | Syndication  
 
 [login] [create account]   Tuesday, September 17, 2019 
 
View User Profile  

 User Profile - Guy Barrett  
Guy Barrett
Stanley Gibbons Ltd

fiogf49gjkf0d


Log in to send this member a message!
 


 Guy Barrett's Contributions
Guy Barrett has contributed 9 comments and 0 articles.
 
Select to view:    
Comment: Re: How to generically invoke the edit form for a SalesLogix datagrid
fiogf49gjkf0d

Ok. Delete half of my ranting above if it's taking up unneccessary space. I've figured out how to use Application.BasicFunctions.ShowAddForm

Syntax: Function ShowAddForm(ByVal TableName As String, ByVal ViewName As String, [ByVal BindDataPath], [ByVal BindValue]) As String

To keep this simple. Let's say that there are two tables. ACCOUNT and ACCOUNT_BEAN. In ACCOUNT_BEAN we are storing all the different types of bean that the ACCOUNT in question enjoys. Baked, Kidney, Broad etc...

When I invoke ShowAddForm - I want to pass to it the relationship between the ACCOUNT_BEAN and the ACCOUNT itself to integrity is not lost.

For this, I have the following variables...

strACCOUNTID - The AccountID of the account the ACCOUNT_BEAN is related to
strVIEWNAME - The name of the view I am invoking

I would then invoke the function like this...

Application.BasicFunctions.ShowAddForm "ACCOUNT_BEAN", strVIEWNAME, "ACCOUNT_BEAN:ACCOUNTID", strACCOUNTID

Really, really simple when you know how. Getting the knowhow is a different matter entirely! :-)



Author: Guy Barrett - 2/24/2011

 
Comment: Re: How to generically invoke the edit form for a SalesLogix datagrid
fiogf49gjkf0d

Function ShowAddForm(ByVal TableName As String, ByVal ViewName As String, [ByVal BindDataPath], [ByVal BindValue]) As String

This appears that it would do the trick - unfortunately the SLX Dev Ref only mentions it in passing, and I haven't a clue what to pass for the BindDataPath. It looks like I'd have to pass something otherwise it won't tie the new item to the bound table. I've tried passing all but the BindDataPath and this doesn't work. I've also tried passing the table name, this doesn't work. I've also tried passing "TABLENAME:TABLEKEYFIELD" and this doesn't work.

Arrrrgh!



Author: Guy Barrett - 2/24/2011

 
Comment: Re: How to generically invoke the edit form for a SalesLogix datagrid
fiogf49gjkf0d

Application.BasicFunctions.ShowAddForm


DOH!!!!



Author: Guy Barrett - 2/24/2011

 
Comment: Re: How to generically invoke the edit form for a SalesLogix datagrid
fiogf49gjkf0d

Typo... I don't think I can go back and edit my comment.

I meant...

"When you select an item in GRID*1* it changes the BindID of GRID2"



Author: Guy Barrett - 2/24/2011

 
Comment: Re: How to generically invoke the edit form for a SalesLogix datagrid
fiogf49gjkf0d

Indeed it does, thank you, but that's precisely my point.


I'm trying to simulate exactly the same thing that a DBGrid does when you click on the "Add" item in the menu, ShowViewForRecord does not seem to achieve this. When clicking "Add" on the DBGrid it manages to pass the bindings over to the form, so that edit boxes linked to other tables within the form can populate themselves even when it's a new record you're adding. The ShowViewForRecord function does not provide an argument for establishing the foreign key.


I have two data grids..


GRID1 (gets info from TABLE1)
GRID2 (gets info from TABLE2)


When you select an item in GRID2 it changes the BindID of GRID2 to filter the records down as the two tables are linked with a one to many relationship. When you click "Add" on GRID2 to add a record to "TABLE2", the form that displays has automatically established it's link to TABLE1, so any items from TABLE1 you have displaying on that form populate themselves immeditely (even in "Add Mode" - the form is just expecting you to fill out whatever values you want for TABLE2.


This is where is get's a bit whacky. I want to simulate the clicking of "Add" on GRID2 from elsewhere on the window rather than channeling the user into having to right-click on GRID2. Where I'm doing this from is irrelevant I guess, but for the sake of example it could be a button elsewhere on the form, or an additional menu item I have added to GRID1.


Do you know how I can do this, or am I a bit stuffed in this respect? As someone else has mentioned, many moons ago in legacy script you could call "DBGridAddItem" from the grid itself using script, and hey-presto it forced exactly the same reaction as selecting "Add" from the built in grid menu.


Thanks for your quick response though. What was it, about 2 minutes? Aren't you supposed to be at work? ;-)



Author: Guy Barrett - 2/24/2011

 
Comment: Re: How to generically invoke the edit form for a SalesLogix datagrid
fiogf49gjkf0d

I've found a rather big hole in this which I'm hoping someone can help me with.


I'm trying to invoke the edit form tied to a DBGrid in "Add Mode" rather than edit mode, and have done as you suggested because as far as I can see you can't get the DB Grid to invoke it's own edit form like you used to in the old days.


Application.BasicFunctions.ShowViewForRecord "TABLE2", "TABLE2EDITVIEW", ""


This does indeed pull up the correct form in "Add" mode.


However, the DBGrid is 'bound' to another table (TABLE1).


If I manually click on the DBGrid and select "Add", the edit view opens up perfectly in 'Add Mode' and the link back to TABLE1 is already in place (as such, any other edit boxes I have dropped on the form that reference back to TABLE1 prepopulate nicely).


The pain is, if I invoke this form using the ShowViewForRecord code, the secondary key / binding linking it back to TABLE1 is NOT prepopulated. As such, any edit boxes I have dropped on the form that reference back to TABLE1 are blank!


Is there an easy way around this without having to throw global variables around.


(PS. v7.2.2.1871)


Thanks! :-)



Author: Guy Barrett - 2/24/2011

 
Comment: Re: How to Filter a SalesLogix Crystal Report by ID at Runtime
fiogf49gjkf0d
How does this work if I need to use the "in" operator rather than "=" or "<" etc...?

I have tried, but can't seem to get it to work. eg...

Application.BasicFunctions.ReportAddCondition "PRODUCT:PRODUCTID", "in", "('XXXXXXXXXXXX','YYYYYYYYYYYY')" , "String", "AND"

Author: Guy Barrett - 8/11/2009

 
Comment: Re: The SalesLogix Mail Merge SDK - An In-Depth Example
fiogf49gjkf0d
Hello again,

Has anyone had any luck with the oSLXDocument.AddAttachment() command when merging to email? I've tried pulling it apart in Visual Studio and have found the command...

AddAttachment(ByVal AttachmentType As SLXDoc.AttachmentType, ByVal FileID As String, ByVal FileName As String, ByVal FullPath As String, ByVal PluginAttachID As String)

However, I cannot get it to work at all! All I am trying to do is ...

oSLXDocument.MailMergeInformation.OverrideAttachments = False
oSLXDocument.AddAttachment atRegularAttachment, "", "test.doc", "c:\temp\", ""

Absolutely nothing.

Help?

Author: Guy Barrett - 7/11/2007

 
Comment: Re: The SalesLogix Mail Merge SDK - An In-Depth Example
fiogf49gjkf0d
All good stuff indeed. This was very easy to create a function with a few parameters that can be called on an ad-hoc basis.

However, there is something that I just can't figure out. When merging to a file, for a single contact, I cannot for the life of me return the path and name of the .doc that it has created. From what I can see you can only pass the directory that you want it to merge the .doc file to, but not the filename - and I cannot find a property to return the filename to me.

To make things clearer. I have two templates, one for an email and one for a word document.

I wish to merge to the word document template and then merge to the email template (attaching the orignally merged word doc in the process). The only issue I have is figuring out the path and filename of the word document.

Ryan, you've got a load of brain cells bobbling about in that bonce of yours. Do you have any ideas?

Author: Guy Barrett - 6/28/2007

 


 
 slxdeveloper.com is brought to you courtesy of Ryan Farley & Customer FX Corporation.
 This site, and all contents herein, are Copyright © 2019 Customer FX Corporation. The information and opinions expressed here are not endorsed by Sage Software.

code of conduct | Subscribe to the slxdeveloper.com Latest Article RSS feed
   
 
page cache (param): 9/17/2019 4:38:56 PM