<lightning-record-form record-id="001XXXXXXXXXXXXXXX" object-api-name="Account" layout-type="Full" columns="2" mode="readonly"> </lightning-record-form>
Подскажите как-то можно показать запись в ее родной Page Layout (с расположением полей, секций) в LWC? Все что нашел это вот такое [code] <lightning-record-form record-id="001XXXXXXXXXXXXXXX" object-api-name="Account" layout-type="Full" columns="2" mode="readonly"> </lightning-record-form> [/code] Но эта штука просто выводит поля из Page Layout но игнорит его внешний вид. Может еще какие варианты?
По ходу проблема известная и коробочного решения нет. Но нашел тут один костыльный метод, который на удивление заработал https://salesforce.stackexchange.com/questions/305669/how-to-convert-getrecordui-to-page-layout-on-lwc Вот только getRecordUI стоит как Deprecated и Salesforce отправляет использовать свои глючные lightning-record-form и его собратьев. Блин, сделали бы нормальную работу с Page Layouts а потом деприкейтили полезные методы.
let data = await getRecordUi("a1B040000011MbZEAU", "Full", "View");
Кстати сталкнулся с одним неприятным моментом. Не люблю wire методы и использую их чисто для костылей, но и тут SF жабу подложил. Оказывается wire методы нельзя вызывать напрямую, как обычную async функцию через await. Опять все через костыли вроде асинхронных переменных типа $recordId и потом ловить колбеком. Не представляю что там за магия под капотом LWC творится что нельзя такую простую штуку замутить как [code] let data = await getRecordUi("a1B040000011MbZEAU", "Full", "View"); [/code]