• Alexandru Ileana
  • NEWBIE
  • 30 Points
  • Member since 2014
  • Software Engineer
  • eServGlobal

  • Chatter
    Feed
  • 1
    Best Answers
  • 1
    Likes Received
  • 1
    Likes Given
  • 4
    Questions
  • 11
    Replies
Hi,

I have a vf page that renders as a pdf and displays a dataTable of results from a related list on an object, it is working well apart from the following.

I need to add a column in my data table that displays a description of the item in the 'Code' Column.
I have done this using if statements and it is working nicely, however, I am worried that I will hit the maximum formula compile size as I will be adding a lot more to this in the future.

What is the best way to get around this to generate the correct descriptions without huge multiple if statements?

section of current vf page
<div class="content">
<apex:dataTable value="{!AsstList}" var="item" border="0" cellpadding="5" cellspacing="1" width="567px" style="margin: auto auto;">

<apex:column width="20%" headerValue="Code">
<apex:outputText value="{!item.CodeTEXT__c}">
</apex:outputText>
</apex:column>

<apex:column width="60%" headerValue="Description">
<apex:outputText value="{!IF(item.CodeTEXT__c = 'Code1','Code1 Description Here',
                        IF(item.CodeTEXT__c = 'Code2','Code2 Description Here',
                        IF(item.CodeTEXT__c = 'Code3','Code3 Description Here',
                        IF(item.CodeTEXT__c = 'Code4','Code4 Description Here',
                        IF(item.CodeTEXT__c = 'Code5','Code5 Description Here',
                        IF(item.CodeTEXT__c = 'Code6','Code6 Description Here','NULL'))))))}">
</apex:outputText>
</apex:column>

<apex:column width="20%" headerValue="Expiry Date">
<apex:outputText value="{0, date, dd/MM/yyyy}">
       <apex:param value="{!item.Expiry_Date__c}" />
       </apex:outputText>
</apex:column>
</apex:dataTable>
</div>

Thanks
Dear all,

I would like to know the following:
Does anyone know how I could identify which dashboard has been converted from a classic one to lightning at a glance (via SOQL queries or other methods such as a rest request to Salesforce metadata)?

I am planning on releasing the lightning experience interface to many of our users and having the option to identify which dashboards cannot be edited due to it being converted to lightning and which ones cannot be edited due to lack of permissions would be of great help.

Best Regards,
Alexandru.
Dear all,

This topic will begin to feel very long very fast and I am terribly sorry for that, but the main idea is actually very simple. I want to hear thoughts and suggestions on what are the viable methods for viewing external data in Salesforce.

Let us start from the beginning:
I am currently trying to implement two solutions (in order of importance):
  • Getting data from an external DigData solution already up and running. It uses a NoSql Impala (by Cloudera) Database and Kafka. After the data is recieved, the final goal is to just display tables with information to our customers in the Customer Suppoort Portal
  • Getting data from a (currently working only on the local system - not exposed) MySql Database on a Solaris platform into Salesforce Objects regularily and displaying the information on a visualforce page
Let us concentrate on the first topic:
A colleague who is working on this external BigData solution has offered to me three choices for connecting to this system:
  • Connect directly to the Impala DB from Salesforce
  • Connect to Kafka and get the data that way via an exposed gateway
  • Web services (but will have to be created)

