Добрый день.
1. В БП в ленте при запуске есть список: "справка", "выписка", "другое". Эти значения я могу настроить в поле документа "Тип" (код поля - "TIP").
2. Далее есть запрос доп. информации с отклонением. В случае отклонения заявитель должен изменить все первоначально заполненные поля, при этом ранее введённые значения уже должны быть прописаны. Для этого в активити создаю поля (фактически переменные) с теми же кодами, что и у полей документа. Со всякими строковыми и числовыми значениями проблем нет, значения подставляются. Но не со списками. Для списков приходится делать конструкцию с условием:
Т. е. перебирать все значения поля документа и применять соответствующее значение переменной.
3. После того, как заявитель изменил значение переменной, её значение и значение поля документа отличаются. Нужно записать переменную в документ. Для этого снова приходится использовать конструкцию с условием:
Т. е. перебирать все значения переменной и применять соответствующее значение поля документа.
Пытался избавиться от условий так (с использованием активити "Изменение переменных" и "Изменение документа"):
Понимаю, что как-то это можно решить с помощью php-кода. Нашёл тут на форуме примеры, где можно брать и устанавливать значения переменных:
Но эти примеры направлены на то, чтобы динамически заполнить список. Не нашёл, как выбрать значение переменной-списка , а также как брать и устанавливать поля документа.
Итак, подскажите, пожалуйста, как мне избавиться от кучи условий и применять списки к спискам легче.
1. В БП в ленте при запуске есть список: "справка", "выписка", "другое". Эти значения я могу настроить в поле документа "Тип" (код поля - "TIP").
2. Далее есть запрос доп. информации с отклонением. В случае отклонения заявитель должен изменить все первоначально заполненные поля, при этом ранее введённые значения уже должны быть прописаны. Для этого в активити создаю поля (фактически переменные) с теми же кодами, что и у полей документа. Со всякими строковыми и числовыми значениями проблем нет, значения подставляются. Но не со списками. Для списков приходится делать конструкцию с условием:
| Код |
|---|
Если поле документа "Тип" = "справка", то переменная "TIP" = "справка", иначе если поле документа "Тип" = "выписка", то переменная "TIP" = "выписка" и т. д. |
3. После того, как заявитель изменил значение переменной, её значение и значение поля документа отличаются. Нужно записать переменную в документ. Для этого снова приходится использовать конструкцию с условием:
| Код |
|---|
Если переменная "TIP" = "справка", то поле документа "Тип" = "справка", иначе если переменная "TIP" = "выписка", то поле документа "Тип" = "выписка" и т. д. |
Пытался избавиться от условий так (с использованием активити "Изменение переменных" и "Изменение документа"):
- простое присвоение: переменная "Тип" = {{Тип}} и наоборот - поле документа "Тип" = {{=Variable:TIP}}
- присваивание с модификаторами > string и > select
- использование итератора для перебора поля или переменной и последующим присвоением
Понимаю, что как-то это можно решить с помощью php-кода. Нашёл тут на форуме примеры, где можно брать и устанавливать значения переменных:
| Код |
|---|
$rootActivity = $this->GetRootActivity();
$varPHP = $rootActivity->GetVariable("TIP");
$rootActivity->SetVariable("TIP", array('value1', 'value2', 'value3'));
|
Итак, подскажите, пожалуйста, как мне избавиться от кучи условий и применять списки к спискам легче.