<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Stefano Beretta Microsoft Dynamics CRM Blog - Crm Sviluppo lato client</title>
    <link>http://www.sberetta.it/</link>
    <description>CRM e MOSS Senior Consultant</description>
    <language>it-it</language>
    <copyright>2009 Stefano Beretta</copyright>
    <lastBuildDate>Mon, 12 Jul 2010 16:12:09 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.7174.0</generator>
    <managingEditor>berettas@sberetta.it</managingEditor>
    <webMaster>berettas@sberetta.it</webMaster>
    <item>
      <trackback:ping>http://www.sberetta.it/Trackback.aspx?guid=85eb2d91-03c1-4258-993b-3bdd517b484b</trackback:ping>
      <pingback:server>http://www.sberetta.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.sberetta.it/PermaLink,guid,85eb2d91-03c1-4258-993b-3bdd517b484b.aspx</pingback:target>
      <dc:creator>Stefano Beretta</dc:creator>
      <wfw:comment>http://www.sberetta.it/CommentView,guid,85eb2d91-03c1-4258-993b-3bdd517b484b.aspx</wfw:comment>
      <wfw:commentRss>http://www.sberetta.it/SyndicationService.asmx/GetEntryCommentsRss?guid=85eb2d91-03c1-4258-993b-3bdd517b484b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
...a volte puo' provocare disastri.
</p>
        <p>
Quando la si usa bisogna avere in mente quello che essa fa: forza la platform del
CRM a salvare il record corrente passando nel post del form http il valore del campo.
</p>
        <p>
          <br />
Se pero', ad esempio, il record e' in uno stato di disattivazione, cio' manda in errore
la platform perche' l'oggetto non poteva essere aggiornato.
</p>
        <p>
Quindi quando si setta questa proprieta' a true bisogna anche verificare lo stato
del record!!!
</p>
        <img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=85eb2d91-03c1-4258-993b-3bdd517b484b" />
      </body>
      <title>Attenzione al ForceSubmit!!!</title>
      <guid isPermaLink="false">http://www.sberetta.it/PermaLink,guid,85eb2d91-03c1-4258-993b-3bdd517b484b.aspx</guid>
      <link>http://www.sberetta.it/2010/07/12/AttenzioneAlForceSubmit.aspx</link>
      <pubDate>Mon, 12 Jul 2010 16:12:09 GMT</pubDate>
      <description>&lt;p&gt;
...a volte puo' provocare disastri.
&lt;/p&gt;
&lt;p&gt;
Quando la si usa bisogna avere in mente quello che essa fa: forza la platform del
CRM a salvare il record corrente passando nel post del form http il valore del campo.
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
Se pero', ad esempio, il record e' in uno stato di disattivazione, cio' manda in errore
la platform perche' l'oggetto non poteva essere aggiornato.
&lt;/p&gt;
&lt;p&gt;
Quindi quando si setta questa proprieta' a true bisogna anche verificare lo stato
del record!!!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=85eb2d91-03c1-4258-993b-3bdd517b484b" /&gt;</description>
      <comments>http://www.sberetta.it/CommentView,guid,85eb2d91-03c1-4258-993b-3bdd517b484b.aspx</comments>
      <category>CRM</category>
      <category>Crm Sviluppo lato client</category>
    </item>
    <item>
      <trackback:ping>http://www.sberetta.it/Trackback.aspx?guid=07a9d29a-ee12-4807-8225-bb8fe533fdb0</trackback:ping>
      <pingback:server>http://www.sberetta.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.sberetta.it/PermaLink,guid,07a9d29a-ee12-4807-8225-bb8fe533fdb0.aspx</pingback:target>
      <dc:creator>Stefano Beretta</dc:creator>
      <wfw:comment>http://www.sberetta.it/CommentView,guid,07a9d29a-ee12-4807-8225-bb8fe533fdb0.aspx</wfw:comment>
      <wfw:commentRss>http://www.sberetta.it/SyndicationService.asmx/GetEntryCommentsRss?guid=07a9d29a-ee12-4807-8225-bb8fe533fdb0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
...ho deciso di rimettere un vecchio psot che spiega come gestire le lookup che come
comportamento predefinito offrono la possibilita' di spaziare su piu' entita'.
</p>
        <p>
In realta' l'oggetto javascript usato dalle lookup offre la proprieta' <b>lookuptype</b> che
punta all'object type code delle entita' da visualizzare.<br /></p>
        <p>
Se allora per esempio si desidera che una lookup di tipo customer (di solito permette
di selezionare account e contatti) visualizzi solo gli account bast scrivere:<br />
crmForm.all.customerid.setAttribute("lookuptypes", "1");<br />
perche' l'object type code degli account e' appunto 1.<img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=07a9d29a-ee12-4807-8225-bb8fe533fdb0" /></p>
      </body>
      <title>Torniamo sulle lookup</title>
      <guid isPermaLink="false">http://www.sberetta.it/PermaLink,guid,07a9d29a-ee12-4807-8225-bb8fe533fdb0.aspx</guid>
      <link>http://www.sberetta.it/2010/07/11/TorniamoSulleLookup.aspx</link>
      <pubDate>Sun, 11 Jul 2010 15:28:00 GMT</pubDate>
      <description>&lt;p&gt;
