Community
Showing results for 
Search instead for 
Do you mean 
Reply

GetOpportunityFieldDescriptors() is broken?

Copper Contributor
Posts: 12
Country: Australia

GetOpportunityFieldDescriptors() is broken?

I have a neat little solution here coded using the Act Framework. It works fine, it's wirtten in C# and it contains a referenece to:

 

var = framework.Contacts.GetContactFieldDescriptors()

 

where framework is a succesfully initialized  object of type Act.Framework.ActFramework.

 

If I look at the contents of var I see 101 entries like this:

 

Act.Framework.Contacts.ContactFieldDescriptor[]

+           [0]   {Record Creator}  Act.Framework.Contacts.ContactFieldDescriptor {Act.Framework.Contacts.ContactAccessorFieldDescriptor}

+           [1]   {Last Edited By}  Act.Framework.Contacts.ContactFieldDescriptor {Act.Framework.Contacts.ContactAccessorFieldDescriptor}

+           [2]   {Record Manager}  Act.Framework.Contacts.ContactFieldDescriptor {Act.Framework.Contacts.ContactAccessorFieldDescriptor}

+           [3]   {Birth Date}      Act.Framework.Contacts.ContactFieldDescriptor

+           [4]   {Qualification}   Act.Framework.Contacts.ContactFieldDescriptor

+           [5]   {Contact photo}   Act.Framework.Contacts.ContactFieldDescriptor

+           [6]   {Mobile Phone}    Act.Framework.Contacts.ContactFieldDescriptor

+           [7]   {Alt Phone} Act.Framework.Contacts.ContactFieldDescriptor

+           [8]   {Dongle identifier}     Act.Framework.Contacts.ContactFieldDescriptor

+           [9]   {Dongle Owner}    Act.Framework.Contacts.ContactFieldDescriptor

+           [10]  {Web Site}  Act.Framework.Contacts.ContactFieldDescriptor

+           [11]  {Messenger ID}    Act.Framework.Contacts.ContactFieldDescriptor

+           [12]  {Contact}   Act.Framework.Contacts.ContactFieldDescriptor

+           [13]  {Phone}     Act.Framework.Contacts.ContactFieldDescriptor

+           [14]  {Country}   Act.Framework.Contacts.ContactFieldDescriptor

+           [15]  {Gender}    Act.Framework.Contacts.ContactFieldDescriptor

+           [16]  {Department}      Act.Framework.Contacts.ContactFieldDescriptor

+           [17]  {Fax Ext-}  Act.Framework.Contacts.ContactFieldDescriptor

+           [18]  {Eon send letters to}   Act.Framework.Contacts.ContactFieldDescriptor

+           [19]  {Prospect EV status}    Act.Framework.Contacts.ContactFieldDescriptor

+           [20]  {Name Suffix}     Act.Framework.Contacts.ContactFieldDescriptor

+           [21]  {ID/Status} Act.Framework.Contacts.ContactFieldDescriptor

+           [22]  {Is User}   Act.Framework.Contacts.ContactFieldDescriptor

+           [23]  {Home Address 2}  Act.Framework.Contacts.ContactFieldDescriptor

+           [24]  {User 5}    Act.Framework.Contacts.ContactFieldDescriptor

+           [25]  {Contact source}  Act.Framework.Contacts.ContactFieldDescriptor

+           [26]  {Operating system}      Act.Framework.Contacts.ContactFieldDescriptor

+           [27]  {Home Address 1}  Act.Framework.Contacts.ContactFieldDescriptor

+           [28]  {Name Prefix}     Act.Framework.Contacts.ContactFieldDescriptor

+           [29]  {Address 1} Act.Framework.Contacts.ContactFieldDescriptor

+           [30]  {Download latest} Act.Framework.Contacts.ContactFieldDescriptor

+           [31]  {acoustic-software}     Act.Framework.Contacts.ContactFieldDescriptor

+           [32]  {English}   Act.Framework.Contacts.ContactFieldDescriptor

+           [33]  {Last Attempt}    Act.Framework.Contacts.ContactFieldDescriptor

+           [34]  {Last Results}    Act.Framework.Contacts.ContactFieldDescriptor

+           [35]  {E-Mail 2}  Act.Framework.Contacts.ContactFieldDescriptor

+           [36]  {Import Date}     Act.Framework.Contacts.ContactFieldDescriptor

+           [37]  {Last E-mail}     Act.Framework.Contacts.ContactFieldDescriptor

+           [38]  {Download comment}      Act.Framework.Contacts.ContactFieldDescriptor

+           [39]  {Personal E-mail} Act.Framework.Contacts.ContactFieldDescriptor

+           [40]  {Edit Date} Act.Framework.Contacts.ContactFieldDescriptor

