Автор Тема: Отображение/скрытие кусков текста при выводе в Word  (Прочитано 255 раз)

ross104

  • Ученик
  • *
  • Сообщений: 3
  • Благодарностей 0
Привет!

Подскажите следующее:
есть договор в котором в зависимости от введенных условий некоторые пункты удаляются некоторые добавляются. Каким образом это реализовать?

Пока сделал несколько шаблонов договоров и выбираю вручную какой генерировать. Интересует, можно ли сделать один шаблон и програма сама будет убирать лишние пункты и добавлять нужные в зависимости от введенных условий?

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Можно использовать функцию File(), которая вставляет в документ текстовые или Word-ские файлы. Т.е. если поле задано, то вставляется блок, не задано - не вставляется. Для аккуратного вида можно использовать в шаблоне MS макрос runa, который будет зачищать пропущенные блоки.

Ещё вариант - в зависимости от условия показывать папку с нужными документами. Статья на эту тему: Привязка документов к бизнес процессам.

anderslons

  • Ученик
  • *
  • Сообщений: 7
  • Благодарностей 0
Тоже столкнулся с данной проблемой. Можно подробнее описать функцию File()?. И как на примере реализовать данный функционал. Заранее благодарен

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Функция [File()] пока работает в форме связи, но со следующего обновления (после 5.1.0 от 24.06.2016) будет работать и в объекте.
Вставляет в документ прикреплённые файлы, указанные в поле типа "Файл" (теоретически можно было бы использовать и строковое поле со ссылкой на файл, но там доступ к файлам определяется по абсолютной ссылке и применение этой функции в сетевом режиме становится невозможно).
Возможна вставка изображений, текстовых файлов и файлов MS Word (doc, docx).
Выкладывать пример проекта смысла нет, потому что в архив не попадают прикреплённые файлы (в будущем такая возможность добавится).
Если блоки надо вставить в документ под пункты (в файлах-вставках только содержание пунктов), то можно добавлять вставку вариативной функции [String()], которая добавляет вместо отсутствующего текста специальную последовательность символов (например ---), которая затем используется в макросе под именем runa для удаления всей строки из текста документа - чтобы подчистить пустые пункты.
Описание вставки макроса: http://runabase.ru/help/pattern.html#macros

anderslons

  • Ученик
  • *
  • Сообщений: 7
  • Благодарностей 0
Немного разобрался. Спасибо
Получается, чтобы отобразить либо скрыть кусок текста, необходимо добавить файл и он появится в тексте (либо нет, если не добавить файл). Хотелось бы немного другого: Например если значение поля Расчет>0, то строка выводиться в документе.
 Ну или может есть способ удалить строки в документе, в которых есть значение 0?

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Функция String() проверяет на совпадение значений - сравнения со значением числового поля в ней пока нет.
Сейчас можно просто сравнить с равенством на 0 и вывести строку, если расчёт не равен нулю. Обычно этого вполне достаточно, но если надо, то можно добавить.
А удалить строки можно через макрос, как это было описано.

 

Яндекс.Метрика