Ways to connect that I have started digging into initially:
  1. Exposed web service (SOAP, REST) - we already have another working project using web services to get data from an external system, but in this case it would require a lot of work on both sides: creating the java webservices on the Impala BD endpoint and scheduled web service calls in Salesforce in order to pull data. There is also the concern of security and reliability of data transfer in this case.
  2. Using "AppForce API"? - develop an external application which sends data into SF tables. This could be complicated... I do not see myself developing Dataloader 2.0 in just 1 week. It is not going to happen.
  3. Using a paid solution for data integration such as:
    Informatica Cloud 
    Cast Iron 
    SnapLogic 
    Boomi 
    JitterBit 
    Sesame Relational Junction 
    Apparently these are called ETL tools. More information:
    http://salesforce.stackexchange.com/questions/71556/sql-database-to-salesforce-data-migration
  4. CopyStorm -> works only one way though and it is not schedulable
  5. Possible integration between external information via Kafka and Heroku and then Heroku -> Salesforce
    https://developer.salesforce.com/blogs/developer-relations/2016/09/introducing-apache-kafka-heroku-event-driven-architecture-cloud-era.html
    Heroku can use Heroku connect technology to sync with salesforce, but will have tables in lowercase on a Postgres database. Info:
    https://devcenter.heroku.com/articles/heroku-connect#how-heroku-connect-works
    I see this system working like this:
    Salesforce <-- Heroku <-- Heroku Connect <-- Postgres mirror DB <-- Kafka <-- Impalla DB???
    I am very unfamiliar with Heroku and Heroku connect. Is there any way to obtain a quick start guide and see actual code running in minutes rather than a long business talk? From what I understand, so called "Heroku apps" can be built and easily integrared with Salesforce. How easy it is to make one of these apps?
  6. DataLoader + cliq
    I am currently testing this method on the second topic with the MySql DB and I am having some success with it on first glance. On windows a *.bat file can be used for scheduling an already prepared action and for UNIX or Solaris systems, a *.sh file can be used.
  7. MessageBroker?
    https://www.message-broker.com/dl/mb-connector-salesforce
    I was not able to install the program due to an error (missing folder)
  8. Streaming Channels
    https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/create_a_streaming_channel.htm
  9. Dataloader.io - tried it. Does not support DB loading or scheduling and could not map any field I want. Useless.
  10. Apex Connector Framework
  11. Lightning connect? oData 2.0, oData 4.0? External Salesforce Objects? (What are these. How do they work?)

After writing this down and searching through tons of articles, opening a ticket to Salesforce and being redirected here, I went crazy I have come to the following conclusions:
  • Web services would work, but I will do anything that is in my power to discover at least one alternative
  • AppForce api? ... I have no idea where to start. And I do not want to develop something as big as an eclipse plugin... and how will that help me anyway? I want 5 minute or 1 minute syncs. Not on demand loading
  • All these ETL solutions have two things in common... nobody knows or says how one is built and second: none are free. How do I make a small ETL solution for connecting and importing data from a MySql database? anyone? Exactly.
  • I was able to create a demo Postgres DB on Heroku mapped to my sandbox. Great. I added the Kafka plugin and the surprise hit me: standard0 - 1500$. How about no? Same with MySql DB.
  • Dataloader + cliq might work... I could load from info from a *.cmd file, but I would prefer not to push data withut any control from a BigData solution using cliq which is lacking support since 2012.
  • Streaming channels and Streaming API could be one solution. I have found an article on this:
    https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/create_java_client.htm
    But what does this code do? Will it even work? Help?
  • Apex Connector Framework. Apparently Salesforce can connect via the oData adapter (which is something I am having difficulty understanding what it is and how to set up) and also, a "custom Adapter for Salesforce Connect" can be created:
    https://help.salesforce.com/apex/HTViewHelpDoc?id=apex_adapter_about.htm&language=en_US
    My questions: How? What? The demos I have seen only show how to hardcode values into fictional tables. How do I tell it to connect to an actual DB type like in Java for example: ConnectionString="xyz/abc:!@#"; Database.connect(connectionString);?
    Also this example looks scary. Where do I even start?
    https://www.youtube.com/watch?v=_03T6U7jWX0
  • Apex Bulk API is something talked about often and MetadataApi as well... but I do not thing this can be programed to do what I want... can they?
  • The most important aspect: how do I tell the external app/system what my credentials are? and retian them forever? I do not want to save plain text admin credentials on another machine. I could use OAUTH2.0 and login, but won't I need a session Id every 12 hours? How do I solve this?
Which leads me to (what I believe to be) my only options:
  • Webservices
  • Appforce api
  • Dataloader + cliq
  • Streaming Channels
  • Apex connection framework
  • Extract, Transform, Load (ETL) solutions

And I am stuck. Please explain to me how I could start implementing any of these solutions and if these are in any way viable. I would like some more information about literally anything even remotely related to these.

Also in the second topic where I have tried import data from a MySql I am still testing the validity of the DataLoader + cliq method.

What are your thoughts on this?



Tons of links:
Ways to connect:
https://help.salesforce.com/HTViewSolution?id=000109985

Talend
https://www.talend.com/resources/podcast-videocast/integrating-with-salesforce

