• DarrellD
  • NEWBIE
  • 365 Points
  • Member since 2006

  • Chatter
    Feed
  • 14
    Best Answers
  • 1
    Likes Received
  • 0
    Likes Given
  • 46
    Questions
  • 152
    Replies

 

Hello,

I have a visual workflow, where I post some questions (Yes or No type in a radio button). Now depending on the answers to the questions, the decision path redirects to different path where we assign a variable to be true or false. So the visual workflow just has a screen, a decision and assignment elements for both the paths. I do not have an end screen element. Now, I am redirecting to different pages based on the value and this is not working if I do not have the end screen (if works if I have the extra end screen). I do not want a unnecessary end screen for my flow. How can I achieve this?

 

My VF page code is:
:

<apex:page sidebar="false" controller="PGIPathDeciderController" >
  <flow:interview name="TestPath" interview="{!aFlow}" finishLocation="{!FinishPage}">
      <apex:param name="FlowQuoteID" value="{!quoteId}"/>
  </flow:interview>
</apex:page>

 

My controller code is:

public class PGIPathDeciderController
{
public Quote theQuote {get; set;}
public Flow.Interview.TestPath aFlow {get; set;}
public String quoteId {get; set;}

    public PGIPathDeciderController ()
    {   
        Id id = ApexPages.currentPage().getParameters().get('Id');
        if(id != null)
        {
            quoteId = id;
            theQuote = [SELECT Name, BillingName, BillingStreet, BillingCity, BillingState, BillingCountry,
                             BillingPostalCode, Phone, Status, Id,
                             Opportunity.Account.Id, Account__c, OpportunityId, isConfigureCompany__c
                    FROM Quote WHERE Id = :quoteId LIMIT 1];
        }
    }
    
    public boolean getRedirectFlag()
    {
        if (aFlow == null)
        {
        return false;
        }
        else
        {
            return aFlow.redirectPath;
        }
    }

    public PageReference getFinishPage()
    {
    system.debug('aFlow' + aFlow);
    PageReference prEdit;
        if (getRedirectFlag())
        {
           prEdit = Page.PGICompaniesAndContacts;
           prEdit.getParameters().put('id', theQuote.ID);
           prEdit.setRedirect(true);
        }
        else
        {
            prEdit = new ApexPages.StandardController(theQuote).view();
            prEdit .setRedirect(true);
        }
        return prEdit ;
    }

}

Thanks!

Here's what I'm trying to do:

 

During the flow, the user gets to a screen which uses a multi-select checkbox field and a dynamic choice that returns those account records meeting a specific criteria.

 

The user can select multiple accounts.

 

The flow then creates new records, one for each account selected,  in a custom object which has a lookup field to accounts.

 

How can I do this?

 

I've been trying to figure out a loop but so far haven't been successful.

 

Thanks

I have what I thought would work as a flow embedded in a visualforce page with a custom controller, but I am running into a bit of an issue at runtime. Here is the code for the VF page:

<apex:page controller="TestimonialLookupbyAreaFlowController">
  <flow:interview name="Testimonial_Lookup_by_Area" interview="{!TLBAFlow}" finishLocation="{!ReportParam}" />
</apex:page>

 And here is the code for the controller:

public class TestimonialLookupbyAreaFlowController{
    public Flow.Interview.Testimonial_Lookup_by_Area TLBAFlow{get; set;}
    
    public String getZip(){
    	if(TLBAFlow==null) return '';
        else return TLBAFlow.Zip_to_Pass;
    }
    
    public pageReference getReportParam(){
    	PageReference p = new PageReference('/00OQ0000000GWwx?pv0=' + getZip());
        return p;
    }
}

 The finishLocation is a report that I am passing a variable to from the flow. I can get to the report with no problem, but whatever is in the variable doesn't matter as the parameter is always null. I removed the if statement from the getZip() method and I believe I have figured out what is going on but not why. After removing the if statement I got an error about attempting to de-reference a null object when I attempted to open the VF page. So I am assuming that as the code stands currently, every time getZip() is called, the comparison 'TBLAFlow == null' is returning true, thus the parameter is always a null string. Does anyone have any idea why the flow object is null here?