+           [41]  {Create Date}     Act.Framework.Contacts.ContactFieldDescriptor

+           [42]  {Company Site}    Act.Framework.Contacts.ContactFieldDescriptor

+           [43]  {Market}    Act.Framework.Contacts.ContactFieldDescriptor

+           [44]  {Company}   Act.Framework.Contacts.ContactFieldDescriptor

+           [45]  {Home Phone}      Act.Framework.Contacts.ContactFieldDescriptor

+           [46]  {Phone Ext-}      Act.Framework.Contacts.ContactFieldDescriptor

+           [47]  {Time to call}    Act.Framework.Contacts.ContactFieldDescriptor

+           [48]  {Pager Extension} Act.Framework.Contacts.ContactFieldDescriptor

+           [49]  {Salutation}      Act.Framework.Contacts.ContactFieldDescriptor

+           [50]  {Key Words} Act.Framework.Contacts.ContactFieldDescriptor

+           [51]  {Pager}     Act.Framework.Contacts.ContactFieldDescriptor

+           [52]  {3rd Last Reach}  Act.Framework.Contacts.ContactFieldDescriptor

+           [53]  {Last Name} Act.Framework.Contacts.ContactFieldDescriptor

+           [54]  {E-Mail 3}  Act.Framework.Contacts.ContactFieldDescriptor

+           [55]  {Fax} Act.Framework.Contacts.ContactFieldDescriptor

+           [56]  {Comm Style}      Act.Framework.Contacts.ContactFieldDescriptor

+           [57]  {Photo}     Act.Framework.Contacts.ContactFieldDescriptor

+           [58]  {Market segment}  Act.Framework.Contacts.ContactFieldDescriptor

+           [59]  {E-mail}    Act.Framework.Contacts.ContactFieldDescriptor

+           [60]  {Address 2} Act.Framework.Contacts.ContactFieldDescriptor

+           [61]  {Is Imported}     Act.Framework.Contacts.ContactFieldDescriptor

+           [62]  {Home Extension}  Act.Framework.Contacts.ContactFieldDescriptor

+           [63]  {Last Reach}      Act.Framework.Contacts.ContactFieldDescriptor

+           [64]  {First Name}      Act.Framework.Contacts.ContactFieldDescriptor

+           [65]  {State}     Act.Framework.Contacts.ContactFieldDescriptor

+           [66]  {Aquatic environ- 1}    Act.Framework.Contacts.ContactFieldDescriptor

+           [67]  {Ticker Symbol}   Act.Framework.Contacts.ContactFieldDescriptor

+           [68]  {Eon ID-status}   Act.Framework.Contacts.ContactFieldDescriptor

+           [69]  {Eon Qualification}     Act.Framework.Contacts.ContactFieldDescriptor

+           [70]  {Mobile Extension}      Act.Framework.Contacts.ContactFieldDescriptor

+           [71]  {Spouse}    Act.Framework.Contacts.ContactFieldDescriptor

+           [72]  {Home City} Act.Framework.Contacts.ContactFieldDescriptor

+           [73]  {Prospect summary}      Act.Framework.Contacts.ContactFieldDescriptor

+           [74]  {bathymetric}     Act.Framework.Contacts.ContactFieldDescriptor

+           [75]  {EK500 logging}   Act.Framework.Contacts.ContactFieldDescriptor

+           [76]  {Contact Order}   Act.Framework.Contacts.ContactFieldDescriptor

+           [77]  {Referred By}     Act.Framework.Contacts.ContactFieldDescriptor

+           [78]  {Home Address 3}  Act.Framework.Contacts.ContactFieldDescriptor

+           [79]  {Last Meeting}    Act.Framework.Contacts.ContactFieldDescriptor

+           [80]  {Echosounder 1st} Act.Framework.Contacts.ContactFieldDescriptor

+           [81]  {2nd Last Reach}  Act.Framework.Contacts.ContactFieldDescriptor

+           [82]  {City}      Act.Framework.Contacts.ContactFieldDescriptor

+           [83]  {Address 3} Act.Framework.Contacts.ContactFieldDescriptor

+           [84]  {Send letters to} Act.Framework.Contacts.ContactFieldDescriptor

+           [85]  {Private Contact} Act.Framework.Contacts.ContactFieldDescriptor

+           [86]  {Schools}   Act.Framework.Contacts.ContactFieldDescriptor

+           [87]  {Eon market segment}    Act.Framework.Contacts.ContactFieldDescriptor

+           [88]  {Home State}      Act.Framework.Contacts.ContactFieldDescriptor

+           [89]  {Home Country}    Act.Framework.Contacts.ContactFieldDescriptor

+           [90]  {Alt Phone Ext-}  Act.Framework.Contacts.ContactFieldDescriptor

+           [91]  {Vessel}    Act.Framework.Contacts.ContactFieldDescriptor