Connect Kafka to Heroku
https://developer.salesforce.com/blogs/developer-relations/2016/09/introducing-apache-kafka-heroku-event-driven-architecture-cloud-era.html

Ticket Salesforce
CopyStorm

Heroku connect
https://devcenter.heroku.com/articles/heroku-connect#how-heroku-connect-works
https://www.youtube.com/watch?v=PV7RsqF32Io

Salesforce APIs:
https://developer.salesforce.com/page/Salesforce_APIs
https://help.salesforce.com/HTViewHelpDoc?id=integrate_what_is_api.htm&language=en_US

Streaming Salesforce Events to Heroku Kafka:
https://developer.salesforce.com/blogs/developer-relations/2016/05/streaming-salesforce-events-heroku-kafka.html
https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/create_a_streaming_channel.htm
https://www.youtube.com/watch?v=Aq_TnjU0q48

Discussions:
https://developer.salesforce.com/forums/?id=906F00000008rFZIAY
https://developer.salesforce.com/forums/?id=906F00000008rUbIAI
https://developer.salesforce.com/forums/?id=906F0000000AtYAIA0

Expanding Visibility With Apache Kafka
https://medium.com/salesforce-engineering/expanding-visibility-with-apache-kafka-e305b12c4aba#.aunh2sltw
OK EVENT LOG
https://medium.com/salesforce-engineering/the-architecture-files-ep-3-ok-event-log-56ab8060c546#.ob0h2p7sd

Real-time access to Salesforce data
https://www.progress.com/connectors/salesforce
http://www.dreamhouseapp.io/installation/
https://github.com/jcustenborder/kafka-connect-salesforce

Other:
Integrating Force.com with Your On-premise Database:
https://developer.salesforce.com/page/Integrate_Salesforce.com_With_Your_On-premise_Database
http://www.nonprofitsoapbox.com/solutions/salesforce-integration
http://support.picnet.net/entries/27733608-Soapbox-Forms-for-Salesforce-Current-1-3-
https://www.youtube.com/watch?v=rGYvL8jhmCY
https://www.youtube.com/watch?v=W7Tfru19nS0

http://www.slideshare.net/developerforce/df13-using-external-objects-for-integration-mt
http://www.odata.org/


Best Regards,
Alex.
Dear all,

I have been using separate queries to obtain related Ticket information for a long time.
Here is an example:

Map<Id, Case> tickets = new Map<Id, Case>([SELECT Id, CaseNumber, Subject FROM Case LIMIT 10]); // just an example
List<CaseTeamMember> ticketTeamMembers = [SELECT Id, MemberId, ParentId FROM CaseTeamMember WHERE ParentId IN :tickets.keySet()];
List<CaseContactRole> customerContactsMembers = [SELECT Id, CasesId, ContactId FROM CaseContactRole WHERE CasesId IN :tickets.keySet()];
... // and so on

What I am trying to do now is to limit the number of queries used so I have managed to come this far:
List<Case> relatedTicketInformation = [SELECT
                                                          (SELECT CreatedById FROM CaseComments),
                                                          (SELECT CreatedById FROM Custom_Ticket_Comments__r),
                                                          (SELECT CreatedById FROM Attachments),
                                                          (SELECT CreatedById FROM Custom_Ticket_Attachments__r)
                                                         FROM Case
                                                         WHERE Id IN :tickets.keySet()];

This query works and returns lists of creatorIds for all 4 objects (the custom ones are made by me).
This are called (If I understand correctly) "Parent-to-Child Relationships".

Usefull links with further information are the following:
http://blog.jeffdouglas.com/2010/02/22/soql-how-i-query-with-thee-let-me-count-the-ways/
http://salesforce.stackexchange.com/questions/20572/soql-join-between-two-standard-objects/20573#20573
https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_relationships_understanding.htm


What I want is the following:
List<Case> relatedTicketInformation = [SELECT
                                                         (SELECT MemberId FROM CaseTeamMembers)
                                                         (SELECT ContactId FROM CaseContactRole)
                                                         FROM Case];

This does not work! I want to know why? How can I find out which objects work and which ones do not?
This is how the object looks in Workbench:
User-added image
I see no information related to the plural form for this object (that is what I need).

