Announcement

Collapse
No announcement yet.

Помоги написать скрипт в разделе "Контрагенты"

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

  • Помоги написать скрипт в разделе "Контрагенты"

    если значение в поле "Регион" равно "Белгородская область" то в поле "Сумма подставить" значение равное 1000
    а если значение в поле "Регион" равно "Московская области" то в поле "Сумма подставить" значение равно

  • #2
    Если скрипт это формула то тогда можно попробовать так:
    Code:
    ifThen(
        billingAddressState == 'Белгородская область',
        amount = 1000
        );
    ifThen(
        billingAddressState == 'Московская область',
        amount = 2000
    )
    Учтите что при замене одного региона на другой данные поменяются в БД но для вас сумма будет со старыми данными. Новые подтянутся после перезагрузки страницы.

    Comment


    • #3
      Продемонстрируйте вашу формулу. Также если есть ошибка в синтаксисе формулы, как правило она отображается в логах ошибок.

      Comment


      • #4
        Originally posted by Maximus View Post
        Продемонстрируйте вашу формулу. Также если есть ошибка в синтаксисе формулы, как правило она отображается в логах ошибок.
        Спасибо большое, всё заработало так как Вы написали.

        Comment


        • #5
          По аналогий с Вашим скриптом сделал такой скрипт , уже в другом разделе и с другими полями, но ничего не работает. Что я не так написал?

          ifThen(
          kindOfObject == 'Назначение не определено',
          objectMeasure == 'Мера не определена'
          );
          ifThen(
          kindOfObject == 'Нежилое здание',
          objectMeasure == 'кв.м'
          );
          ifThen(
          kindOfObject == 'Жилое здание',
          objectMeasure == 'кв.м'
          );
          ifThen(
          kindOfObject == 'Многоквартирный дом',
          objectMeasure == 'кв.м'
          );
          ifThen(
          kindOfObject == 'Линейное сооружение, линейное подземное сооружение',
          objectMeasure == 'м'
          );
          ifThen(
          kindOfObject == 'Подземное сооружение',
          objectMeasure == 'кв.м'
          );
          ifThen(
          kindOfObject == 'Сооружение, предназначенное для хранения',
          objectMeasure == 'кв.м'
          );
          ifThen(
          kindOfObject == 'Высотное сооружение',
          objectMeasure == 'м'
          );
          ifThen(
          kindOfObject == 'Иное сооружение',
          objectMeasure == 'Мера не определена'
          );
          ifThen(
          kindOfObject == 'Жилое помещение',
          objectMeasure == 'кв.м'
          );
          ifThen(
          kindOfObject == 'Квартира',
          objectMeasure == 'кв.м'
          );
          ifThen(
          kindOfObject == 'Комната (в квартире)',
          objectMeasure == 'кв.м'
          )

          Comment


          • #6
            Знак '==' это проверка на равенство, а знак '=' это присвоение значения. Должно быть так:
            Code:
            objectMeasure = 'Мера не определена'.

            Comment


            • #7
              Почему-то всё равно не работает

              ifThen(
              kindOfObject == 'Назначение не определено',
              objectMeasure = 'Мера не определена'
              );
              ifThen(
              kindOfObject == 'Нежилое здание',
              objectMeasure = 'кв.м'
              );
              ifThen(
              kindOfObject == 'Жилое здание',
              objectMeasure = 'кв.м'
              );
              ifThen(
              kindOfObject == 'Многоквартирный дом',
              objectMeasure = 'кв.м'
              );
              ifThen(
              kindOfObject == 'Линейное сооружение, линейное подземное сооружение',
              objectMeasure = 'м'
              );
              ifThen(
              kindOfObject == 'Подземное сооружение',
              objectMeasure = 'кв.м'
              );
              ifThen(
              kindOfObject == 'Сооружение, предназначенное для хранения',
              objectMeasure = 'кв.м'
              );
              ifThen(
              kindOfObject == 'Высотное сооружение',
              objectMeasure = 'м'
              );
              ifThen(
              kindOfObject == 'Иное сооружение',
              objectMeasure = 'Мера не определена'
              );
              ifThen(
              kindOfObject == 'Жилое помещение',
              objectMeasure = 'кв.м'
              );
              ifThen(
              kindOfObject == 'Квартира',
              objectMeasure = 'кв.м'
              );
              ifThen(
              kindOfObject == 'Комната (в квартире)',
              objectMeasure = 'кв.м'
              )

              Comment


              • #8
                у меня должна быть зависимость по цепочке

                Comment


                • #9
                  Тогда должно быть чтото типа того:
                  Code:
                  ifThen(
                  kindOfObject == 'Сооружение' && назначение == 'Подземное сооружение',
                  objectMeasure = 'м'
                  );
                  Вместо слова "назначение" подставьте ключ этого поля поскольку я не знаю какой вы себе придумали. При такой логике вам нужно проверять каждое поле на соответствие определенному параметру как на примере kindOfObject == 'Сооружение' && назначение == 'Подземное сооружение.

                  Comment


                  • #10
                    а у меня из этой схемы пользователь выбирает из списка "Тип объекта", остальные автоматом должны, но не работает

                    Comment


                    • #11
                      Опишите подробнее.
                      Тоесть вы хотите что бы при заполнении пользователем поля "Тип объекта", поля "назначения" и "мера измерения" должны определятся автоматически? Я правильно понимаю?

                      Comment


                      • #12
                        Да правильно.

                        Comment


                        • #13
                          Формулой можно и так но вот только при указании определeнного типа объекта назначение и мера измерения всегда будут одни и те же. Например:
                          Если Тип = цех то назначение = швейный, мера измерения = метры. Если у одного пользователя это подходит, то у другого назначение может быть "литейный" и тут будет несовместимость так как при таких условиях формула все равно установит швейный.
                          Я бы вам советовал другую логику придумать, но если у вас на каждый объект только по одному назначению, то такой вариант вполне рабочий и требует представления формулы в таком виде:
                          Code:
                          ifThen(
                              kindOfObject == 'Сооружение',
                              назначение = 'Подземное сооружение';
                              objectMeasure = 'м'
                          );

                          Comment


                          • #14
                            не работает

                            Comment


                            • #15
                              А вместо названия поля "назначение" вы вставили ключ этого поля?

                              Comment

                              Working...
                              X