Announcement

Collapse
No announcement yet.

Вычисляемое значение по умолчанию при создании

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Вычисляемое значение по умолчанию при создании

    Здравия всем желаю.

    В свойствах поля сущности можно задать значение по умолчанию.
    А появилась потребность чтобы при создании значение поля уже было заполнено вычисляемым значением.
    Или хотябы чтобы подставлялось значение поля из связанной сущности.

    Речь идёт о создании записи сущности из 'фрейма' 'отношения'.
    Иными словами при создании связь с другой сущность уже определена.

    Благодарю за любые указания направлений.

  • #2
    Здравствуйте.
    > Или хотябы чтобы подставлялось значение поля из связанной сущности.
    Можете попробовать создать подле типа "внешний" https://github.com/espocrm/documenta...BD%D0%B8%D0%B9.

    Comment


    • #3
      Originally posted by Maximus View Post
      Здравствуйте.
      > Или хотябы чтобы подставлялось значение поля из связанной сущности.
      Можете попробовать создать подле типа "внешний" https://github.com/espocrm/documenta...BD%D0%B8%D0%B9.
      Не совсем подходит. Связанное поле нельзя редактировать. Да и при изменении его формулой меняется значение поля и в материнской сущности, соответственно и во всех дочерних.
      А надо чтобы при создании подставлялось значение из материнской связанной, и при редактировании никак не влияло на другие экземпляры.

      Comment


      • #4
        Ок. Тогда такой пример. В сущности "Сделки" создано поле типа "Строка" которое принимает значение поля Тип сущности контрагенты.
        Формула для сущности "Сделки":
        Code:
        ifThenElse(
            entity\isAttributeChanged('accountType'),
            accountType = accountType,
            ifThen(
                accountId,
                accountType = account.type
            )
        )
        Тоесть, если существует привязка Сделки к Контрагенту то будет вытянуто значение поля от Контрагента. Если данное поле будет изменено в сущности Сделки то изменения сохранятся не изменив при этом первоисточник.

        Примечание.
        Формула не является елементом динамической автоматизации. Это значить что если вы захотите к примеру изменить значение поля Тип в сущности Контрагент то эти изменения не затронут предидущее значение в сущности Сделки. Для этого придется вручную запустить функцию пересчет формулы.

        Comment


        • #5
          Originally posted by Maximus View Post
          Ок. Тогда такой пример. В сущности "Сделки" создано поле типа "Строка" которое принимает значение поля Тип сущности контрагенты.
          Формула для сущности "Сделки":
          Code:
          ifThenElse(
          entity\isAttributeChanged('accountType'),
          accountType = accountType,
          ifThen(
          accountId,
          accountType = account.type
          )
          )
          Тоесть, если существует привязка Сделки к Контрагенту то будет вытянуто значение поля от Контрагента. Если данное поле будет изменено в сущности Сделки то изменения сохранятся не изменив при этом первоисточник.

          Примечание.
          Формула не является елементом динамической автоматизации. Это значить что если вы захотите к примеру изменить значение поля Тип в сущности Контрагент то эти изменения не затронут предидущее значение в сущности Сделки. Для этого придется вручную запустить функцию пересчет формулы.
          Классно. Благадарю. Завтра буду пробовать.
          А можно поподробнее про "запустить функцию пересчет формулы" как это сделать?
          И можно ли это делать из "Calculated Fields"?
          То есть не вручную а вызывать ее из "макроса" при изменении.
          Last edited by Lanket; 10-11-2019, 03:53 PM.

          Comment


          • #6
            Нашел где кнопка "запустить функцию пересчет формулы" .

            Но вопрос всиле:
            И можно ли это делать из "Calculated Fields"?
            То есть не вручную а вызывать ее из "макроса" при изменении.

            Comment


            • #7
              Чтобы это автоматизировать скорее всего нужно писать крюк (hook) https://github.com/espocrm/documenta...pment/hooks.md. Ну или использовать рабочие потоки (Workflow) https://www.espocrm.com/documentatio...ion/workflows/.
              Last edited by Maximus; 10-14-2019, 12:39 PM.

              Comment

              Working...
              X