To summarise, I would like to know the following:
  1. Do join SOQL queries done in this manner count as 1 towards the 101 query limit or still as 3?
  2. Why some objects work and some do not? Shouldn't it be consistent just like then doing field__r.field on any lookup field (I know this is totally different but the relationship exists anyway and it is visible)?
  3. How do I find out what objects work for this and what objects do not (standard)? And why was the decision to lock this feature for some objects been taken if that is the case? Otherwise, please give me a list of ALL the plural forms of all standard objects which can be used in a join query.
  4. Is such a query more efficient then doing separate queries?
Any answer to this would be apreciated.

Best Regards,
Alexandru.
Hello Everyone,

I have an issue with the service cloud console.

Normally when adding an attachment or adding a new comment, the Case tab will refresh, showing the modification as shown in the attachment named 'Standard and Expected behavior (no override).png'.
User-added image

Later we have overridden the standard View page of the Case object with a new custom visualforce page called 'TicketPageWrapper.page' as shown in the attachment 'Case View Overriden.png'.
User-added image

In order for the debugging process to be easier and to eliminate other possible causes from our side, I have eliminated all our custom scripts and left the page as simple as possible.

The code for the 'TicketPageWrapper.page' visualforce page is the following:
<apex:page standardController="Case" extensions="TicketPageWrapper">
    
    <apex:detail id="detailBlock" inlineEdit="true" relatedListHover="true" subject="{!Case.Id}" relatedList="true"/>
    
</apex:page>

After repeating the process the result looks as shown in the attachment named 'Faulted behavior (after override) - no refresh.png'. The automatic refresh does not occur.
User-added image

I am not sure if this can help but I have also attached the firebug console after the comment has been added in the overridden page ('Firebug output in overriden page.png').
User-added image

When refreshing the houl page, the comment appears and this is actually the problem. I would like to know why this happens and have the page refresh just like it used to before.

Other similar issues include the 'hideListButton' arrows not memorising the state after closing the ticket as shown in attachment 'hideListButton issue.png'
User-added image

as well as not being able to change the icon of this 'external page' which in fact is not external, using sforce.console.setTabIcon('/img/sprites/master.png');.
I was able to change the title however using: 'sforce.console.setTabTitle('Ticket #{!Case.CaseNumber}');' however.

The most important issue of all is the first one of course. The problem with the refresh.

I would like to know what can be done to bring back that functionality.

Any suggestion and information is welcome.

Thank you!

Best regards,
Alexandru.
Hello Everyone,

I have an issue with the service cloud console.

Normally when adding an attachment or adding a new comment, the Case tab will refresh, showing the modification as shown in the attachment named 'Standard and Expected behavior (no override).png'.
User-added image

Later we have overridden the standard View page of the Case object with a new custom visualforce page called 'TicketPageWrapper.page' as shown in the attachment 'Case View Overriden.png'.
User-added image

In order for the debugging process to be easier and to eliminate other possible causes from our side, I have eliminated all our custom scripts and left the page as simple as possible.

The code for the 'TicketPageWrapper.page' visualforce page is the following:
<apex:page standardController="Case" extensions="TicketPageWrapper">
    
    <apex:detail id="detailBlock" inlineEdit="true" relatedListHover="true" subject="{!Case.Id}" relatedList="true"/>
    
</apex:page>

After repeating the process the result looks as shown in the attachment named 'Faulted behavior (after override) - no refresh.png'. The automatic refresh does not occur.
User-added image

I am not sure if this can help but I have also attached the firebug console after the comment has been added in the overridden page ('Firebug output in overriden page.png').
User-added image

When refreshing the houl page, the comment appears and this is actually the problem. I would like to know why this happens and have the page refresh just like it used to before.

Other similar issues include the 'hideListButton' arrows not memorising the state after closing the ticket as shown in attachment 'hideListButton issue.png'
User-added image

as well as not being able to change the icon of this 'external page' which in fact is not external, using sforce.console.setTabIcon('/img/sprites/master.png');.
I was able to change the title however using: 'sforce.console.setTabTitle('Ticket #{!Case.CaseNumber}');' however.

The most important issue of all is the first one of course. The problem with the refresh.

I would like to know what can be done to bring back that functionality.

Any suggestion and information is welcome.

Thank you!

Best regards,
Alexandru.
Hi,

