Пропуск пустых полей в шаблоне

Вопросы, пожелания и предложения связанные с конструктором Руна
Ответить
timoshenko_den
Сообщения: 8
Зарегистрирован: 22 ноя 2016, 11:58

Пропуск пустых полей в шаблоне

Сообщение timoshenko_den » 22 ноя 2016, 12:07

Здравствуйте. Есть проблема. Надо приформировании документа в Шаблоне не выводить пустые поля форме. Мне посоветовали воспользоваться функцией String. Я так и сделал, однако у меня не выходит добится желаемого результата. Проблем по сути две: мне выводит тело функции в самом документе и я не знаю как обозначить пустое поле формы. Делаю так: [String(Поле= ? :Поле)]. Там где пробел реально ставлю пробел. Как иначе обозначить пустое место не знаю. Помогите пожалуйста разобраться.

Аватара пользователя
vladimir.runa
Сообщения: 48
Зарегистрирован: 26 сен 2016, 18:32
Контактная информация:

Re: Пропуск пустых полей в шаблоне

Сообщение vladimir.runa » 22 ноя 2016, 14:17

Пробел в условии ставить не надо, так как в этом случае проверяется именно на равенство пробелу. В результате тоже ставить пробел не надо, если в этом нет необходимости.
Т.е. выглядеть должна функция так:

Код: Выделить всё

[String(Поле1=?:Поле2)] или [String(Поле1=?:Значение)]

timoshenko_den
Сообщения: 8
Зарегистрирован: 22 ноя 2016, 11:58

Re: Пропуск пустых полей в шаблоне

Сообщение timoshenko_den » 23 ноя 2016, 10:57

Здравствуйте. Сделал, как Вы написали, однако ни одна из проблем не решилась: тело функции выводится, а пустые поля не пропускаются. Знаю, глупость спрашиваю, но функция ведь в самом шаблоне (документ Word) прописывается?
Больше всего меня интересует, почему тело функции выводится, оно же должно быть невидимым.

Аватара пользователя
natalia.runa
Сообщения: 55
Зарегистрирован: 26 сен 2016, 18:35
Контактная информация:

Re: Пропуск пустых полей в шаблоне

Сообщение natalia.runa » 23 ноя 2016, 11:20

timoshenko_den писал(а):почему тело функции выводится, оно же должно быть невидимым.
Тело функции не должно выводиться при правильном синтаксисе.
Где-то допущена ошибка. Приложите пример проекта.

timoshenko_den
Сообщения: 8
Зарегистрирован: 22 ноя 2016, 11:58

Re: Пропуск пустых полей в шаблоне

Сообщение timoshenko_den » 23 ноя 2016, 11:31

Так, частично разобрался - тело функции выводится, когда в ней допущена ошибка. Убрал ошибку и все заработало, но все равно есть трудность. У меня форма подразумевает заполнение полей по разным людям и потом их вывод в шаблон. Для удобства отображения я добавляю текстовое пояснения в шаблоне к каждому полю формы.
Например:
Гражданин [Страна], родился [Дата], паспорт [Паспорт]
Соответственно, если у меня что-то не заполнено (я не знаю этих данных) я их пропускаю и в шаблон они не выводятся, однако словесное пояснение все равно остается, а мне надо и чтоб его тогда не было. Я пытался его в функцию подставил, но тогда вот она и оявляется, отому что говорит, что не правильноЯ подставил так
[String(Паспорт=?паспорт [Паспорт])] где паспорт (с маленькой буквы) это и есть словесное пояснение следующего за ним поля формы. Если его убрать и убрать квадратные скобки вокруг Паспорт - все работает, но тогда у меня нет словесного пояснения, а оно мне нужно. Если его не убирать, а только убрать квадратные скобки вокруг поля Паспорт, тогда у меня выводится в шаблоне поле "паспорт Паспорт" вместо значения поля Паспорт.
Помогите разобраться как сделать, чтоб необходимое словесное пояснения поля формы выводилось только в случае, если это поле заполнено, а если нет - ничего не выводилось.
Спасибо

Аватара пользователя
natalia.runa
Сообщения: 55
Зарегистрирован: 26 сен 2016, 18:35
Контактная информация:

Re: Пропуск пустых полей в шаблоне

Сообщение natalia.runa » 23 ноя 2016, 12:17

Код: Выделить всё

[String(Паспорт=?:паспорт)] [String(Паспорт=?:Паспорт)]
Первая функция String выводит поясняющее слово, если значение поля заполнено.
Вторая функция String выводит значение поля, если оно заполнено.

Примечание: если пояснение совпадает с именем поля, его нужно заключать в двойные кавычки. В данном случае это не нужно, т.к. отличается регистр.

Код: Выделить всё

[String(Паспорт=?:"Паспорт")] [String(Паспорт=?:Паспорт)]

timoshenko_den
Сообщения: 8
Зарегистрирован: 22 ноя 2016, 11:58

Re: Пропуск пустых полей в шаблоне

Сообщение timoshenko_den » 23 ноя 2016, 13:11

Спасибо огромное, разобрался, сделал все, как Вы написали и о чудо - работает!
Для тех, кто тоже будет так делать в дальнейшем заметилодну особенность, между функциями нельзя делать пробелов (если они идут вряд), а то потом куча пробелов вместо пустых мест (мест незаполненых полей формы).

А так все суппер! Спасибо еще раз!

Аватара пользователя
natalia.runa
Сообщения: 55
Зарегистрирован: 26 сен 2016, 18:35
Контактная информация:

Re: Пропуск пустых полей в шаблоне

Сообщение natalia.runa » 23 ноя 2016, 14:00

Да, это потому, что функция заменяет только своё содержимое.
Успехов в освоении Руны!

Ответить