I managed to hide column in New/Edit listform, this code works for me in scripteditor:
<script language="javascript" type="text/javascript" src="/sites/mysite/SiteAssets/Scripts/jquery-3.3.1.min.js"></script><script language="javascript" type="text/javascript" src="/sites/mysite/SiteAssets/Scripts/jquery.SPServices.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $().SPServices({ operation: "GetGroupCollectionFromUser", userLoginName: $().SPServices.SPGetCurrentUser(), async: false, completefunc: function (xData, Status) { var _PerCheck = false; $(xData.responseXML).SPFilterNode("Group").each(function () { var currentGroup = $(this).attr("Name"); if (currentGroup == 'GroupName') { _PerCheck = true; } }) if (_PerCheck) { $("input[title='Status']").parent().parent().parent().hide(); } } }); }); </script>
For DisplayForm I used this code:
<script language="javascript" type="text/javascript" src="/sites/mysite/SiteAssets/Scripts/jquery-3.3.1.min.js"></script><script language="javascript" type="text/javascript" src="/sites/mysite/SiteAssets/Scripts/jquery.SPServices.min.js"></script><script type="text/javascript"> $(document).ready(function () { $().SPServices({ operation: "GetGroupCollectionFromUser", userLoginName: $().SPServices.SPGetCurrentUser(), async: false, completefunc: function (xData, Status) { var _PerCheck = false; $(xData.responseXML).SPFilterNode("Group").each(function () { var currentGroup = $(this).attr("Name"); if (currentGroup == 'GroupName') { _PerCheck = true; } }) if (_PerCheck) { $('td.ms-formlabel:contains("Status")').parent().hide(); } } }); }); </script>
Read-only column: I created a new calculated column referencing the required one.
Thank You!