...

Как в приложении создать свойство, значение которого подтянется из связанного приложения?

Тема в разделе "Вопросы по платформе", создана пользователем s280384, 21 апр 2023.

  1. s280384

    s280384 Новичок

    Есть 3 приложения
    • Организация
    • Бренд организации
    • Бренд
    В Организации можно добавить Бренд организации
    При создании записи в Бренде организации, нужно выбрать запись из приложения Бренд.
    Получается такая вложенная структура:
    1. Организация
      1. Бренд организаци
        1. Бренд
    У записи Бренда, кроме названия, есть свойство "Статус бренда" с типом "Категория"
    Вопрос:
    Как в приложение Бренд организации, вывести свойство Статус бренда, которое будет наследовать значение одноименного свойства из Бренда?
    В Salesforce такие задачи решались через формулу. В инструкции ELMA написано, что формула работает только для свойств с типом: строка, число, деньги. Как для остальных типов свойств решать описанную задачу?
  2. b.melnik

    b.melnik Техническая поддержка

    Добрый день!
    Для этого необходимо создать переменную "Статус бренда" (brand_status; в скрипте доступ к переменной Context.data.brand_status) в контексте приложения "Бренд организации".
    Далее, в сценарии написать следующий код:
    if (Context.data.brand){
    const brand = await Context.data.brand.fetch(); //получаем данные из приложения Бренд
    Context.data.brand_status = brand.data.status; //записываем в переменную brand_status значение статуса бренда приложения Бренд
    }

    где Context.data.brand - переменная Бренд типа Приложение в контексте приложения Бренд организации,
    brand.data.status - если в приложении Бренд свойство "Статус бренда" имеет имя свойства "status".
  3. s280384

    s280384 Новичок

    В [Бренде организации] в разделе Контекст создал переменную с типом Категория и добавил значения, такие же, как в [Бренде].
    В разделе сценарии, написал скрипт, но выдает ошибку.
    Скажите, что надо исправить, Чтобы работало?
    upload_2023-5-1_21-41-15.png
  4. s280384

    s280384 Новичок

    На всякий случай, через ответ напишу, чтобы у вас отобразилось)
  5. s280384

    s280384 Новичок

    И еще статус бренда, это не статус воронки, а свойство с типом Категория,
    и нужно, чтобы значение статус бренда, менялось на бренде организации, когда оно изменилось в бренде. Как это сделать?

    upload_2023-5-1_22-5-26.png
  6. b.melnik

    b.melnik Техническая поддержка

    Данный код необходимо поместить в функцию. Например,
    async function getStatusBrand(): Promise<void> {
    if (Context.data.brand){
    const brand = await Context.data.brand.fetch(); //получаем данные из приложения Бренд
    Context.data.brand_status = brand.data.status; //записываем в переменную brand_status значение статуса бренда приложения Бренд
    }
    }
    Если на данной форме происходит заполнение поля бренда, то можно вызывать эту функцию при изменении значения данного поля. Для этого перейдите на форму, нажмите на шестеренку возле поля Бренд, перейдите на вкладку "События" и выберите в свойстве "Событие при изменении значения" данную функцию getStatusBrand.