My managed package in under securirty review.

There are outbound messages in which i wish to change the end point urls.

 

How do i push this changed to the pacakge in review and the test org in which i installed.

Looking for an option, so that i do not need to resubmit for review?

Can I get LMA for my app without going through the security review process?

 

I submitted a case for requesting the LMA, salesforce rep. replied that in order to get LMA, my app need to go through security review,

but according to ISVforce Guide, it seem that I can have LMA for my private listed app.  I am confuse, please help.

 

 

I'm new to packages. I want to deploy a package in multiple orgs and 

(1) automatically add new custom fields to the Opportunities and Contacts standard objects during the installation of the package, while *taking* *extreme* care*

(2) **not** to remove any custom fields that the person installing my package may have already added to those objects. Also, it would be nice if I could ensure that

(3) if someone decides to *uninstall* my package, it will delete those fields (and *only* those fields) which my package added during installation.

 

How do I achieve (1) and (2)?

 

Hello

 

I've added a screen which the user can pick which license to create with choices (Trial / Production / Cloud), but I'd like to have validation on some options. For example: user with "Support" profile can't pick production license.

I can create a decision option and route to two different screens, but i'm wondering if I can add validation on a choice (so when a support user picks "production" choice, an error message is displayed - "you can't pick this kind of license").

 

 

Thanks

 

Itay

My managed package includes a custom object that requires FeedItem to be turned on for Chatter to work properly.

How do I pass along this setting when I create packages?

  • January 07, 2013
  • Like
  • 0

I am developing an app that has classes interacting with some stanrd objects; User ofr instance.

Typically when writing the test classes for this type i would create a user within the test to test against, as per SF design principals.

 

I am not sure how to tackle this from an managed app point of view as i could try to create a user, however the host org has a custom field that is required for that record.

Will that fail my test class and does that matter from the host org's point of view.

Will it be ignore in the managed app, or not matter somehow.

 

Thanks for any help.

 

  • January 03, 2013
  • Like
  • 0

I applied for ISV partnership several weeks ago and still have not gotten my partner login. Is this normal?

I'm having difficulty setting the finishLocation of a flow. I would like users to return to the originating Account record from which they started the flow from upon clicking the Finish button.

 

I have an object with a master-detail relationship to Account. In the object's related list on the Account, I have a custom button. When clicked, the custom button loads a Visualforce page with a flow:interview embedded in it. Here is the button's URL structure:

 

https://na4.salesforce.com/apex/UWRScheduler?acct_id={!Account.Id}&acct_name={!Account.Name}

 Here is the Visualforce page without any finishLocation set:

 

<apex:page standardController="Account">
        <flow:interview name="UWScheduler" />
</apex:page>

 Here's what I have tried:

 

Attempt1: In the custom button, set the retUrl=%2F{!Account.ID}
Result1: Upon clicking Finish in the flow, I loop back to the first flow screen, and the URL = /apex/UWRScheduler?sparkID=UWScheduler

 

 

Attempt2: Set the following in the Visualforce page:

finishLocation="{!URLFOR($Action.Account.View, Account.Id, null, true)}"

Result2:

Invalid parameter for function URLFOR
Error is in expression '{!URLFOR($Action.Account.View, Account.Id, null, true)}' in component <flow:interview> in page uwrscheduler

 

Attempt3: Set the following in the Visualforce page:

finishLocation="{!URLFOR('/{!Account.Id}')}"

 Result3: Clicking Finish in the flow logs me out of Salesforce!

 

Please help! My first flow is almost complete!

  • November 08, 2012
  • Like
  • 0
Any thoughts on what this error might mean? We developed a beta managed pacakage and installed into Sandbox. Install went fine, but when we use a custom button in the package that calls a VF page getting "Prefix cannot be specified if namespace is not specified" error. 

The button and VF page are part of the package so namespace is obviously included. Namespace is 'OneOut'. Might it be the HREF? Page is below.

<apex:page standardController="OneOut__AuditSetting__c" extensions="OneOut.Mturk_GenerateHitAuditSettingController" action="{!Generate}">
  Back to Record : <a href="/{!OneOut__AuditSetting__c.Id}">{!OneOut__AuditSetting__c.Name}</a> <br/>
 <apex:pageMessages />