I have a vf page that renders as a pdf and displays a dataTable of results from a related list on an object, it is working well apart from the following.

I need to add a column in my data table that displays a description of the item in the 'Code' Column.
I have done this using if statements and it is working nicely, however, I am worried that I will hit the maximum formula compile size as I will be adding a lot more to this in the future.

What is the best way to get around this to generate the correct descriptions without huge multiple if statements?

section of current vf page
<div class="content">
<apex:dataTable value="{!AsstList}" var="item" border="0" cellpadding="5" cellspacing="1" width="567px" style="margin: auto auto;">

<apex:column width="20%" headerValue="Code">
<apex:outputText value="{!item.CodeTEXT__c}">
</apex:outputText>
</apex:column>

<apex:column width="60%" headerValue="Description">
<apex:outputText value="{!IF(item.CodeTEXT__c = 'Code1','Code1 Description Here',
                        IF(item.CodeTEXT__c = 'Code2','Code2 Description Here',
                        IF(item.CodeTEXT__c = 'Code3','Code3 Description Here',
                        IF(item.CodeTEXT__c = 'Code4','Code4 Description Here',
                        IF(item.CodeTEXT__c = 'Code5','Code5 Description Here',
                        IF(item.CodeTEXT__c = 'Code6','Code6 Description Here','NULL'))))))}">
</apex:outputText>
</apex:column>

<apex:column width="20%" headerValue="Expiry Date">
<apex:outputText value="{0, date, dd/MM/yyyy}">
       <apex:param value="{!item.Expiry_Date__c}" />
       </apex:outputText>
</apex:column>
</apex:dataTable>
</div>

Thanks
Hi Guys,

i have a Formula field that is getting Avg values Like 1.3,1.4.up to 3.9 so i need to round the Values As if the Value is 0.4 then Round to '0' and also if the value is 0.5 to 0.9 then i need to round the Value to 1 how can i achive this using workfloe field update

Thanks,
  • October 18, 2016
  • Like
  • 0
Case Description:
I am trying to execute below query on 'Case' business object.

SELECT Id,CaseNumber,ContactId,Owner.Id,Owner.DeveloperName FROM Case

While executing above query we are getting below error

INVALID_FIELD:
CaseNumber,ContactId,Owner.Id,Owner.DeveloperName FROM Case
^
ERROR at Row:1:Column:41
No such column 'DeveloperName' on entity 'Name'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.

Note that 'Case' has relationship name as 'Owner' and this relationship has a reference to 'User' and 'Group'. Group object has a built in field 'DeveloperName'. User build does not have 'DeveloperName' field.

I suspect that this might be happing because of multiple references (Group, User) on 'OwnerId' field and Salesforce query engine may not be able to figure out how to derive Owner.DeveloperName value.

Is there way I can successfully execute above query?
Hello Everyone,

I have an issue with the service cloud console.

Normally when adding an attachment or adding a new comment, the Case tab will refresh, showing the modification as shown in the attachment named 'Standard and Expected behavior (no override).png'.
User-added image

Later we have overridden the standard View page of the Case object with a new custom visualforce page called 'TicketPageWrapper.page' as shown in the attachment 'Case View Overriden.png'.
User-added image

In order for the debugging process to be easier and to eliminate other possible causes from our side, I have eliminated all our custom scripts and left the page as simple as possible.

The code for the 'TicketPageWrapper.page' visualforce page is the following:
<apex:page standardController="Case" extensions="TicketPageWrapper">
    
    <apex:detail id="detailBlock" inlineEdit="true" relatedListHover="true" subject="{!Case.Id}" relatedList="true"/>
    
</apex:page>

After repeating the process the result looks as shown in the attachment named 'Faulted behavior (after override) - no refresh.png'. The automatic refresh does not occur.
User-added image

I am not sure if this can help but I have also attached the firebug console after the comment has been added in the overridden page ('Firebug output in overriden page.png').
User-added image

When refreshing the houl page, the comment appears and this is actually the problem. I would like to know why this happens and have the page refresh just like it used to before.

Other similar issues include the 'hideListButton' arrows not memorising the state after closing the ticket as shown in attachment 'hideListButton issue.png'
User-added image

as well as not being able to change the icon of this 'external page' which in fact is not external, using sforce.console.setTabIcon('/img/sprites/master.png');.
I was able to change the title however using: 'sforce.console.setTabTitle('Ticket #{!Case.CaseNumber}');' however.

