<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Efficy Overflow Q&amp;A - Recent questions in Exchange Sync</title>
<link>https://overflow.efficy.io/?qa=questions/developers/services-and-processes/exchange-sync</link>
<description>Powered by Question2Answer</description>
<item>
<title>2fa compatibility with exchange sync service</title>
<link>https://overflow.efficy.io/?qa=5467/2fa-compatibility-with-exchange-sync-service</link>
<description>&lt;p&gt;Hi everyone,&lt;/p&gt;

&lt;p&gt;Is there a way to make efficy exchange sync service to work with Exchange's 2 factors authentification  ?&lt;/p&gt;
</description>
<category>Exchange Sync</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5467/2fa-compatibility-with-exchange-sync-service</guid>
<pubDate>Tue, 02 Jun 2020 14:17:12 +0000</pubDate>
</item>
<item>
<title>How can we use Exchange synchro service through a Proxy</title>
<link>https://overflow.efficy.io/?qa=3695/how-can-we-use-exchange-synchro-service-through-a-proxy</link>
<description>&lt;p&gt;Hi all,&lt;/p&gt;

&lt;p&gt;Our customer &quot;Forem&quot; is actually using the Office 365 Exchange synchro and have error because they use a proxy server to filter all internet connection.&lt;/p&gt;

&lt;p&gt;The workaround is to put a rules in the proxy to authorise the exchange synchro server to go out on the internet, but they want to disabled this rules.&lt;/p&gt;

&lt;p&gt;Which config can we do to force using a proxy with efficy services ?&lt;/p&gt;

&lt;p&gt;Regards&lt;/p&gt;
</description>
<category>Exchange Sync</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=3695/how-can-we-use-exchange-synchro-service-through-a-proxy</guid>
<pubDate>Fri, 30 Nov 2018 14:08:27 +0000</pubDate>
</item>
<item>
<title>Classic ExchangeSyncService and SYNCPROFILE table</title>
<link>https://overflow.efficy.io/?qa=3684/classic-exchangesyncservice-and-syncprofile-table</link>
<description>&lt;p&gt;Is it possible to use the &lt;code&gt;SYNCPROFILE&lt;/code&gt; table configurations - typically defined in Designer - in the classical &lt;code&gt;ExchangeSyncService.exe&lt;/code&gt; Windows Service? It concerns Efficy 11.0&lt;/p&gt;

&lt;p&gt;Or are these DB configurations only used by the &lt;code&gt;ExchangeQueueSync&lt;/code&gt;?&lt;/p&gt;
</description>
<category>Exchange Sync</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=3684/classic-exchangesyncservice-and-syncprofile-table</guid>
<pubDate>Tue, 27 Nov 2018 10:14:24 +0000</pubDate>
</item>
<item>
<title>Out of memory DataSynchro Remote after 6000 imports .</title>
<link>https://overflow.efficy.io/?qa=3257/out-of-memory-datasynchro-remote-after-6000-imports</link>
<description>&lt;p&gt;Merci pour tes réponses rapides,&lt;br&gt;
La version efficy utilisée est 10Sp2 et pour ma DTS je pense la 10.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://overflow.efficy.com/?qa=blob&amp;amp;qa_blobid=3110888426734053397&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;

&lt;p&gt;Merci encore.&lt;/p&gt;
</description>
<category>Exchange Sync</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=3257/out-of-memory-datasynchro-remote-after-6000-imports</guid>
<pubDate>Wed, 13 Jun 2018 07:56:03 +0000</pubDate>
</item>
<item>
<title>Problème d'import</title>
<link>https://overflow.efficy.io/?qa=3247/probleme-dimport</link>
<description>&lt;p&gt;Salut,&lt;/p&gt;

