Комплексное руководство по обработке типов записей по умолчанию в LWC (веб-компоненты Lightning)

При разработке Salesforce веб-компоненты Lightning (LWC) предоставляют современный и эффективный способ создания пользовательских интерфейсов. При работе с записями важно понимать, как обрабатывать типы записей по умолчанию в LWC. В этой статье мы рассмотрим различные методы и предоставим примеры кода, которые помогут вам эффективно управлять типами записей по умолчанию в ваших компонентах LWC.

Метод 1: получение идентификатора типа записи по умолчанию с помощью контроллера Apex

// Apex Controller method
@AuraEnabled(cacheable=true)
public static String getDefaultRecordTypeId(String objectApiName) {
    return Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Default').getRecordTypeId();
}

Метод 2: получение идентификатора типа записи по умолчанию с помощью Wire Service

import { LightningElement, wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';
export default class MyComponent extends LightningElement {
    @wire(getRecord, { recordId: '$recordId', fields: ['Account.RecordTypeId'] })
    wiredAccount({ error, data }) {
        if (data) {
            const recordTypeId = data.fields.RecordTypeId.value;
            // Use the retrieved recordTypeId as needed
        } else if (error) {
            // Handle error
        }
    }
}

Метод 3: получение идентификатора типа записи по умолчанию с помощью LDS (Lightning Data Service)

import { LightningElement, wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';
export default class MyComponent extends LightningElement {
    @wire(getRecord, { recordId: '$recordId', layoutTypes: ['Default'] })
    wiredAccount({ error, data }) {
        if (data) {
            const recordTypeId = data.recordTypeInfo.recordTypeId;
            // Use the retrieved recordTypeId as needed
        } else if (error) {
            // Handle error
        }
    }
}

Метод 4. Используйте NavigationMixin для создания записи с типом записи по умолчанию

import { LightningElement, wire } from 'lwc';
import { NavigationMixin } from 'lightning/navigation';
export default class MyComponent extends NavigationMixin(LightningElement) {
    createRecordWithDefaultType() {
        this[NavigationMixin.Navigate]({
            type: 'standard__objectPage',
            attributes: {
                objectApiName: 'Account',
                actionName: 'new'
            },
            state: {
                defaultFieldValues: {
                    RecordTypeId: 'Default' // Use the default record type developer name here
                }
            }
        });
    }
}

Обработка типов записей по умолчанию в LWC имеет решающее значение для создания настраиваемых интерфейсов Salesforce. В этой статье мы рассмотрели несколько методов получения идентификатора типа записи по умолчанию с помощью контроллеров Apex, проводной службы, службы данных Lightning, а также способы создания записи с типом записи по умолчанию с помощью NavigationMixin. Используя эти методы, вы можете улучшить взаимодействие с пользователем и оптимизировать процесс разработки в Salesforce.