+           [92]  {Title}     Act.Framework.Contacts.ContactFieldDescriptor

+           [93]  {Letter Date}     Act.Framework.Contacts.ContactFieldDescriptor

+           [94]  {Home Postcode}   Act.Framework.Contacts.ContactFieldDescriptor

+           [95]  {Download contact req-} Act.Framework.Contacts.ContactFieldDescriptor

+           [96]  {Postcode}  Act.Framework.Contacts.ContactFieldDescriptor

+           [97]  {Middle Name}     Act.Framework.Contacts.ContactFieldDescriptor

+           [98]  {Eon market segment NEW}      Act.Framework.Contacts.ContactFieldDescriptor

+           [99]  {AcousticForum}   Act.Framework.Contacts.ContactFieldDescriptor

+           [100] {Access Level}    Act.Framework.Contacts.ContactFieldDescriptor

 

Now immediately following this line I try this:

 

var = framework.Opportunities.GetOpportunityFieldDescriptors();

 

And now I look at var and I find it has 34 entries. But they are all null! Like this:

 

Act.Framework.Opportunities.OpportunityFieldDescriptor[]

            [0]   null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [1]   null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [2]   null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [3]   null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [4]   null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [5]   null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [6]   null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [7]   null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [8]   null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [9]   null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [10]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [11]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [12]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [13]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [14]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [15]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [16]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [17]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [18]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [19]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [20]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [21]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [22]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [23]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [24]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [25]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [26]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [27]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [28]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [29]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [30]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [31]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [32]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

            [33]  null  Act.Framework.Opportunities.OpportunityFieldDescriptor

 

Why so? This is extremely puzzling and inhibiting my ability to examine opportunities in the ACT! Framework. What is up?

 

I'm using "ACT! by Sage Premium 2010 Version 12.1.181.0, Hot Fix 1" and the properties of the Act.Framwork references I'm using in my project are:

 

C:\WINDOWS\assembly\GAC_MSIL\Act.Framework\12.1.181.0__ebf6b2ff4d0a08aa\Act.Framework.dll

Version: 12.1.181.0

 

C:\WINDOWS\assembly\GAC_MSIL\Act.Shared.Collections\12.1.181.0__ebf6b2ff4d0a08aa\Act.Shared.Collections.dll

Version: 12.1.181.0

 

C:\WINDOWS\assembly\GAC_MSIL\Act.Shared.ComponentModel\12.1.181.0__ebf6b2ff4d0a08aa\Act.Shared.ComponentModel.dll

Version: 12.1.181.0

 

(all in my GAC of course). Have I got some version mismatch going on? ACT! was upgraded here recently.

 

Cheers,

 

Bernd.

Employee
Posts: 1,163
Country: USA

Re: GetOpportunityFieldDescriptors() is broken?

It's not a version issue because I can reproduce this in v13. It appears to be, as you pointed out in the thread title, an issue with GetOpportunityFieldDescriptors as this doesn't occur with any other entity.

Matthew Wood
Act! SDK Support
Community Moderator
Copper Contributor
Posts: 12
Country: Australia

Re: GetOpportunityFieldDescriptors() is broken?

And so is a fix planned at any stage? Seems surprising to me that no-one has found this yet, rather broken!

Employee
Posts: 1,163
Country: USA

Re: GetOpportunityFieldDescriptors() is broken?

It's already been submitted and as soon as a resolution is a available I'll let you know. Only the collection should be empty, if you need to get any particular opp field descriptor this should work.

 

MutableEntityFieldDescriptor mefd
                = afw.Opportunities.GetMutableEntityFieldDescriptor(Act.Framework.Opportunities.StandardOpportunityField.Name);

Matthew Wood
Act! SDK Support
Community Moderator
Bronze Elite Contributor
Posts: 2,115
Country: United_Kingdom

Re: GetOpportunityFieldDescriptors() is broken?

I have not tested this out myself and so its completely speculative but...what about if you try a slightly different approach via the FieldDescriptor object from Act.Datatbase namespace:

 

FieldDescriptorCollection oppFields = framework.Fields.GetFields(RecordType.Opportunity);

 

 

Vivek Gargav
Caldere Associates Ltd.
www.caldere.com
vgargav@caldere.com
My Blog
Copper Super Contributor
Posts: 111
Country: USA

Re: GetOpportunityFieldDescriptors() is broken?

Was this fix in a HF or SP1 for 13 and 12?

Will it be fixed in 14?

Employee
Posts: 1,163
Country: USA

Re: GetOpportunityFieldDescriptors() is broken?

I don't have an ETA on a fix for this issue. As mentioned in a previous post you can work around this by using MutableEntityFieldDescriptors.

Matthew Wood
Act! SDK Support
Community Moderator