...ho deciso di rimettere un vecchio psot che spiega come gestire le lookup che come
comportamento predefinito offrono la possibilita' di spaziare su piu' entita'.
&lt;/p&gt;
&lt;p&gt;
In realta' l'oggetto javascript usato dalle lookup offre la proprieta' &lt;b&gt;lookuptype&lt;/b&gt; che
punta all'object type code delle entita' da visualizzare.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
Se allora per esempio si desidera che una lookup di tipo customer (di solito permette
di selezionare account e contatti) visualizzi solo gli account bast scrivere:&lt;br /&gt;
crmForm.all.customerid.setAttribute("lookuptypes", "1");&lt;br /&gt;
perche' l'object type code degli account e' appunto 1.&lt;img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=07a9d29a-ee12-4807-8225-bb8fe533fdb0" /&gt;</description>
      <comments>http://www.sberetta.it/CommentView,guid,07a9d29a-ee12-4807-8225-bb8fe533fdb0.aspx</comments>
      <category>CRM</category>
      <category>Crm Sviluppo lato client</category>
    </item>
    <item>
      <trackback:ping>http://www.sberetta.it/Trackback.aspx?guid=1d855994-18c9-4fe4-a08a-716597fb63e8</trackback:ping>
      <pingback:server>http://www.sberetta.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.sberetta.it/PermaLink,guid,1d855994-18c9-4fe4-a08a-716597fb63e8.aspx</pingback:target>
      <dc:creator>Stefano Beretta</dc:creator>
      <wfw:comment>http://www.sberetta.it/CommentView,guid,1d855994-18c9-4fe4-a08a-716597fb63e8.aspx</wfw:comment>
      <wfw:commentRss>http://www.sberetta.it/SyndicationService.asmx/GetEntryCommentsRss?guid=1d855994-18c9-4fe4-a08a-716597fb63e8</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <title>Gestire i pulsanti delle griglie dal form dell'entita' madre</title>
      <guid isPermaLink="false">http://www.sberetta.it/PermaLink,guid,1d855994-18c9-4fe4-a08a-716597fb63e8.aspx</guid>
      <link>http://www.sberetta.it/2010/04/25/GestireIPulsantiDelleGriglieDalFormDellentitaMadre.aspx</link>
      <pubDate>Sun, 25 Apr 2010 21:21:57 GMT</pubDate>
      <description>&lt;p&gt;