&lt;p&gt;J'ai une erreur lors de l'import d'un ficher dans le module remote avec le message suivant:&lt;br&gt;
est-ce que quelqu'un à une petite idée du problème pour m'aider?&lt;br&gt;
Comment puis-je utiliser le &quot;Free pour liberer la memoire&quot; ?Après chaque  6000 imports j'ai le message: &quot;Out of memory&quot; &lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://overflow.efficy.com/?qa=blob&amp;amp;qa_blobid=14828831905508094267&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;var index = 0;
var transactsTab = [];
function EfficyImportRecord(DataStore) {
    var dateFond = DataStore.AsString('TRANSACTION DATE');
    var fsma = DataStore.AsString('FSMA COMPAGNIE');
    var amount = DataStore.AsString('AMOUNT EUR');
    var IsinTrimed = (DataStore.AsString('CODE ISIN'));
    IsinTrimed = myTrim(IsinTrimed);
    var tranType = getValueFromTableWhereField(&quot;LK_TYPE_TRANS&quot;, &quot;K_TYPE_TRANS&quot;, &quot;F_VALUE&quot;, DataStore.AsString('TRANSACTION TYPE'));
    var param = DataStore.AsString('POLICY NUMBER') + &quot;\n&quot; + fsma + &quot;\n&quot; +tranType+ &quot;\n&quot; + dateFond + &quot;\n&quot; + IsinTrimed;
    var Target = 53; // Tran
    var Target_Contract = 50; //Contract
    var Target_Fond = 52; //Fond
    var k_Contract = query.firstField(&quot;select * from CONTRACTS where reference = :p1&quot;, DataStore.AsString('POLICY NUMBER'), 0);    
    var NbCtra = query.firstField(&quot;select count(*) from contracts where reference = :p1&quot;, DataStore.AsString('POLICY NUMBER') , 0);
    var k_Fond =     query.firstField(&quot;select * from Fonds where F_ISIN_CODE = :p2&quot;, IsinTrimed, 0);
    var PN = DataStore.AsString('POLICY NUMBER');
    index ++;
    Database.log(&quot;Ligne : &quot;+index);
    if(NbCtra &amp;gt; 1)
    {
        Database.log(&quot;plusieurs contrats avec le numero: &quot;+DataStore.AsString('POLICY NUMBER'));
        return;
    }
    var existeItem = 0;
    var existe =  query.firstField(&quot;select count(t.k_transact) from transacts t inner join TRAN_FOND tf on t.k_transact = tf.k_transact inner join fonds f on f.k_fond = tf.k_fond where t.name = :p1 and t.F_FSMA_COMP = :p2 and t.F_LK_TYPE = :p3 and t.F_DATE = CONVERT(datetime2, :p4, 103) and f.F_ISIN_CODE = :p5&quot;, param , 0);
    if(existe &amp;gt; 0)
    {
        Database.log(&quot;Transaction avec POLICY NUMBER: &quot;+ DataStore.AsString('POLICY NUMBER') + &quot; existe déjà =&amp;gt; NOT ADDED! &quot;);
        return;
    }
    //Call méthode add new Transact
    addTransact(k_Contract,k_Fond,Target,Target_Contract,Target_Fond,DataStore);
    for (var i=0;i &amp;lt; transactsTab.length; i++)
    {
        if(transactsTab[i] == PN)
            existeItem ++;
    }
    if(existeItem &amp;gt;0 )
        transactsTab.push(PN);
    else
    {
        transactsTab.push(PN);
        if(tranType != 4)
        {
            try{
                if(existe != 0)
                {
                    var que = &quot;delete transacts where k_transact in (select k_transact from transacts where NAME = :p1) and F_LK_TYPE &amp;lt;&amp;gt; 4 &quot;;
                    query.getDataSet(que,PN);
                    addTransact(k_Contract,k_Fond,Target,Target_Contract,Target_Fond,DataStore);
                }
            }catch (er) {
                Database.log(&quot;Erreur: &quot;+ er.message);
            }
        }
    }
    return true;
}
function addTransact(k_Contract,k_Fond,Target,Target_Contract,Target_Fond,DataStore) {
    var EditHandle = Database.OpenEditContext(Target, 0);
    //check if link existe with contract(If yes than add new Transact)
    Database.log(&quot;k_Contract: &quot;+ k_Contract);
    if( k_Contract != 0 )
    {
        try {
            Database.UpdateFields(EditHandle, 0, 'NAME', DataStore.AsString('POLICY NUMBER'));
            Database.UpdateFields(EditHandle, 0, 'F_AMOUNT', DataStore.AsString('AMOUNT EUR'));
            Database.UpdateFields(EditHandle, 0, 'F_FSMA_COMP', DataStore.AsString('FSMA COMPAGNIE'));
            Database.UpdateFields(EditHandle, 0, 'F_DATE', DataStore.AsString('TRANSACTION DATE'));
            Database.UpdateFields(EditHandle, 0, 'F_LK_TYPE',getValueFromTableWhereField(&quot;LK_TYPE_TRANS&quot;, &quot;K_TYPE_TRANS&quot;, &quot;F_VALUE&quot;, DataStore.AsString('TRANSACTION TYPE')));
            var ctraContext = Database.OpenEditContext(50, k_Contract);
            var invest = Database.ActivateCategory(ctraContext, 'CTRA$INVEST');
            Database.CommitChanges(ctraContext, false);
            Database.CommitChanges(EditHandle, true);
            Database.ExecuteBatch;
            //Database.Free;
            var K_TRANSACT = Database.GetEditKey(EditHandle);
            Database.addLink2(Target,Target_Contract,K_TRANSACT,k_Contract,true);
            Database.log(&quot;Transaction importé avec POLICY NUMBER: &quot;+ DataStore.AsString('POLICY NUMBER') );
        }catch (er) {
            Database.log(&quot;Erreur: &quot;+ er.message);
        }
        finally
        {
            Database.CloseContext(ctraContext);
            Database.CloseContext(EditHandle);
        }
        if(k_Fond != 0 )
            Database.addLink2(Target,Target_Fond,K_TRANSACT,k_Fond,true);
        else
            Database.log(&quot;Fond pas trouvé! Pas de relation avec Table Fond &quot;);
        if(k_Fond != 0 &amp;amp;&amp;amp; k_Contract != 0 )
            Database.addLink2(Target_Fond,Target_Contract,k_Fond,k_Contract,true);
    }
    else
        Database.log(&quot;Contract avec réf: &quot;+DataStore.AsString('POLICY NUMBER')+&quot; pas trouvé! Pas de relation avec table contract &quot;);
}
var query = {
    getDataSet: function (sql, params) {

            var datasetId = Database.ExecuteSQLQuery(sql, params);
            Database.executeBatch;
            var dsResult = Database.CreateDataSet;
            Database.GetObject(datasetId, dsResult);             
            if (dsResult &amp;amp;&amp;amp; !dsResult.isEmpty) dsResult.first;

            return dsResult;

    },
    firstField: function(sql, params, defaultValue) {
        var ds = query.getDataSet(sql, params);
        if (ds &amp;amp;&amp;amp; ds.recordcount &amp;gt; 0) {
            return query.castField(ds, ds.Fields(0));
        }
        return defaultValue;
    },
    castField: function(ds, field) {
        var fieldName = field.fieldName;
        var dataType = parseInt(field.dataType, 10);
        switch (dataType) {
            case 3:
                return ds.fieldByName(fieldName).asInteger; break;
            case 6: case 37: // float
            case 11: // Date
                return ds.fieldByName(fieldName).asFloat; break;
            default:
                return ds.fieldByName(fieldName).asString;
        }
    }
}
// function general to get field from table
function getValueFromTableWhereField(table, kField, field, value) {
    //Database.log(&quot;field + VALUE: &quot;+ field + &quot; =&amp;gt; &quot;+ typeof field +&quot; : &quot; + typeof value) ;
    //var dsId = Database.ExecuteSQLQuery(&quot;SELECT &quot; + kField + &quot; FROM &quot; + table + &quot; WHERE UPPER(&quot; + field + &quot;) = ' UPPER(&quot; + value + &quot;) '&quot;, &quot;&quot;);
    var dsId = Database.ExecuteSQLQuery(&quot;SELECT &quot; + kField + &quot; FROM &quot; + table + &quot; WHERE &quot; + field + &quot; = '&quot; + value + &quot;'&quot;, &quot;&quot;);
    Database.ExecuteBatch;
    var ds = Database.CreateDataSet;
    try {
        Database.GetObject(dsId, ds);
        ds.First;
        return ds.FieldByName(kField).AsString;
    } finally {
        ds.Free;
    }
    return 0;
}
//function to remove white espace for code isin
function myTrim(x) {
    return x.replace(/^\s+|\s+$/gm,'');
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Merci d'avance&lt;/p&gt;
</description>
<category>Exchange Sync</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=3247/probleme-dimport</guid>
<pubDate>Sat, 09 Jun 2018 13:15:34 +0000</pubDate>
</item>
<item>
<title>How can we use: CompleteActionSubjectCustom with the MSExchange sync profiles</title>
<link>https://overflow.efficy.io/?qa=1731/completeactionsubjectcustom-with-msexchange-sync-profiles</link>
<description>&lt;p&gt;Dear,&lt;/p&gt;

&lt;p&gt;How can we use this setting 'CompleteActionSubjectCustom' in the MS Exchange sync profiles.&lt;br&gt;
The checkbox can be set in Efficy designer.&lt;/p&gt;

&lt;p&gt;kr&lt;br&gt;
Erwin Vogeleer&lt;/p&gt;
</description>
<category>Exchange Sync</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1731/completeactionsubjectcustom-with-msexchange-sync-profiles</guid>
<pubDate>Fri, 24 Jun 2016 09:15:53 +0000</pubDate>
</item>
<item>
<title>How to match recurring appointments from Exchange in Efficy?</title>
<link>https://overflow.efficy.io/?qa=1602/how-to-match-recurring-appointments-from-exchange-in-efficy</link>
<description>&lt;p&gt;If enabled in the Exchange synchronisation,  every recurrent appoinment created in your Exchange calendar will become a separated action in Efficy. Because the origin in not Efficy, the typical recurrence fields in the ACTIONS table (&lt;code&gt;recurdef, k_recurparent&lt;/code&gt;) are empty.&lt;/p&gt;

&lt;p&gt;How can we map related recurring items?&lt;/p&gt;
</description>
<category>Exchange Sync</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1602/how-to-match-recurring-appointments-from-exchange-in-efficy</guid>
<pubDate>Thu, 12 May 2016 06:48:25 +0000</pubDate>
</item>
<item>
<title>What the convert CDO to EWS function in doing exactly?</title>
<link>https://overflow.efficy.io/?qa=1240/what-the-convert-cdo-to-ews-function-in-doing-exactly</link>
<description>&lt;p&gt;Is it doing updates in MS Exchange or only in our Efficy database (synchro table)?&lt;/p&gt;
</description>
<category>Exchange Sync</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1240/what-the-convert-cdo-to-ews-function-in-doing-exactly</guid>
<pubDate>Mon, 18 Jan 2016 16:59:30 +0000</pubDate>
</item>
<item>
<title>Efficy 2014 (6640): Synchro MS Exchange -&gt; Efficy</title>
<link>https://overflow.efficy.io/?qa=1131/efficy-2014-6640-synchro-ms-exchange-efficy</link>
<description>&lt;p&gt;Dear,&lt;/p&gt;

&lt;p&gt;When syncing from Outlook to Efficy, a meeting with multiple invitees is created as many times as there are invitees. For each invitee a separate record is created in the actions table.&lt;/p&gt;

&lt;p&gt;The invitees are only linked as contacts and not as users. Even if all invitees are known as users in Efficy.&lt;br&gt;
Each user has a linked action record in his agenda. When moving your appointment (in Efficy) to a different timeslot, it is not moved for the other invitees.&lt;/p&gt;

&lt;p&gt;Is there a way to change this behaviour?&lt;/p&gt;

&lt;p&gt;gr&lt;br&gt;
Erwin&lt;/p&gt;
</description>
<category>Exchange Sync</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1131/efficy-2014-6640-synchro-ms-exchange-efficy</guid>
<pubDate>Thu, 07 Jan 2016 08:27:43 +0000</pubDate>
</item>
</channel>
</rss>