Hi there, I've been struggling with the cron run updates since I started my actual project (3 months ago). Since then I could import all data from SF to drupal without problems but the site has never updated records after a cron run. Yes I'm tired of it, and no, obviously I haven't found a solution.

I tried everything from the readme doc, I tried all recommendations related to clearing cache, etc.

So...at this point, I've basically finished my project and I am going back to my SF problem and I find this in the dblog:
"Could not get updated records from Salesforce: INVALID_REPLICATION_DATE: startDate cannot be more than 30 days ago"

Well, this is a different error than the ones I had before, at least SF is trying to update (or it looks like trying) records but something related to startDate is keeping it from doing so.

I need help, urgently, so if anyone has had this before and remembers the problem/solution, please respond to this post, any hint will be welcome.

10000 thanks

nico

Comments

nicodv’s picture

I've changed my approach (once again) and I'm going to try with sf_notifications. I disabled the import module, did everything that is in the "book", setup an outbound message in SF, etc. but there is absolutely no response in my site. In SF I see all the messages are getting (503)Service Unavailable.

My site is now in local, I'm using SF D7 alpha 3 and the settings in Notifications are:
Incoming notif. queue: both checkboxes are on.
In SF I added my IP to the secure IP's
In the IP whitelist I added the one of SF.

Nothing happens here.

help

nicodv’s picture

After disabling the import module and enabling it again, cron run updates got more alive than ever:

Query to retreive updated records: SELECT Id, LastModifiedDate FROM Account WHERE LastModifiedDate > 2012-09-07T09:17:06+00:00 AND Username__c = 'aaaprofo.aaadominguez@cto.group' AND School_Department__c != NULL ORDER BY LastModifiedDate DESC. 1 result(s) returned:
Array
(
[0] => SObject Object
(
[type] =>
[fields] =>
[LastModifiedDate] => 2012-09-07T09:56:45.000Z
[Id] => 001D000000r2CToIAM
)

)
To get this query, I modified the record in SF and then wrote a custom SOQL query in drupal: "update me that record".

So... the system found a record being modified in SF but it did not update it in drupal.

Anyone?

Thanks in advance

nico

aaronbauman’s picture

Version: 7.x-2.0-alpha3 » 7.x-2.x-dev

Have you experienced the same issue with 7.x-2.x-dev?

nicodv’s picture

didnt install it, should i?
really: thanks for answering :)

nicodv’s picture

I installed the dev version but I still get the same error. To solve it at this moment I added a custom SOQL query under the import settings(advanced settings): "LastModifiedDate > 20012-08-13T00:00:00.000Z" Now the error is not being logged anymore.

Is then, the API getUpdated() function failing? BTW: if i check the SF API getupdated method and add the condition I mentioned, I see the error again.

I just don't get the whole thing: should I always write my own SOQL queries? I've always thought that SF Suite only needs the fields mapped and then it does all the work when updating records.

Please, keep on helping me.

Thnks

nico

PS: now that I have your attention, can you think of a reason why a mapped content type gives me this error whenever I click on a node's salesforce tab or when I run cron?
SoapFault: QUERY_TOO_COMPLICATED: Query is either selecting too many fields or the filter conditions are too complicated

thaks SO much

nicodv’s picture

I'm getting this in dblog:
Query to retreive updated records: SELECT Id, LastModifiedDate FROM Opportunity WHERE LastModifiedDate > 2012-06-13T04:58:52+00:00 AND Name = 'xxx, xxx' ORDER BY LastModifiedDate DESC. 1 result(s) returned:
Array
(
[0] => SObject Object
(
[type] =>
[fields] =>
[LastModifiedDate] => 2012-08-01T11:39:36.000Z
[Id] => 002D007770Jxxx3IAB

Some basic questions:
Why does it return 0 fields? should I add SELECTS in the custom SOQL import queries?
Is enough with the mapping to make sf_suite import the mapped fields? Must i do something else?

Please help, it looks I'm getting closer

thanks

kostajh’s picture

Status: Active » Closed (won't fix)

Please try using the 7.x-3.x branch.

interactivex’s picture

Component: salesforce_api » Code
Issue summary: View changes

The above comments did help me a bit, but I solved it another way. The problem is that the date of your last delete sync is older than 30 days ago. To solve this problem do the following:

  • Open salesforce_pull.module in the sites/all/modules/salesforce/modules/salesforce_pull folder
  • Find the following line: $last_delete_sync_sf = gmdate('Y-m-d\TH:i:s\Z', $last_delete_sync); and comment it out
  • Put under it the following line:
    $last_delete_sync_sf = '2015-05-16T12:14:37Z';//gmdate('Y-m-d\TH:i:s\Z', $last_delete_sync);
    and make sure the date is within 30 days from now.
  • Run the Salesforce pull cron again and it will run without errors
  • After that uncomment the line $last_delete_sync_sf = gmdate('Y-m-d\TH:i:s\Z', $last_delete_sync); and delete the line you've added
  • Try to run the cron again and now it works again without any problems

I hope this will help someone out.

nbucknor’s picture

@interativex, instead of modifying the module, you could just run 'drush vdel salesforce_pull_delete_last_' then select the variable that needs to be reset. You should be able to run cron without issues after that.