There currently seems to be an issue in Dynamics 365 Online, where you can see notes in area in the custom entity, but cannot create new notes. I could reproduce this issue in this version -> Version 1612 (8.2.0.773) (DB 8.2.0.764)
This is how the notes area looks in a custom entity. There is no header area to create new notes.
Compare this with the contact entity.
As you can see, there is a textarea to create new notes, which seems to be missing in the custom entity. I looked into this using DevTools, and it appears to be display issue, as the DOM elements for creating the notes are still there. I quickly wrote this bookmarklet to temporarily show the create new notes text area in the form.
Sourcecode
(function () { let contentPanels = Array.from(document.querySelectorAll('iframe')).filter(function (d) { return d.style.visibility !== 'hidden' }); if (contentPanels && contentPanels.length > 0) { let activityWall = contentPanels[0].contentDocument.querySelector('#notesWall div.header'); if(activityWall && activityWall.style.display === 'none'){ activityWall.style.display = '' } } else { alert('Entity form not detected'); } })();
Bookmarklet
javascript:(function(){let contentPanels=Array.from(document.querySelectorAll('iframe')).filter(function(d){return d.style.visibility!=='hidden'});if(contentPanels&&contentPanels.length>0){let activityWall=contentPanels[0].contentDocument.querySelector('#notesWall div.header');if(activityWall&&activityWall.style.display==='none'){activityWall.style.display=''}}else{alert('Entity form not detected');}})();void 0;
This is how the custom form will look, after you run the bookmarklet.
I am not sure what sets the “display” property to none. When the DOM element is initially created, it is created without the “display” property set and then some event handler appears to be modifying this. I set a DOM breakpoint on “Attributes modifications”, but the breakpoint is not retained when I refresh the page, and hence I am unable to catch the “display: none” being set on “#notesWall div.header”. I spent some time to investigate this from the pretty-printed source, but could not figure it out.
Hi. Thank you so much for the bookmarklet, it’s really saved me.
I’ve been trying to convert it to code I could run from inside CRM, maybe onLoad. I’m very new to javascript and I’m not managing to make it work. I wondered if you could point me in the right direction?
Many thanks again.
It is
let activityWall = parent.document.querySelector(‘#notesWall div.header’);
if(activityWall && activityWall.style.display === ‘none’){
activityWall.style.display = ”
}
but I recommend you do not do this and wait for Microsoft to fix this, as it is unsupported and could break with future updates.
Thank you so much – it makes a huge different to my users.
I will make sure to keep an eye on the functionality with any updates made.
Thanks again. Jo
We’re still experiencing this issue even with the latest updates. I’ve tried your javascript bookmark code but keep getting an error that says “Object doesn’t support property or method ‘from’”. Do you have an updated version of this script? Thanks.
Tyler – Array.from is a ES2015 feature and is not supported in Internet Explorer. If you are using IE, replace Array.from(document.querySelectorAll(‘iframe’)) with Array.prototype.slice.call(document.querySelectorAll(‘iframe’),null)
Hello,
thank you very much for this tip. but my problem is that this code seems to be working on other clinets, but not on my computer, and I really need to use notes on my CRM.
can you please advise me that would could be the reason for this?
thank you very much in advance
Are you trying it on the same browser across all the different machines? May be it is a caching issue. Try opening up the page in Private Mode (Ctrl + Shift + N), if you are using Chrome and see if the behaviour is the same.
Dear Natraj,
thank you very much for the idea.
I did try it but did not work.
but an idea came to mind and I changed the language of CRM to English (because our native language is persian), and this code worked.
can you please let me know if we can modify this code in a way that it works for persian language as well?
thank you very much in advance
,