The most important issue of all is the first one of course. The problem with the refresh.

I would like to know what can be done to bring back that functionality.

Any suggestion and information is welcome.

Thank you!

Best regards,
Alexandru.

Hi,

 

I wish to add a custom button or custom link to a salesforce.com object's page. For example add such a button to an Account or Opportunity.

My custom link/button will  Execute JavaScript.  I would like to add/use the object id from the Account/Opportunity on which the button exists to a javascript function.  Is there a way of retrieving the parent object ID on which the custom link or button will exist.

 

I know for the User object a function UserInfo.getUserId() which can be used. Is there a similar function (or other process) that can be used for an Account Object & for Opportunity objects?

 

Thanks.

Prior to the Summer '07 release, the $Profile.Name merge field uses special internal values (e.g., PT1, PT2, etc.) to represent standard profiles (System Administrator, Standard User, etc.).  These special values will be replaced with the externally visible names in the Summer ’07 release.  This means that current uses of the $Profile.Name field must be changed in order to continue functioning after the Summer ’07 release. Note that the new $Profile.Name values are translated in the org's default language at runtime.

If you are only using custom profile names, there is no impact.

Standard Profile Name

Old (Spring ’07)
$Profile.Name Value

New (Summer ’07)
$Profile.Name Value

System Administrator

PT1

System Administrator

Standard User

PT2

Standard User

Read Only

PT3

Read Only

Solution Manager

PT4

Solution Manager

Marketing User

PT5

Marketing User

Contract Manager

PT6

Contract Manager

Partner User

PT7

Partner User

Standard Platform User

PT8

Standard Platform User

Standard Platform One User

PT9

Standard Platform One User

Salesforce Administrator

PT10

Salesforce Administrator

Package License Manager

PT11

Package License Manager

Standard Partner

PT12

Standard Partner

Customer Portal User

PT13

Customer Portal User

Customer Portal Manager

PT14

Customer Portal Manager

 

To ensure your formulas continue to work after the Summer ’07 release, you should modify them to handle both the old and new values of $Profile.Name.

 

For example, this validation rule formula expression:

    $Profile.Name <> "PT1"

 

Should be replaced with this expression to be forward compatible:

AND(
    $Profile.Name <> "PT1",
    $Profile.Name <> "System Administrator"
)

 

Note: After Summer ’07 goes live, there is no need to retain the old internal names (PT1, etc.).

  • August 02, 2007
  • Like
  • 1

Prior to the Summer '07 release, the $Profile.Name merge field uses special internal values (e.g., PT1, PT2, etc.) to represent standard profiles (System Administrator, Standard User, etc.).  These special values will be replaced with the externally visible names in the Summer ’07 release.  This means that current uses of the $Profile.Name field must be changed in order to continue functioning after the Summer ’07 release. Note that the new $Profile.Name values are translated in the org's default language at runtime.

If you are only using custom profile names, there is no impact.

Standard Profile Name

Old (Spring ’07)
$Profile.Name Value

New (Summer ’07)
$Profile.Name Value

System Administrator

PT1

System Administrator

Standard User

PT2

Standard User

Read Only

PT3

Read Only

Solution Manager

PT4

Solution Manager

Marketing User

PT5

Marketing User

Contract Manager

PT6

Contract Manager

Partner User

PT7

Partner User

Standard Platform User

PT8

Standard Platform User

Standard Platform One User

PT9

Standard Platform One User

Salesforce Administrator

PT10

Salesforce Administrator

Package License Manager

PT11

Package License Manager

Standard Partner

PT12

Standard Partner

Customer Portal User

PT13

Customer Portal User

Customer Portal Manager

PT14

Customer Portal Manager

 

To ensure your formulas continue to work after the Summer ’07 release, you should modify them to handle both the old and new values of $Profile.Name.

 

For example, this validation rule formula expression:

    $Profile.Name <> "PT1"

 

Should be replaced with this expression to be forward compatible:

AND(
    $Profile.Name <> "PT1",
    $Profile.Name <> "System Administrator"
)

 

Note: After Summer ’07 goes live, there is no need to retain the old internal names (PT1, etc.).

  • August 02, 2007
  • Like
  • 1