...javascript per risolvere il problema.
&lt;/p&gt;
&lt;p&gt;
Queste funzioni prima nascondono alcuni pulsanti e poi ne rinominano altri. Il tutto
tramite array di nomi e di titoli passati come parametri&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
function HideAssociatedViewButtons(loadAreaId, buttonTitles, buttonTitles2, buttonTitles3,
buttonTitles4) { //Area del pulsante di sinistra, titoli da nascondere, vecchi titoli
da rinominare, nuovi nomi, vecchi nomi&lt;br /&gt;
var navElement = document.getElementById('nav_' + loadAreaId);&lt;br /&gt;
if (navElement != null) {&lt;br /&gt;
navElement.onclick = function LoadAreaOverride() {&lt;br /&gt;
loadArea(loadAreaId);&lt;br /&gt;
HideViewButtons(document.getElementById(loadAreaId + 'Frame'), buttonTitles, buttonTitles2,
buttonTitles3, buttonTitles4);&lt;br /&gt;
(document.getElementById(loadAreaId + 'Frame'), buttonTitles2, buttonTitles3);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function RenameViewButtons(iFrame, buttonTitles, newbuttonTitles, oldbuttonsnames)
{&lt;br /&gt;
var liElements = iFrame.document.getElementsByTagName('li');&lt;br /&gt;
&lt;br /&gt;&lt; buttonTitles.length; j++) {&lt;br /&gt;&lt; liElements.length; i++) {&lt;br /&gt;
for (var j = 0; j for (var i = 0; i if (liElements[i].getAttribute('title') == buttonTitles[j])
{&lt;br /&gt;
liElements[i].innerHTML = liElements[i].innerHTML.replace(oldbuttonsnames[j], newbuttonTitles[j]);&lt;br /&gt;
liElements[i].innerHTML = liElements[i].innerHTML.replace(oldbuttonsnames[j], newbuttonTitles[j]);&lt;br /&gt;
break;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function HideViewButtons(Iframe, buttonTitles, buttons2, buttons3, buttons4) {&lt;br /&gt;
if (Iframe != null) {&lt;br /&gt;
Iframe.onreadystatechange = function HideTitledButtons() {&lt;br /&gt;
var iFrame;&lt;br /&gt;
if (Iframe.readyState == 'complete') {&lt;br /&gt;
iFrame = frames[window.event.srcElement.id];&lt;br /&gt;
var liElements = iFrame.document.getElementsByTagName('li');&lt;br /&gt;
&lt;br /&gt;&lt; buttonTitles.length; j++) {&lt;br /&gt;&lt; liElements.length; i++) {&lt;br /&gt;
for (var j = 0; j for (var i = 0; i if (liElements[i].getAttribute('title') == buttonTitles[j])
{&lt;br /&gt;
liElements[i].style.display = 'none';&lt;br /&gt;
break;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
RenameViewButtons(iFrame, buttons2, buttons3, buttons4);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
} 
&lt;br /&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=1d855994-18c9-4fe4-a08a-716597fb63e8" /&gt;</description>
      <comments>http://www.sberetta.it/CommentView,guid,1d855994-18c9-4fe4-a08a-716597fb63e8.aspx</comments>
      <category>CRM</category>
      <category>Crm Sviluppo lato client</category>
    </item>
    <item>
      <trackback:ping>http://www.sberetta.it/Trackback.aspx?guid=18be671b-fcd1-463f-970f-1f6e17a650fe</trackback:ping>
      <pingback:server>http://www.sberetta.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.sberetta.it/PermaLink,guid,18be671b-fcd1-463f-970f-1f6e17a650fe.aspx</pingback:target>
      <dc:creator>Stefano Beretta</dc:creator>
      <wfw:comment>http://www.sberetta.it/CommentView,guid,18be671b-fcd1-463f-970f-1f6e17a650fe.aspx</wfw:comment>
      <wfw:commentRss>http://www.sberetta.it/SyndicationService.asmx/GetEntryCommentsRss?guid=18be671b-fcd1-463f-970f-1f6e17a650fe</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
...bisogna modificare la struttura XML della vista.
</p>
        <p>
Quindi si esporta in XML, l'entita' desiderata, si apre l'XML, si ricerca la vista
dqa modificare (ad esempio quick find o advanced find) e si rimuove il filtro (e'
scritto in sintassi fetch xml, linguaggio ormai comunemente compreso dagli sviluppatori).
</p>
        <p>
Nulla di piu' facile
</p>
        <img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=18be671b-fcd1-463f-970f-1f6e17a650fe" />
      </body>
      <title>Modificare i filtri predefiniti delle viste di sistema</title>
      <guid isPermaLink="false">http://www.sberetta.it/PermaLink,guid,18be671b-fcd1-463f-970f-1f6e17a650fe.aspx</guid>
      <link>http://www.sberetta.it/2010/02/26/ModificareIFiltriPredefinitiDelleVisteDiSistema.aspx</link>
      <pubDate>Fri, 26 Feb 2010 09:14:53 GMT</pubDate>
      <description>&lt;p&gt;
...bisogna modificare la struttura XML della vista.
&lt;/p&gt;
&lt;p&gt;
Quindi si esporta in XML, l'entita' desiderata, si apre l'XML, si ricerca la vista
dqa modificare (ad esempio quick find o advanced find) e si rimuove il filtro (e'
scritto in sintassi fetch xml, linguaggio ormai comunemente compreso dagli sviluppatori).
&lt;/p&gt;
&lt;p&gt;
Nulla di piu' facile
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=18be671b-fcd1-463f-970f-1f6e17a650fe" /&gt;</description>
      <comments>http://www.sberetta.it/CommentView,guid,18be671b-fcd1-463f-970f-1f6e17a650fe.aspx</comments>
      <category>CRM</category>
      <category>Crm Sviluppo lato client</category>
    </item>
    <item>
      <trackback:ping>http://www.sberetta.it/Trackback.aspx?guid=044557ee-47bf-4195-8bc2-b80a9b2169fe</trackback:ping>
      <pingback:server>http://www.sberetta.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.sberetta.it/PermaLink,guid,044557ee-47bf-4195-8bc2-b80a9b2169fe.aspx</pingback:target>
      <dc:creator>Stefano Beretta</dc:creator>
      <wfw:comment>http://www.sberetta.it/CommentView,guid,044557ee-47bf-4195-8bc2-b80a9b2169fe.aspx</wfw:comment>
      <wfw:commentRss>http://www.sberetta.it/SyndicationService.asmx/GetEntryCommentsRss?guid=044557ee-47bf-4195-8bc2-b80a9b2169fe</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
...tale voce risulta essere essenziale per includere gli url del CRM in altre applicazioni
web, oppure in altre zone della stessa interfaccia utente del CRM (i-frame, site map,
eccetera).<br />
Molte volte si pena non poco, essendo la UI del CRM fatta a frame, a capire l'url
"vero" di una certa pagina che ci serve visualizzare in un iframe o in una pagina
custom e quindi si perde una marea di tempo.<br />
Selezionando invece copia link dal menu' si ha gratis l'url desiderato.
</p>
        <p>
Come gia' detto, rivalutiamo quella voce di menu'!
</p>
        <img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=044557ee-47bf-4195-8bc2-b80a9b2169fe" />
      </body>
      <title>Rivalutiamo la voce di menu Crea Link</title>
      <guid isPermaLink="false">http://www.sberetta.it/PermaLink,guid,044557ee-47bf-4195-8bc2-b80a9b2169fe.aspx</guid>
      <link>http://www.sberetta.it/2010/02/26/RivalutiamoLaVoceDiMenuCreaLink.aspx</link>
      <pubDate>Fri, 26 Feb 2010 09:02:37 GMT</pubDate>
      <description>&lt;p&gt;
...tale voce risulta essere essenziale per includere gli url del CRM in altre applicazioni
web, oppure in altre zone della stessa interfaccia utente del CRM (i-frame, site map,
eccetera).&lt;br /&gt;
Molte volte si pena non poco, essendo la UI del CRM fatta a frame, a capire l'url
"vero" di una certa pagina che ci serve visualizzare in un iframe o in una pagina
custom e quindi si perde una marea di tempo.&lt;br /&gt;
Selezionando invece copia link dal menu' si ha gratis l'url desiderato.
&lt;/p&gt;
&lt;p&gt;
Come gia' detto, rivalutiamo quella voce di menu'!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=044557ee-47bf-4195-8bc2-b80a9b2169fe" /&gt;</description>
      <comments>http://www.sberetta.it/CommentView,guid,044557ee-47bf-4195-8bc2-b80a9b2169fe.aspx</comments>
      <category>CRM</category>
      <category>Crm Sviluppo lato client</category>
    </item>
    <item>
      <trackback:ping>http://www.sberetta.it/Trackback.aspx?guid=46f0fd52-e01c-4382-ba76-9093d122dfc5</trackback:ping>
      <pingback:server>http://www.sberetta.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.sberetta.it/PermaLink,guid,46f0fd52-e01c-4382-ba76-9093d122dfc5.aspx</pingback:target>
      <dc:creator>Stefano Beretta</dc:creator>
      <wfw:comment>http://www.sberetta.it/CommentView,guid,46f0fd52-e01c-4382-ba76-9093d122dfc5.aspx</wfw:comment>
      <wfw:commentRss>http://www.sberetta.it/SyndicationService.asmx/GetEntryCommentsRss?guid=46f0fd52-e01c-4382-ba76-9093d122dfc5</wfw:commentRss>
      <title>Come lanciare un workflow dal client</title>
      <guid isPermaLink="false">http://www.sberetta.it/PermaLink,guid,46f0fd52-e01c-4382-ba76-9093d122dfc5.aspx</guid>
      <link>http://www.sberetta.it/2009/12/02/ComeLanciareUnWorkflowDalClient.aspx</link>
      <pubDate>Wed, 02 Dec 2009 12:30:08 GMT</pubDate>
      <description>&lt;p&gt;
...basta conoscere il comando SOAP.&lt;br /&gt;
La funzione javascript e' simile a quelle riportate nell'SDK per richiamare i metodi
dei servizi web della platform.
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
ExecuteWorkflow = function(entityId, workflowId)&lt;br /&gt;
{&lt;br /&gt;
var xml = "" + 
&lt;br /&gt;&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;
"" + 
&lt;br /&gt;
"&lt;soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"&gt;" + &lt;br /&gt;
GenerateAuthenticationHeader() + 
&lt;br /&gt;
" 
&lt;soap:Body&gt;" + &lt;br /&gt;
" 
&lt;Execute xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\"&gt;
" + 
&lt;br /&gt;
" 
&lt;Request xsi:type=\"ExecuteWorkflowRequest\"&gt;
" + 
&lt;br /&gt;
" 
&lt;EntityId&gt;
" + entityId + 
&lt;br /&gt;
"
&lt;/EntityId&gt;
" + 
&lt;br /&gt;
" 
&lt;WorkflowId&gt;
" + workflowId + "
&lt;/WorkflowId&gt;
" + 
&lt;br /&gt;
" 
&lt;/Request&gt;
" + 
&lt;br /&gt;
" 
&lt;/Execute&gt;
" + 
&lt;br /&gt;
    "  &lt;/soap:Body&gt;
" + 
&lt;br /&gt;
    "&lt;/soap:Envelope&gt;
" + 
&lt;br /&gt;
"";&lt;br /&gt;
&lt;br /&gt;
var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");&lt;br /&gt;
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);&lt;br /&gt;
xmlHttpRequest.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/Execute");&lt;br /&gt;
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");&lt;br /&gt;
xmlHttpRequest.setRequestHeader("Content-Length", xml.length);&lt;br /&gt;
xmlHttpRequest.send(xml);&lt;br /&gt;
var resultXml = xmlHttpRequest.responseXML;&lt;br /&gt;
return(resultXml.xml);&lt;br /&gt;
}&lt;br /&gt;
var theWorkflowId = "3FD2DD58-4708-43D7-A21B-F0F90A0AA9F2"; //da cambiare***&lt;br /&gt;
ExecuteWorkflow(crmForm.ObjectId, theWorkflowId);&lt;br /&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=46f0fd52-e01c-4382-ba76-9093d122dfc5" /&gt;</description>
      <comments>http://www.sberetta.it/CommentView,guid,46f0fd52-e01c-4382-ba76-9093d122dfc5.aspx</comments>
      <category>CRM</category>
      <category>Crm Sviluppo lato client</category>
    </item>
    <item>
      <trackback:ping>http://www.sberetta.it/Trackback.aspx?guid=1e8cf5ec-4cdd-4356-baca-9eb257151aee</trackback:ping>
      <pingback:server>http://www.sberetta.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.sberetta.it/PermaLink,guid,1e8cf5ec-4cdd-4356-baca-9eb257151aee.aspx</pingback:target>
      <dc:creator>Stefano Beretta</dc:creator>
      <wfw:comment>http://www.sberetta.it/CommentView,guid,1e8cf5ec-4cdd-4356-baca-9eb257151aee.aspx</wfw:comment>
      <wfw:commentRss>http://www.sberetta.it/SyndicationService.asmx/GetEntryCommentsRss?guid=1e8cf5ec-4cdd-4356-baca-9eb257151aee</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Una proprieta' molto utile quando si lavora con i form del CRM e' <b>event.Mode</b><br />
Essa si usa per conoscere, all'interno dell'evento onSave, la causa del salvataggio
del form.<br />
Nella figura qui sotto sono riportati i valori documentati
</p>
        <p>
        </p>
        <li>
None : 0 
</li>
        <li>
Save : 1 
</li>
        <li>
SaveAndClose : 2 
</li>
        <li>
Delete : 3 
</li>
        <li>
Load : 4 
</li>
        <li>
Deactivate : 5 
</li>
        <li>
Reactivate : 6 
</li>
        <li>
Email Send : 7 
</li>
        <li>
Email Reply : 8 
</li>
        <li>
Email Forward : 9 
</li>
        <li>
Kb Submit : 10 
</li>
        <li>
Kb Reject : 11 
</li>
        <li>
Kb Publish : 12 
</li>
        <li>
Kb UnPublish : 13 
</li>
        <li>
Kb Rate : 14 
</li>
        <li>
Lead Unqualify : 15 
</li>
        <li>
Lead Qualify : 16 
</li>
        <li>
Quote Accept : 17 
</li>
        <li>
Quote CreateOrder : 18 
</li>
        <li>
Order ProcessOrder : 19 
</li>
        <li>
Opportunity AddRelatedOrder : 21 
</li>
        <li>
Opportunity AddRelatedQuote : 22 
</li>
        <li>
Opportunity AddRelatedInvoice : 23 
</li>
        <li>
Quote CreateRevision : 24 
</li>
        <li>
Quote CloseQuote : 25 
</li>
        <li>
Order CancelOrder : 26 
</li>
        <li>
Invoice Close : 27 
</li>
        <li>
Quote GetProducts : 28 
</li>
        <li>
Quote Activate : 29 
</li>
        <li>
Email ReplyAll : 30 
</li>
        <li>
Contract Hold : 31 
</li>
        <li>
Contract ReleaseHold : 32 
</li>
        <li>
Contract Cancel : 33 
</li>
        <li>
Contract Renew : 34 
</li>
        <li>
Product ConvertToKit : 35 
</li>
        <li>
Product ConvertFromKit : 36 
</li>
        <li>
ContractDetail Cancel : 37 
</li>
        <li>
Contract Invoice : 38 
</li>
        <li>
Contract Clone : 39 
</li>
        <li>
Incident Cancel : 40 
</li>
        <li>
Email Assign : 41 
</li>
        <li>
Change SalesStage : 42 
</li>
        <li>
SalesOrder GetProducts : 43 
</li>
        <li>
InvoiceGetProducts : 44 
</li>
        <li>
TemplateMakeOrgAvailable : 45 
</li>
        <li>
TemplateMakeOrgUnavailable : 46 
</li>
        <li>
Assign : 47 
</li>
        <li>
IncidentAssignToUser : 49 
</li>
        <li>
OrderLock : 50 
</li>
        <li>
OrderUnlock : 51 
</li>
        <li>
InvoiceLock : 52 
</li>
        <li>
InvoiceUnlock : 53 
</li>
        <li>
ConvertResponse : 54 
</li>
        <li>
ReportMakeOrgAvailable : 60 
</li>
        <li>
ReportMakeOrgUnavailable : 61 
</li>
        <li>
WorkflowAddCheckStep : 62 
</li>
        <li>
WorkflowUpdateCondition : 63 
</li>
        <li>
WorkflowCreateAction : 64 
</li>
        <li>
SendInvite : 65 
</li>
        <li>
WorkflowAddElseIfStep : 66 
</li>
        <li>
WorkflowAddElseStep : 67 
</li>
        <li>
WorkflowDeleteStep : 68 
</li>
        <br />
        <p>
Il bello, o il brutto dipende dai punti di vista, e' che quelli non sono tutti i valori
restituiti, alcuni dei quali sono molto importanti. Praticamente ogni operazione eseguita
dall'utente o dal CRM stesso che provochi un salvataggio del form e' codificata nella
proprieta'.
</p>
        <p>
La cosa bella e' quindi che possiamo conoscere lato client anche molte delle operazioni
"segrete" eseguite dal CRM che provocano il salvataggio del form. La cosa meno bella
e' che non ne esiste un elenco completo e quindi bisogna sperimentare...<br /></p>
        <p>
Un piccolo esempio: quando si evade un ordine di vendita il CRM salva il form prima
di scatenare l'operazione; in questo caso event.Mode vale 56, valore non documentato.
</p>
        <img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=1e8cf5ec-4cdd-4356-baca-9eb257151aee" />
      </body>
      <title>I misteri dell'evento on save</title>
      <guid isPermaLink="false">http://www.sberetta.it/PermaLink,guid,1e8cf5ec-4cdd-4356-baca-9eb257151aee.aspx</guid>
      <link>http://www.sberetta.it/2009/11/19/IMisteriDelleventoOnSave.aspx</link>
      <pubDate>Thu, 19 Nov 2009 17:05:33 GMT</pubDate>
      <description>&lt;p&gt;
Una proprieta' molto utile quando si lavora con i form del CRM e' &lt;b&gt;event.Mode&lt;/b&gt;
&lt;br /&gt;
Essa si usa per conoscere, all'interno dell'evento onSave, la causa del salvataggio
del form.&lt;br /&gt;
Nella figura qui sotto sono riportati i valori documentati
&lt;/p&gt;
&lt;p&gt;
&lt;li&gt;
None : 0 
&lt;/li&gt;
&lt;li&gt;
Save : 1 
&lt;/li&gt;
&lt;li&gt;
SaveAndClose : 2 
&lt;/li&gt;
&lt;li&gt;
Delete : 3 
&lt;/li&gt;
&lt;li&gt;
Load : 4 
&lt;/li&gt;
&lt;li&gt;
Deactivate : 5 
&lt;/li&gt;
&lt;li&gt;
Reactivate : 6 
&lt;/li&gt;
&lt;li&gt;
Email Send : 7 
&lt;/li&gt;
&lt;li&gt;
Email Reply : 8 
&lt;/li&gt;
&lt;li&gt;
Email Forward : 9 
&lt;/li&gt;
&lt;li&gt;
Kb Submit : 10 
&lt;/li&gt;
&lt;li&gt;
Kb Reject : 11 
&lt;/li&gt;
&lt;li&gt;
Kb Publish : 12 
&lt;/li&gt;
&lt;li&gt;
Kb UnPublish : 13 
&lt;/li&gt;
&lt;li&gt;
Kb Rate : 14 
&lt;/li&gt;
&lt;li&gt;
Lead Unqualify : 15 
&lt;/li&gt;
&lt;li&gt;
Lead Qualify : 16 
&lt;/li&gt;
&lt;li&gt;
Quote Accept : 17 
&lt;/li&gt;
&lt;li&gt;
Quote CreateOrder : 18 
&lt;/li&gt;
&lt;li&gt;
Order ProcessOrder : 19 
&lt;/li&gt;
&lt;li&gt;
Opportunity AddRelatedOrder : 21 
&lt;/li&gt;
&lt;li&gt;
Opportunity AddRelatedQuote : 22 
&lt;/li&gt;
&lt;li&gt;
Opportunity AddRelatedInvoice : 23 
&lt;/li&gt;
&lt;li&gt;
Quote CreateRevision : 24 
&lt;/li&gt;
&lt;li&gt;
Quote CloseQuote : 25 
&lt;/li&gt;
&lt;li&gt;
Order CancelOrder : 26 
&lt;/li&gt;
&lt;li&gt;
Invoice Close : 27 
&lt;/li&gt;
&lt;li&gt;
Quote GetProducts : 28 
&lt;/li&gt;
&lt;li&gt;
Quote Activate : 29 
&lt;/li&gt;
&lt;li&gt;
Email ReplyAll : 30 
&lt;/li&gt;
&lt;li&gt;
Contract Hold : 31 
&lt;/li&gt;
&lt;li&gt;
Contract ReleaseHold : 32 
&lt;/li&gt;
&lt;li&gt;
Contract Cancel : 33 
&lt;/li&gt;
&lt;li&gt;
Contract Renew : 34 
&lt;/li&gt;
&lt;li&gt;
Product ConvertToKit : 35 
&lt;/li&gt;
&lt;li&gt;
Product ConvertFromKit : 36 
&lt;/li&gt;
&lt;li&gt;
ContractDetail Cancel : 37 
&lt;/li&gt;
&lt;li&gt;
Contract Invoice : 38 
&lt;/li&gt;
&lt;li&gt;
Contract Clone : 39 
&lt;/li&gt;
&lt;li&gt;
Incident Cancel : 40 
&lt;/li&gt;
&lt;li&gt;
Email Assign : 41 
&lt;/li&gt;
&lt;li&gt;
Change SalesStage : 42 
&lt;/li&gt;
&lt;li&gt;
SalesOrder GetProducts : 43 
&lt;/li&gt;
&lt;li&gt;
InvoiceGetProducts : 44 
&lt;/li&gt;
&lt;li&gt;
TemplateMakeOrgAvailable : 45 
&lt;/li&gt;
&lt;li&gt;
TemplateMakeOrgUnavailable : 46 
&lt;/li&gt;
&lt;li&gt;
Assign : 47 
&lt;/li&gt;
&lt;li&gt;
IncidentAssignToUser : 49 
&lt;/li&gt;
&lt;li&gt;
OrderLock : 50 
&lt;/li&gt;
&lt;li&gt;
OrderUnlock : 51 
&lt;/li&gt;
&lt;li&gt;
InvoiceLock : 52 
&lt;/li&gt;
&lt;li&gt;
InvoiceUnlock : 53 
&lt;/li&gt;
&lt;li&gt;
ConvertResponse : 54 
&lt;/li&gt;
&lt;li&gt;
ReportMakeOrgAvailable : 60 
&lt;/li&gt;
&lt;li&gt;
ReportMakeOrgUnavailable : 61 
&lt;/li&gt;
&lt;li&gt;
WorkflowAddCheckStep : 62 
&lt;/li&gt;
&lt;li&gt;
WorkflowUpdateCondition : 63 
&lt;/li&gt;
&lt;li&gt;
WorkflowCreateAction : 64 
&lt;/li&gt;
&lt;li&gt;
SendInvite : 65 
&lt;/li&gt;
&lt;li&gt;
WorkflowAddElseIfStep : 66 
&lt;/li&gt;
&lt;li&gt;
WorkflowAddElseStep : 67 
&lt;/li&gt;
&lt;li&gt;
WorkflowDeleteStep : 68 
&lt;/li&gt;
&lt;br /&gt;
&gt;
&lt;p&gt;
Il bello, o il brutto dipende dai punti di vista, e' che quelli non sono tutti i valori
restituiti, alcuni dei quali sono molto importanti. Praticamente ogni operazione eseguita
dall'utente o dal CRM stesso che provochi un salvataggio del form e' codificata nella
proprieta'.
&lt;/p&gt;
&lt;p&gt;
La cosa bella e' quindi che possiamo conoscere lato client anche molte delle operazioni
"segrete" eseguite dal CRM che provocano il salvataggio del form. La cosa meno bella
e' che non ne esiste un elenco completo e quindi bisogna sperimentare...&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
Un piccolo esempio: quando si evade un ordine di vendita il CRM salva il form prima
di scatenare l'operazione; in questo caso event.Mode vale 56, valore non documentato.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=1e8cf5ec-4cdd-4356-baca-9eb257151aee" /&gt;</description>
      <comments>http://www.sberetta.it/CommentView,guid,1e8cf5ec-4cdd-4356-baca-9eb257151aee.aspx</comments>
      <category>CRM</category>
      <category>Crm Sviluppo lato client</category>
    </item>
    <item>
      <trackback:ping>http://www.sberetta.it/Trackback.aspx?guid=0057ebef-b640-4a98-9184-419d36fa6857</trackback:ping>
      <pingback:server>http://www.sberetta.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.sberetta.it/PermaLink,guid,0057ebef-b640-4a98-9184-419d36fa6857.aspx</pingback:target>
      <dc:creator>Stefano Beretta</dc:creator>
      <wfw:comment>http://www.sberetta.it/CommentView,guid,0057ebef-b640-4a98-9184-419d36fa6857.aspx</wfw:comment>
      <wfw:commentRss>http://www.sberetta.it/SyndicationService.asmx/GetEntryCommentsRss?guid=0057ebef-b640-4a98-9184-419d36fa6857</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Nel CRM solitamente quando si chiude senza salvare un form la cui proprieta' isDirty
e' true si ottiene un messaggio di tipo confirm che chiede sostanzialmente se si e'
sicuri.
</p>
        <p>
Cio' e' sicuramente utile nella quasi totalita' dei casi, ma a volte puo' causare
scomodita': come togliere questa caratteristica?
</p>
        <p>
Apparantemente non si puo'; nella documentazione (SDK) non e' riportato alcun metodo
o chiamata in tal senso.
</p>
        <br />
        <p>
Guardando pero' al codice Javascript usato dal CRM si scopre una bellissima funzione
che fa proprio quello. Basta richiamarla nell'onload del form e il gioco e' fatto:<br /><br />
crmForm.detachCloseAlert(); 
</p>
        <img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=0057ebef-b640-4a98-9184-419d36fa6857" />
      </body>
      <title>Evitare i messaggi javascript di chiusura</title>
      <guid isPermaLink="false">http://www.sberetta.it/PermaLink,guid,0057ebef-b640-4a98-9184-419d36fa6857.aspx</guid>
      <link>http://www.sberetta.it/2009/08/01/EvitareIMessaggiJavascriptDiChiusura.aspx</link>
      <pubDate>Sat, 01 Aug 2009 08:43:00 GMT</pubDate>
      <description>&lt;p&gt;
Nel CRM solitamente quando si chiude senza salvare un form la cui proprieta' isDirty
e' true si ottiene un messaggio di tipo confirm che chiede sostanzialmente se si e'
sicuri.
&lt;/p&gt;
&lt;p&gt;
Cio' e' sicuramente utile nella quasi totalita' dei casi, ma a volte puo' causare
scomodita': come togliere questa caratteristica?
&lt;/p&gt;
&lt;p&gt;
Apparantemente non si puo'; nella documentazione (SDK) non e' riportato alcun metodo
o chiamata in tal senso.
&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;
Guardando pero' al codice Javascript usato dal CRM si scopre una bellissima funzione
che fa proprio quello. Basta richiamarla nell'onload del form e il gioco e' fatto:&lt;br /&gt;
&lt;br /&gt;
crmForm.detachCloseAlert(); 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=0057ebef-b640-4a98-9184-419d36fa6857" /&gt;</description>
      <comments>http://www.sberetta.it/CommentView,guid,0057ebef-b640-4a98-9184-419d36fa6857.aspx</comments>
      <category>CRM</category>
      <category>Crm Sviluppo lato client</category>
    </item>
    <item>
      <trackback:ping>http://www.sberetta.it/Trackback.aspx?guid=5427f25f-04fa-4eab-848a-a4e693c14aee</trackback:ping>
      <pingback:server>http://www.sberetta.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.sberetta.it/PermaLink,guid,5427f25f-04fa-4eab-848a-a4e693c14aee.aspx</pingback:target>
      <dc:creator>Stefano Beretta</dc:creator>
      <wfw:comment>http://www.sberetta.it/CommentView,guid,5427f25f-04fa-4eab-848a-a4e693c14aee.aspx</wfw:comment>
      <wfw:commentRss>http://www.sberetta.it/SyndicationService.asmx/GetEntryCommentsRss?guid=5427f25f-04fa-4eab-848a-a4e693c14aee</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ritorno su IE8 perche' vorrei ancora una volta alzare un warning
</p>
        <p>
Ho gia' avuto occasione di dire e di scrivere che alcune caratteristiche anche apprezzate
dagli sviluppatori lato client del CRM presenti in IE 7 non sono piu' presenti in
IE 8 o funzionano in modo diverso.
</p>
        <br />
        <p>
Cio' significa che <b>bisogna rivedere TUTTE le personalizzazioni a livello di javascript
sul nuovo browser.</b></p>
        <br />
        <p>
Purtroppo in qualche caso si hanno amare sorprese...
</p>
        <p>
E' pur vero che IE 8 consente di porre il proprio motore in modalita' "compatibile
con Internet Explorer 7", ma in alcuni casi cio' non risolve il problema: codice javascript
che in IE 7 dava luogo a certi risultati, in IE 8 potrebbe andare in errore o, come
avviene nella maggior parte dei casi, semplicemnte non funzionare.
</p>
        <p>
Sicuramente IE 8 e' piu' conforme agli standard del W3C, ma questo e' il prezzo da
pagare...
</p>
        <img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=5427f25f-04fa-4eab-848a-a4e693c14aee" />
      </body>
      <title>Ancora IE 8</title>
      <guid isPermaLink="false">http://www.sberetta.it/PermaLink,guid,5427f25f-04fa-4eab-848a-a4e693c14aee.aspx</guid>
      <link>http://www.sberetta.it/2009/07/27/AncoraIE8.aspx</link>
      <pubDate>Mon, 27 Jul 2009 23:15:13 GMT</pubDate>
      <description>&lt;p&gt;
Ritorno su IE8 perche' vorrei ancora una volta alzare un warning
&lt;/p&gt;
&lt;p&gt;
Ho gia' avuto occasione di dire e di scrivere che alcune caratteristiche anche apprezzate
dagli sviluppatori lato client del CRM presenti in IE 7 non sono piu' presenti in
IE 8 o funzionano in modo diverso.
&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;
Cio' significa che &lt;b&gt;bisogna rivedere TUTTE le personalizzazioni a livello di javascript
sul nuovo browser.&lt;/b&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;
Purtroppo in qualche caso si hanno amare sorprese...
&lt;/p&gt;
&lt;p&gt;
E' pur vero che IE 8 consente di porre il proprio motore in modalita' "compatibile
con Internet Explorer 7", ma in alcuni casi cio' non risolve il problema: codice javascript
che in IE 7 dava luogo a certi risultati, in IE 8 potrebbe andare in errore o, come
avviene nella maggior parte dei casi, semplicemnte non funzionare.
&lt;/p&gt;
&lt;p&gt;
Sicuramente IE 8 e' piu' conforme agli standard del W3C, ma questo e' il prezzo da
pagare...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=5427f25f-04fa-4eab-848a-a4e693c14aee" /&gt;</description>
      <comments>http://www.sberetta.it/CommentView,guid,5427f25f-04fa-4eab-848a-a4e693c14aee.aspx</comments>
      <category>CRM</category>
      <category>Crm Sviluppo lato client</category>
    </item>
    <item>
      <trackback:ping>http://www.sberetta.it/Trackback.aspx?guid=8ad55209-1baa-4930-ae05-e9ad691b05bb</trackback:ping>
      <pingback:server>http://www.sberetta.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.sberetta.it/PermaLink,guid,8ad55209-1baa-4930-ae05-e9ad691b05bb.aspx</pingback:target>
      <dc:creator>Stefano Beretta</dc:creator>
      <wfw:comment>http://www.sberetta.it/CommentView,guid,8ad55209-1baa-4930-ae05-e9ad691b05bb.aspx</wfw:comment>
      <wfw:commentRss>http://www.sberetta.it/SyndicationService.asmx/GetEntryCommentsRss?guid=8ad55209-1baa-4930-ae05-e9ad691b05bb</wfw:commentRss>
      <title>Attenzione a IE8</title>
      <guid isPermaLink="false">http://www.sberetta.it/PermaLink,guid,8ad55209-1baa-4930-ae05-e9ad691b05bb.aspx</guid>
      <link>http://www.sberetta.it/2009/07/24/AttenzioneAIE8.aspx</link>
      <pubDate>Fri, 24 Jul 2009 06:32:20 GMT</pubDate>
      <description>&lt;p&gt;
Internet Explorer 8 ha sicuramente portato novita' e un aumento di prestazioni anche
nel CRM.
&lt;/p&gt;
&lt;p&gt;
Bisogna pero' fare attenzione perche' ha anche portato dei cambiamenti a livello di
javascript non sempre graditi.&lt;br /&gt;
Uno di questi cambiamenti e' particolarmente subdolo ed e' mriassunto in una frase: &lt;b&gt;LA
PROPRIETA' innerHTML E' DI SOLA LETTURA&lt;/b&gt;
&lt;br /&gt;
Tutti coloro che usano questa proprieta' per, ad esempio, iniettare proprio codice
HTML nei form del CRM , ottengono come risuktato il nulla.&lt;br /&gt;
Il codice non viene iniettato, ma non si ottiene nemmeno un messaggio di errorre e
quindi e' possibile che non ci accorga del problema.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
Una possibile soluzione potrebbe essere quella di sostituire un inter nodo del DOM
utilizzando le concatenazioni parent/child.&lt;br /&gt;
E' sicuramente una prospettiva piu' macchinosa nel senso che per sostituire ad esempio
un nome e quindi una stringa di pochi caratteri, bisogna agire su un elemento del
dom magari lungp dieci righe, ma almeno funziona.&lt;br 7&gt;
Ecco un esempio di funzione adatta allo scopo:&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
function replace_html(el, html) {&lt;br /&gt;
if( el ) {&lt;br /&gt;
var oldEl = (typeof el === "string" ? document.getElementById(el) : el);&lt;br /&gt;
var newEl = document.createElement(oldEl.nodeName);&lt;br /&gt;
&lt;br /&gt;
newEl.id = oldEl.id;&lt;br /&gt;
newEl.className = oldEl.className;&lt;br /&gt;
&lt;br /&gt;
newEl.innerHTML = html;&lt;br /&gt;
if(oldEl.parentNode)&lt;br /&gt;
oldEl.parentNode.replaceChild(newEl, oldEl);&lt;br /&gt;
else&lt;br /&gt;
oldEl.innerHTML = html;&lt;br /&gt;
&lt;br /&gt;
return newEl;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=8ad55209-1baa-4930-ae05-e9ad691b05bb" /&gt;</description>
      <comments>http://www.sberetta.it/CommentView,guid,8ad55209-1baa-4930-ae05-e9ad691b05bb.aspx</comments>
      <category>CRM</category>
      <category>Crm Sviluppo lato client</category>
    </item>
    <item>
      <trackback:ping>http://www.sberetta.it/Trackback.aspx?guid=33ce7787-1476-4a3c-b810-095137d72b85</trackback:ping>
      <pingback:server>http://www.sberetta.it/pingback.aspx</pingback:server>
      <pingback:target>http://www.sberetta.it/PermaLink,guid,33ce7787-1476-4a3c-b810-095137d72b85.aspx</pingback:target>
      <dc:creator>Stefano Beretta</dc:creator>
      <wfw:comment>http://www.sberetta.it/CommentView,guid,33ce7787-1476-4a3c-b810-095137d72b85.aspx</wfw:comment>
      <wfw:commentRss>http://www.sberetta.it/SyndicationService.asmx/GetEntryCommentsRss?guid=33ce7787-1476-4a3c-b810-095137d72b85</wfw:commentRss>
      <title>GESTIRE I PULSANTI DEL CRM</title>
      <guid isPermaLink="false">http://www.sberetta.it/PermaLink,guid,33ce7787-1476-4a3c-b810-095137d72b85.aspx</guid>
      <link>http://www.sberetta.it/2009/06/23/GESTIREIPULSANTIDELCRM.aspx</link>
      <pubDate>Tue, 23 Jun 2009 14:58:43 GMT</pubDate>
      <description>&lt;p&gt;
GESTIRE I PULSANTI DEL CRM
&lt;/p&gt;
&lt;p&gt;
Spesso risulta utile nascondere i pulsanti del CRM nei form e nelle griglie, nonche'
i link posti della barra di navigazione verticale di sinistra:
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
var lis = document.getElementsByTagName('LI');
&lt;/p&gt;
&lt;p&gt;
var i = 0;&lt;br&gt;
&lt;br&gt;&lt; lis.length) {&lt;BR&gt;
while (i 
&lt;br&gt;
if (lis[i].getAttribute('title') == 'View directions to this account.')&lt;br&gt;
{&lt;br&gt;
&lt;br&gt;
lis[i].outerHTML='inserire un tag SPAN vuoto in questo punto'&lt;br&gt;
}&lt;br&gt;
i = i + 1;&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sberetta.it/aggbug.ashx?id=33ce7787-1476-4a3c-b810-095137d72b85" /&gt;</description>
      <comments>http://www.sberetta.it/CommentView,guid,33ce7787-1476-4a3c-b810-095137d72b85.aspx</comments>
      <category>CRM</category>
      <category>Crm Sviluppo lato client</category>
    </item>
  </channel>
</rss>