Решила поделиться с вами интересным кейсом, возможно, вам тоже будет полезно: в самом Word есть возможность настроить отображение одного текста в зависимости от отображения другого (и да, я об этом не знала).
Кейс
Есть заявление на выплату по ЛНА.
Сотрудник оформляет его через ЛК (HR Pro).
Сам шаблон создается в стандартном справочнике RX, а не через JSON-ки HR-ных заявлений (вот такой у нас проект, ничего не спрашивайте, так надо было).
Все параметры "зашиты" в коде, на вкладке Параметры в шаблоне мы ничего не настраиваем.
И вот принимая во внимание все эти вводные, Заказчик хочет, чтобы в шаблоне документа текст был гибким в следующей части:
Если сотрудник в ЛК при оформлении выбирает Тип выплаты 1 или 2 (там очень много буков, не буду наименования полные писать), то в шаблоне следом дополнительно должен отображаться следующий текст: "в связи с: <Причина>" (Причину также указывает сам сотрудник текстом).
Для других же типов выплат этот текст отображаться не должен.
Для Типа выплаты и для Причины созданы в разработки нужные параметры для настройки в шаблоне.
Подходим к самой сути и кульминации моего спича: как же это настроить?
Теперь по шагам. Чтобы в Word настроить условие, нужно:
В нужном месте документа тыкаем Ctrl+F9 (на маке это кажется Fn+F9, на моем странном ноуте сработала комбинация Ctrl+Fn+F9).
Появляются красивые жирненькие (у кого-то может и нет) фигурные скобочки {} (ОЧЕНЬ ВАЖНО эти скобочки ставить именно через комбинацию клавиш, иначе Word не понимает и считает это просто текстом, а не какой-то магической формулой).
Внутри заполняем вот таким значением:
{ IF "{ DOCPROPERTY "Field_Тип выплаты" }" = "Материальная помощь в исключительных случаях" "в связи с: { DOCPROPERTY "Field_Причина" \* MERGEFORMAT }"
"{ IF "{ DOCPROPERTY "Field_Тип выплаты" }" = " Материальная помощь при материальном ущербе в связи с экстремальной ситуацией" "в связи с: { DOCPROPERTY "Field_Причина" \* MERGEFORMAT }"
"" }" }
Не забываем ни одну скобочку, ни одну кавычку, ни один пробел, конкретно это условие проверено и работает, на собственных ошибках научились)) с новой строки здесь указала специально, чтобы разграничить хоть как-то, а так у меня сплошняком написано.
Что это значит, и что из этого я поняла:
IF — условие ЕСЛИ, думаю, тут и так все понятно
DOCPROPERTY — указываем именно это поле, только с ним работает, хотя ИИ выдает другое наименование. Думаю, это связано с тем, что именно в этой группе созданы наши поля разработкой
MERGEFORMAT — эта штука нужна, чтобы текст прописывался в едином стиле
Последняя строка с пустыми кавычками означает, что в других ситуациях никакой текст не ставится, будет пусто.
Если развернуть в Word коды/ значения полей (ПКМ по тесту), то визуально это будет выглядеть вот так:
Если у нас есть все необходимые параметры на вход и мы знаем, как пользоваться этой настройкой, то сделать это можно весьма быстро.
Минусы
Из минусов отмечу:
Если вы настраиваете такой вариант впервые и ничего не понимаете в этих красивых и странных словах, как я, то процесс может затянуться (помочь могут разработчики, именно к ним я и обращалась);
Если нужна мега-гибкость, то будьте готовы, что без нужных параметров, а соответственно, дополнительной разработки, у вас ничего не получится;
Вам придется объяснять и доносить до Заказчика первые два пункта, особенно второй, потому что если через полгода ему захочется добавить еще одно (НОВОЕ! например, указывать еще сумму) условие, то из-за отсутствия нужных параметров это сделать будет невозможно.
При этом накидывать условия с существующими параметрами, в зависимости от наполнения справочника можно будет легко и быстро, а главное, недорого.
За сим, позвольте откланяться. вопросы пишите в комментариях, попробую ответить)
Интересно, как пришли к такому решению. Может, был уже опыт применения, и это очень пригодилось тут. Суперкруто было бы обобщить опыт и описать задачи, которые удобно/правильно решать именно так.
А еще любопытно, как обстоит дело за пределами Word, например, в LibreOffice Writer или других пакетах - тот же самый документ ведь может быть открыт и там. Всё сломается, и это ограничение? Или без проблем?
Привет.
Интересно, как пришли к такому решению. Может, был уже опыт применения, и это очень пригодилось тут. Суперкруто было бы обобщить опыт и описать задачи, которые удобно/правильно решать именно так.
А еще любопытно, как обстоит дело за пределами Word, например, в LibreOffice Writer или других пакетах - тот же самый документ ведь может быть открыт и там. Всё сломается, и это ограничение? Или без проблем?
Авторизуйтесь, чтобы написать комментарий