Поделитесь скриптом чтобы включать все галочки когда FLS настраиваешь :smile:
[quote="Dmitry Shnyrev"]Поделитесь скриптом чтобы включать все галочки когда FLS настраиваешь :smile:[/quote] Могу скинуть кусок кода на JS, который это делает. У меня это встроенная фишка в IDE:)
[quote="wilder"]Могу скинуть кусок кода на JS, который это делает. У меня это встроенная фишка в IDE:)[/quote] Да, я как раз на кусок кода JS и рассчитывал. Скидывай сюда если не жалко что все увидят.
let fPerm = new RegExp('<fieldPermissions>\s*?<editable>(true|false)</editable>\s*?<field>.+?</field>\s*?<readable>(true|false)</readable>\s*?</fieldPermissions>', 'gi'); let oPerm = new RegExp('<objectPermissions>\s*?<allowCreate>.+?</allowCreate>\s*?<allowDelete>.+?</allowDelete>\s*?<allowEdit>.+?</allowEdit>\s*?<allowRead>.+?</allowRead>\s*?<modifyAllRecords>.+?</modifyAllRecords>\s*?<object>.*?</object>\s*?<viewAllRecords>.+?</viewAllRecords>\s*?</objectPermissions>', 'gi'); let fName = new RegExp('<fullName>(.+?)</fullName>', ''); let fullName = ''; let updProfileTmp = this.metaItem.source.replace(/\n/g, ''); updProfileTmp = updProfileTmp.replace(fName, function(m, p1, offset, string) { fullName = p1; return m; }); let updProfile = ''; updProfileTmp = updProfileTmp.replace(fPerm, function(m, offset, string) { updProfile += m.replace(/false/gi, 'true'); return ""; }); updProfileTmp = updProfileTmp.replace(oPerm, function(m, offset, string) { updProfile += m.replace(/false/gi, 'true'); return ""; });
[quote="Dmitry Shnyrev"][quote="wilder"]Могу скинуть кусок кода на JS, который это делает. У меня это встроенная фишка в IDE:)[/quote] Да, я как раз на кусок кода JS и рассчитывал. Скидывай сюда если не жалко что все увидят.[/quote] [code] let fPerm = new RegExp('<fieldPermissions>\\s*?<editable>(true|false)</editable>\\s*?<field>.+?</field>\\s*?<readable>(true|false)</readable>\\s*?</fieldPermissions>', 'gi'); let oPerm = new RegExp('<objectPermissions>\\s*?<allowCreate>.+?</allowCreate>\\s*?<allowDelete>.+?</allowDelete>\\s*?<allowEdit>.+?</allowEdit>\\s*?<allowRead>.+?</allowRead>\\s*?<modifyAllRecords>.+?</modifyAllRecords>\\s*?<object>.*?</object>\\s*?<viewAllRecords>.+?</viewAllRecords>\\s*?</objectPermissions>', 'gi'); let fName = new RegExp('<fullName>(.+?)</fullName>', ''); let fullName = ''; let updProfileTmp = this.metaItem.source.replace(/\n/g, ''); updProfileTmp = updProfileTmp.replace(fName, function(m, p1, offset, string) { fullName = p1; return m; }); let updProfile = ''; updProfileTmp = updProfileTmp.replace(fPerm, function(m, offset, string) { updProfile += m.replace(/false/gi, 'true'); return ""; }); updProfileTmp = updProfileTmp.replace(oPerm, function(m, offset, string) { updProfile += m.replace(/false/gi, 'true'); return ""; });[/code] На выходе получаешь пропатченный xml Будут вопросы, пиши
На выходе получаешь пропатченный xml
[quote="wilder"]На выходе получаешь пропатченный xml[/quote] Не, я ожидал чего-для браузера, для UI. Насколько я понимаю у тебя это для метадаты. Решил немного поковыряться в теме, давно хотел да вот выдался наконец-то повод. Давно хотел использовать что-то на подобии js скриптов для браузера которые можно легко вызвать. С экстеншеном под хром дела имел, но опять ковыряться было лень, хотелось реально чего-то простого. И представьте такое простое есть :party: Google Chrome Javascript Snippets https://developer.chrome.com/docs/devtools/javascript/snippets/ И вот что получилось замутить. [img]https://i.ibb.co/pvKL9XB/image.png[/img] Скрипт предельнейше простой (простой копипаст, даже есть куда оптимизировать, но пока лень). Тут вся загвоздка в том что эти страницы в Salesforce Lightning UI выводятся внутри ифрейма и если запускать скрипт сразу после загрузки страницы то нихера не получится из-за cross-origin frame. НО это решается крайне просто - в Console Tab надо выбрать контекст (синим на скрине подсвечено [b]vfFRameId_....[/b] вместо Top по умолчанию - это и есть наш iframe с настройками). А дальше просто Run для сниппета и Profit! Галочки выбраны. Но, для меня это скорее двойная победа. Как бы была полезна эта фича раньше, когда приходилось девелопить сложные UI на ангуляре и заполнять кучу разных форм. Мутить какой-нибудь Selenium или экстеншен было крайне лень. А вот такой простой способ намутить простенький сниппет было бы само то. Чувствую эта штука станет моей любимой в ходе разработки.