</apex:page>

Not sure what missing here, something obvious I think. Had below to iterate through List to add fields in list to 3 Sets. This seems redundant first off, second it's not working, 3rd there's a better way to do it.  Adding to set so I can remove the duplicate field values. Two example records and my goal are:.

 

Record 1: July, Monday;Wednesday;Saturday, 2013

Record 2: July, Wednesday;Friday, 2013

 

Trying to get to:

yearsSet (1 record) - 2013

monthSet(1 record) - July

daysSet(4 records) - Monday, Wednesday, Friday, Saturday

 

List<Schedule_Connection__c> schconnList = [select id, Address_Type__c, Address_Type__r.Provider__c, Address_Type__r.Address__c,Schedule_Development__r.Scheduled_Days__c, Schedule_Development__r.YearNumber__c, Schedule_Development__r.MonthNumber__c, Schedule_Development__r.Start_Time__c,
Schedule_Development__r.End_Time__c from Schedule_Connection__c where Id in:schconnections];

Set<Integer> yearsSet = new Set<Integer>(), monthsSet = new Set<Integer>();
Set<String> daysSet = new Set<String>();
For(Schedule_Connection__c record : schconnList) {
yearsSet.add((record.Schedule_Development__r.YearNumber__c).intvalue());
monthsSet.add((record.Schedule_Development__r.MonthNumber__c).intvalue());
daysSet.addall((record.Schedule_Development__r.Scheduled_Days__c.split(';')));

 

Is the Rich Text Editor in the design screen behaving correctly? When I use it, this has been all editions including Summer '13 now, it either:

 

1. Completely ignores what I've done and reverts text back to plain. (i.e. if I bold some text sometimes it will keep it, some times it will not.)

2. I've never been able to get 2 line breaks to work with any regularity. (i.e. hit enter key twice to have 1 blank line)

3. Things such as centering, etc also only work intermittently.

 

I know you can supposedly use HTML codes as well, but first I'd like to understand if editor is ok b/c the purpose of this is to not use HTML...esp since Salesforce is picky here.

 

Second, I have many of the same issues with using raw HTML. <BR><BR/> for instance....nope.

I'm pulling my hair out for what should be pretty simple stuff.

 

Thanks,
Darrell

The user enters the flows from a Home Page link, not a VF page.

I have Flow A which has subflow B.

SubFlow B has Subflow C

 

Once someone has completed SubFlow C, I want them to return to Subflow B. When I try this I get the error below.

 

"The Flow has a subflow which returns to a Parent Flow. Cycles of subflows are not allowed."

 

Is there anyway to achieve the above? Because the default behavior brings them back to Flow A, this creates a problem and an error.

I also tried to get creative and throw in Subflow D which someone would go to From C and D would then route them to B but got same error. 

 

Darrell

We are looking for an Advanced Developer who, from time to time, will be able to "clean up" and/or improve some of the Apex classes and Triggers we have. The code we are developing works, but it might be at 30-60% efficiency. Because much of this is part of a Managed Package, we want to ensure code is efficient and can be packaged properly. A large reason we are not covering other aspects and making more efficient is time.

 

We have been submitting individual projects to Freelancer and similar sites, and will continue to do that if don't find right person and right price. As an example of the type of cleanup Im' referring to:

 

1. Have Trigger that calls class. Gathers appropriate records, puts them in a Map and updates accordingly. But the class doesn't check to ensure that Map <> null and/or the query that puts records into Map could be optimized by only querying records with last update date of today. That kind of thing.

 

Also for items like above, we'd need to do same for Test Class, include negative scenarios, etc. Just looking for an individual...no firms.

 

So we'd periodically throw you a couple classes that work and, if needed a Sandbox, and ask you to take a look and give us an estimated cost to improve. Since these work, usually no immediate rush. You may decide it's good as is, or give us a quick price. Price will be fixed, not based on time. So if it takes you 5 min...good for you, that's why you are Advanced and you should be paid for that. But if price is bit too high, we may decide to leave as is or throw onto Freelancer if important enough.

 

Individual only...no firms.

 

Darrell

Seems like missing something obvious. The below statement is only updating the first field when its called from a Trigger. If I then edit the record and save, it updates the 2nd field. I obviously am expecting it to update both fields at once.

 

public class UpdateAddressTypeManager{


/* Updates value of AddressType record when received from SalesForce to SalesForce
Lookup fields cannot be mapped from Connections */

// Update Address value
public static void handleAddrProvUpdate(Address_Type__c[] addrtypes) {

// create a set of all the unique Remote Address ids
// Remote_AddressId__c stores text value of SalesForce Id for updating
Set<String> remoteaddr = new Set<String>();
Set<String> remoteprov = new Set<String>();
for(Address_Type__c at : addrtypes){
remoteaddr.add(at.Remote_AddressId__c);
remoteprov.add(at.Remote_ProviderId__c);
}
System.debug('RemoteAddr set = ' + remoteaddr);
System.debug('RemoteProv set = ' + remoteprov);

// create list of Address__c items with matching remote address id
List<Address__c> addrids = [Select Id, Remote_Address_Id__c From Address__c Where Remote_Address_Id__c in:remoteaddr];
List<Contact> provids = [Select Id, Remote_ProviderId__c From Contact Where Remote_ProviderId__c in:remoteprov];


// Verify size of address list
System.debug('AddressId size ' + addrids.size());

// Verify size of provider list
System.debug('ProviderId size ' + provids.size());

// creates map of Address_Type and Address for updating
Map<Address_Type__c,Id> addrmap = new Map<Address_Type__c,Id>();
Map<Address_Type__c,Id> provmap = new Map<Address_Type__c,Id>();

for(Address_Type__c at : addrtypes) {
For(Address__c ad : addrids) {
If(ad.Remote_Address_Id__c == at.Remote_AddressId__c)
addrmap.put(at,ad.id);
}
For(Contact cont : provids) {
If(cont.Remote_ProviderId__c == at.Remote_ProviderId__c)
provmap.put(at,cont.id);
}
}

System.debug('Address Map ' + addrmap);
System.debug('Provider Map ' + provmap);


// Only updating first field. If put in different order, still just does first one
for(Address_Type__c atupd : addrtypes){
atupd.Provider__c = provmap.get(atupd);
atupd.Address__c = addrmap.get(atupd);
}
}
}

 

Thanks,
Darrell

Documentation says that "a single Flow may have up to 50 versions".

 

Is this the case even if the version is deleted? Trying to understand if it means 50 versions in the UI or that no matter what's been deleted, you cannot increase the version past 50.

 

Thanks,
Darrell

(I also logged in the Packaging Board)

 

"Flows cannot be included in package patches" - ISV Manual

 

Since we cannot add or remove items from packages, doesn't this mean that if you have a Flow in a managed package you can NEVER create a patch for that application? That's the takeaway I'm finding so far which is very unfortunate.

Anyone here have a Managed Package with Flows enabled able to upgrade app (either patch or full upgrade)? We are getting errors that says "cannot upgrade part of a Managed Package" and get references to all of the Flows in our Package. Tried making Flows in subscriber org inactive, still didn't work.

The ISV guide says Flows cannot be included in patches. But since we cannot remove items from patches, and thus cannot remove the Flow, doesn't this mean that if you have a Flow in a Managed Package you can NEVER use patches for anything??

 

That stinks if so but I just tried doing a patch and it's giving me a Flow error, even though Flow wasn't part of patch.

Want to make sure I didn't miss anything here. I think the answer is "No".

 

We have a managed OEM package installed for a customer. The Post Install script populated our Protected List Custom Setting with incorrect data (case open with SF). So now we need to change the Custom Setting records. I can login as an Admin to customer org and do so manually but I'd rather run a script to do this. If I use Developer Console, it says that the Custom Setting object is not accessible (Protected). is there anything else I can do to change these Custom Setting records??

 

Darrell

  1. I have a Contact that has 2 record types Record Type A and Record Type B.
  2. Profile 1 has access only to Record Type A
  3. I have a dynamic choice in a Flow that queries the Record Type object to pull all record types where SObject = "Contact".
  4. When doing #3 above, Profile 1 can see Record Type B.
  5. When going through the Contact object, (i.e. creating a new Contact without Flow, Profile 1 cannot see Record Type B)

Shouldn't Record Type B not be visible to Profile 1 even though it is being accessed through the RecordType Object?

 

Darrell

Anyone know how to build in a decision if the Dynamic Choice returns nothing (blank)?  I've tried the usual suspects such as the Global.Constant.Empty.String and not working.

 

So if a user searches for a Contact "Luke" and there is no Luke I want to route them somewhere else vs when there are some Lukes to choose from.

 

Darrell

This is for a packaged app. Kicking around the best way for someone to make multi-select language selections for a record? Pretend is a Contact and you want to indicate they can speak English;Spanish;Chinese.  Whether to incorporate this into a Flow right now or is it too much trouble?  I mean outside of hand coding all the possible values as multi select picklist choices in Flow, that's not a good option and not scalable.

 

Given that there are hundreds of options, it seems that using a Custom Setting with all the languages and codes would make sense? But I cant think how to include that in the Flow.  I've started to look at the GitHub class at https://github.com/raja-sfdc/FlowPicklistSync   and will look at that a bit more.  Trying to see if better to just wait until there is a little easier solution to populating multi select picklists in Flow.  I could also just do the selection outside of the Flow in regular UI I suppose?

 

Darrell

Seen the postings related to this but cant find this use case.  Writing a class with an If...Statement to check if a String variable "DayOfWeek" is present in a multi select picklist.  I'm getting an error right after the variable 'calmonth' stating it wants a right parentheses.

 

Ex: DayOfWeek = 'Monday'

Multi Select Picklist = 'Monday';'Wednesday';'Friday'

Return = True since Monday is in list

 

Code:

String calday = c.ONE__DayofWeek__c;

String testing = [select ONE__Scheduled_Days__c from ONE__Schedule_Development__c where Id = :s].ONE__Scheduled_Days__c;**

**I tried putting this directly in If...Statement and using it as a variable

Problem Line In Code

If (calday includes (:testing)){....

 

Thanks,

Darrell

Having a lot of trouble with test method for this. Class works find using If...Else statement but I cannot catch the error on the Else side.  Killing me.

 

Class for Trigger

for(Identifier__c iden : identifiers) {
if(iden.Type__c == 'Email'){
if( PatternEmail.matcher(iden.Master_Contact_ID__c).matches()){
iden.Email__c = iden.Master_Contact_ID__c;
} else

iden.Master_Contact_ID__c.addError('Please check the format of the email you entered.');

 

Above works fine, but when I write the test class I'm getting "SObject row does not allow errors"

 

I guess I'm not sure where the try...catch block should go to catch above?  Test class or in code above?  How?

 

Darrell

The test.loaddata is new in Winter '13 and great feature! The docs don't say either way if we can use a query to select a subset of records to start, or if we need to do 2 operations.  Tried a few SOQL query statements that didn't work so does anyone know for sure if this is/isn't possible?

 

Thanks!

From a best practice perspective, should the test class have any Try...Catch blocks or are all of these in the production classes and Triggers?

 

It seemed to me like the test class should not have Try...Catch blocks but I keep seeing these in examples.  Isn't purpose of these so the code catches them?

 

Thanks!

Anyone else having issues with the Test.loaddata?  We are getting fatal errors on some files, fine on a few others and processing as expected.  Opened a ticket week ago and was told that there is a known issue (not in online list) when number field = null, but we have couple objects with no number fields.

 

I did see one issue when uploading CSV with Firefox, Static Resource would not recognize correct file type.  But we are getting the above even after using Chrome which recognizes as type = Excel.

 

If anyone has any ideas please advise as we are trying to complete this app for security review and will now have to write additional classes to create the test data if cannot get resolved quickly.

 

Darrell

We are using the Winter 13 feature to use Static Resource test data.  Getting an error that says "Content type not allowed".

 

Our test data is a zipped .csv file which is showing as an application/octet-stream MIME Type.  Is this the problem and, if so, I'm not seeing how I get it to show as something different.

 

**UPDATE: Ugh! The issue appears to be what browser is used to upload the Static Resource! I saw someone from 2010 posted similar. I was using Firefox and it would not take the .csv upload and said the zip was an octet-stream.  When I tried using Chrome, the .csv uploaded as an Excel file which worked for the test class.  The person from 2010 had same solution but reverse browsers (issue with Chrome, worked with Firefox)

 

Thanks!

Darrell

Is the Rich Text Editor in the design screen behaving correctly? When I use it, this has been all editions including Summer '13 now, it either:

 

1. Completely ignores what I've done and reverts text back to plain. (i.e. if I bold some text sometimes it will keep it, some times it will not.)

2. I've never been able to get 2 line breaks to work with any regularity. (i.e. hit enter key twice to have 1 blank line)

3. Things such as centering, etc also only work intermittently.

 

I know you can supposedly use HTML codes as well, but first I'd like to understand if editor is ok b/c the purpose of this is to not use HTML...esp since Salesforce is picky here.

 

Second, I have many of the same issues with using raw HTML. <BR><BR/> for instance....nope.

I'm pulling my hair out for what should be pretty simple stuff.

 

Thanks,
Darrell

Any thoughts on what this error might mean? We developed a beta managed pacakage and installed into Sandbox. Install went fine, but when we use a custom button in the package that calls a VF page getting "Prefix cannot be specified if namespace is not specified" error. 

The button and VF page are part of the package so namespace is obviously included. Namespace is 'OneOut'. Might it be the HREF? Page is below.

<apex:page standardController="OneOut__AuditSetting__c" extensions="OneOut.Mturk_GenerateHitAuditSettingController" action="{!Generate}">
  Back to Record : <a href="/{!OneOut__AuditSetting__c.Id}">{!OneOut__AuditSetting__c.Name}</a> <br/>
 <apex:pageMessages />
</apex:page>

Hello... I am trying to migrate a custom APP from one sandbox to another but cant seem to find the way to do it though Eclipse IDE. Can anyone please help?

  • August 26, 2013
  • Like
  • 0

Hello,

 

I want to delete 500+ custom fields. Is there any solution to mass remove custom fields? I have tried with metadata Api using below code. But it gives me below error.

 

Object with id:04s900000037qo4AAA is InProgress
Error status code: INVALID_CROSS_REFERENCE_KEY
Error message: In field: members - no CustomField named Custom_Field__c found
Object with id:04s900000037qo4AAA is Error

 

Below is the code:

 


    public void deleteCustomField(String fullname) throws Exception
    {
        CustomField customField = new CustomField();
        customField.setFullName(fullname);
        
        UpdateMetadata updateMetadata = new UpdateMetadata();
        updateMetadata.setMetadata(customField);
        updateMetadata.setCurrentName(fullname);
        
        AsyncResult[] asyncResults  = metadataConnection.delete(new Metadata[] {customField});
 
        long waitTimeMilliSecs = ONE_SECOND;
 
        do
        {
            printAsyncResultStatus(asyncResults);
            waitTimeMilliSecs *= 2;
            Thread.sleep(waitTimeMilliSecs);
            asyncResults = metadataConnection.checkStatus(new String[]{asyncResults[0].getId()});
        } while (!asyncResults[0].isDone());
 
        printAsyncResultStatus(asyncResults);
    }

 


    private void printAsyncResultStatus(AsyncResult[] asyncResults) throws Exception {
        if (asyncResults == null || asyncResults.length == 0 || asyncResults[0] == null) {
            throw new Exception("The object status cannot be retrieved");
        }

        AsyncResult asyncResult = asyncResults[0]; //we are creating only 1 metadata object

        if (asyncResult.getStatusCode() != null) {
            System.out.println("Error status code: " +
                    asyncResult.getStatusCode());
            System.out.println("Error message: " + asyncResult.getMessage());
        }

        System.out.println("Object with id:" + asyncResult.getId() + " is " +
            asyncResult.getState());
    }

 

Is there any other solution (any app) to removing custom fields?

 

Thanks in advance,

 

Dhaval Panchal

Hello,

 

I have created a complex flow with Master and Child Flows. Since check box values dont travel well between Master and child flows, can I add a link in flow re dirceting the user to the custom object that the record is store in?

 

 

Hello,

 

 

We had dashboards included in a dashboard folder included in our managed package. Later due to some reasons we had to delete them.

 

We later found those dashboards in recycle bin and undeleted them. But after undeleting we are not able to see those dashboards.

 

Can you please let us know where can we find the dashboards after undeleting them?

 

When we try to deploy the dashboards and dashboards folder from force.com ide, we get the error that says

 

"This folder unique name already exists for this folder type or has been previously used. Please choose a different name."

 

Whereas such a folder does not exist in the org.

 

Please let me know what can I do to get back the dashboards in our org.

I have a screen with two different dropdown lists (among other fields). The dropdown lists are:

 

Premium_Mode_Life: Has 5 different drop down choices.

Type_of_Application: Has 3 different drop down choices.

 

Once the user comples this screen and clicks on next, they are taken to a verfication screen where the information they selected in the prior screen is displayed via display text. What they selected for Premium_Mode_Life and Type_Of_Application is correctly being displayed on this screen.

 

Upon confirming the values are correct and clicking next, a record is then created. Two fields included in the new record are Premium_Mode_Life and Type_Of_Application. Neither of these fields are being added upon the record create.

 

I've triple checked and everything should be working correctly.

I have a free AppExchange offering (managed package) that I released several years ago, before Salesforce's changes to the ISV program. My package uses Apex code, and works great in EE and UE orgs.

 

I know that for paid apps, Salesforce can enable the app to be installed in a PE org, even if the app uses Apex. Will they do that for free apps as well?

 

Thanks.

 

Jeri

 

Hello,

I have a visual workflow, where I post some questions (Yes or No type in a radio button). Now depending on the answers to the questions, the decision path redirects to different path where we assign a variable to be true or false. So the visual workflow just has a screen, a decision and assignment elements for both the paths. I do not have an end screen element. Now, I am redirecting to different pages based on the value and this is not working if I do not have the end screen (if works if I have the extra end screen). I do not want a unnecessary end screen for my flow. How can I achieve this?

 

My VF page code is:
:

<apex:page sidebar="false" controller="PGIPathDeciderController" >
  <flow:interview name="TestPath" interview="{!aFlow}" finishLocation="{!FinishPage}">
      <apex:param name="FlowQuoteID" value="{!quoteId}"/>
  </flow:interview>
</apex:page>

 

My controller code is:

public class PGIPathDeciderController
{
public Quote theQuote {get; set;}
public Flow.Interview.TestPath aFlow {get; set;}
public String quoteId {get; set;}

    public PGIPathDeciderController ()
    {   
        Id id = ApexPages.currentPage().getParameters().get('Id');
        if(id != null)
        {
            quoteId = id;
            theQuote = [SELECT Name, BillingName, BillingStreet, BillingCity, BillingState, BillingCountry,
                             BillingPostalCode, Phone, Status, Id,
                             Opportunity.Account.Id, Account__c, OpportunityId, isConfigureCompany__c
                    FROM Quote WHERE Id = :quoteId LIMIT 1];
        }
    }
    
    public boolean getRedirectFlag()
    {
        if (aFlow == null)
        {
        return false;
        }
        else
        {
            return aFlow.redirectPath;
        }
    }

    public PageReference getFinishPage()
    {
    system.debug('aFlow' + aFlow);
    PageReference prEdit;
        if (getRedirectFlag())
        {
           prEdit = Page.PGICompaniesAndContacts;
           prEdit.getParameters().put('id', theQuote.ID);
           prEdit.setRedirect(true);
        }
        else
        {
            prEdit = new ApexPages.StandardController(theQuote).view();
            prEdit .setRedirect(true);
        }
        return prEdit ;
    }

}

Thanks!

5 of our 30 companies were sold to another firm.  From a shared instance, we need to spin a new SFDC instance/licenses and move the companies out of our instance.  The data portion makes sense but we used tons of custom objects, triggers, apex class, workflows etc.

 

Is there a clone button for this development work and layout stuff? 

Hi

I got the following error while installing managed package

 

Your requested install failed. Please try this again.

None of the data or setup information in your salesforce.com organization should have been affected by this error.

If this error persists, contact salesforce.com Support through your normal channels and reference number: 1801800798-17943 (-2087640787)

While searching through the community, the problem may occur due to the presence of permission set in the managed package. But in my case permission set is not at all present in the package. Kindly provide any idea regarding this.

Here's what I'm trying to do:

 

During the flow, the user gets to a screen which uses a multi-select checkbox field and a dynamic choice that returns those account records meeting a specific criteria.

 

The user can select multiple accounts.

 

The flow then creates new records, one for each account selected,  in a custom object which has a lookup field to accounts.

 

How can I do this?

 

I've been trying to figure out a loop but so far haven't been successful.

 

Thanks

I have what I thought would work as a flow embedded in a visualforce page with a custom controller, but I am running into a bit of an issue at runtime. Here is the code for the VF page:

<apex:page controller="TestimonialLookupbyAreaFlowController">
  <flow:interview name="Testimonial_Lookup_by_Area" interview="{!TLBAFlow}" finishLocation="{!ReportParam}" />
</apex:page>

 And here is the code for the controller:

public class TestimonialLookupbyAreaFlowController{
    public Flow.Interview.Testimonial_Lookup_by_Area TLBAFlow{get; set;}
    
    public String getZip(){
    	if(TLBAFlow==null) return '';
        else return TLBAFlow.Zip_to_Pass;
    }
    
    public pageReference getReportParam(){
    	PageReference p = new PageReference('/00OQ0000000GWwx?pv0=' + getZip());
        return p;
    }
}

 The finishLocation is a report that I am passing a variable to from the flow. I can get to the report with no problem, but whatever is in the variable doesn't matter as the parameter is always null. I removed the if statement from the getZip() method and I believe I have figured out what is going on but not why. After removing the if statement I got an error about attempting to de-reference a null object when I attempted to open the VF page. So I am assuming that as the code stands currently, every time getZip() is called, the comparison 'TBLAFlow == null' is returning true, thus the parameter is always a null string. Does anyone have any idea why the flow object is null here?

We have a managed package that we built. Everything is good except the Flows. For some reason when the flow tries to look up a Contact record it fails. Thanks in advance! 
 
See below: 

Encountered unhandled fault when running process Quote/301F0000000L19L exception by user/organization: 00DA0000000ArVb/{4}

; nested exception is:
        common.exception.ApiQueryException: sObject type 'XYZ__Contact' is not supported. If you are attempting to use a custom object, be sure to append the '__c' after the entity name. Please reference your WSDL or the describe call for the appropriate names.
(There was a problem executing your command.) > RETRIEVE

caused by element : Data lookup.Check_Contact

caused by: ; nested exception is:
        common.exception.ApiQueryException: sObject type 'XYZ__Contact' is not supported. If you are attempting to use a custom object, be sure to append the '__c' after the entity name. Please reference your WSDL or the describe call for the appropriate names.
(There was a problem executing your command.) > RETRIEVE

 

For some reason my variables from my Flow are passing back as null to my VF Controller extension.  Trying to set the finish page using these. Was able to understand how in another post (Rajaram).

 

Controller extension is below.  The vafacilityid is an Input/Output variable in Flow FacilityLookup and should return the Account ID newly created. In the flow I added a screen that validates that the variable does have a value at the end of the flow so something is wrong with the controller?

 

Controller Extension

public class flowFinishContExt_Acct {

private final Account acct;

public flowFinishContExt_Acct(ApexPages.StandardController stdController) {
this.acct = (Account)stdController.getRecord();
}

public Flow.Interview.FacilityLookup atFlow {get; set;}

public String getaccountID() {
if (atFlow==null) return '';
else return atFlow.vafacilityid;
}

public PageReference getFinishPage(){
PageReference p = new PageReference(''/apex/FacilityMainTabbed' + getaccountId());
p.setRedirect(true);
return p;
}

}