Есть ли способ сделать испанский / английский MailMerge?

У меня есть отчет SSRS с текстовыми полями на испанском и английском языках. Если в строке набора данных указан человек, говорящий по-испански, выражение в каждом текстовом поле на испанском языке показывает это и скрывает текстовое поле на английском языке. Эти текстовые поля точно расположены друг над другом.

Мой босс хочет, чтобы я использовал SSRS для создания электронной таблицы Excel из набора данных (это не сложно) и использовал шаблон Word для слияния. Однако у меня возникли проблемы с попыткой выяснить, могу ли я скрыть весь английский язык, когда строка является строкой на испанском языке, и наоборот. Это медицинские клиенты испанской и английской национальности.

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

Области, отмеченные красным, изменятся на испанский перевод и/или формат даты. Даты не представляют сложности. Я могу использовать условный IIF, однако для отформатированного тела у меня нет решения, основанного на значении в поле «CL_Language», которое является либо «испанский», либо «английский».

Английский

====================================

Испанский

Поля слияния для дат и приветствия просты. Для текста нет поля слияния. И да, единственный вариант может быть для 2 отдельных отчетов с разными наборами записей.


person JustJohn    schedule 27.04.2018    source источник


Ответы (2)


Непонятно, в чем проблема, но... Вместо того, чтобы скрывать текстовые поля, которые могут вызвать проблемы при экспорте и т. д., почему бы не установить для одного текстового поля текст на правильном языке с помощью выражения?

Что-то в духе

=IIF(Fields!Language.Value = "English", Fields!MyEnglishText.Value, FieldsMySpanishText.Value)
person Alan Schofield    schedule 27.04.2018
comment
Разве Word не просто куча текста со вставленными полями слияния? Большая часть документа представляет собой просто форматированный текст с вставленным адресом и т. д. - person JustJohn; 28.04.2018
comment
Например, ниже фирменного бланка и имени/адреса человека находится 1/3 страницы текста, а ниже имя куратора. Это может быть создано на двух языках друг над другом в SSRS. Не уверен, как сохранить это причудливое и длинное тело письма в поле слияния. Я не говорю, что вы не можете, но некоторые из этих отчетов — чепуха. - person JustJohn; 01.05.2018
comment
Скриншот дизайна отчета был бы полезен, а также образец окончательного вывода, показывающий, какие биты являются статическими, а какие взяты из базы данных, а также структура вашей таблицы базы данных с некоторыми данными данных. Добавьте все это к своему вопросу, и кто-то может помочь. - person Alan Schofield; 01.05.2018
comment
Скриншоты ввожу в Вопрос. - person JustJohn; 01.05.2018

Я нашел решение. Но это может быть очень сложно для клиента создать. Это включает в себя нажатие Ctrl + F9, что создаст фигурные скобки {}. Внутри этих фигурных скобок помещается оператор IF, и я просто вставил все тело в испанском формате в истинной области и все английское тело в ложной области.

{IF "CL_Language" = "Испанский" "Основной текст на испанском здесь" "Основной текст на английском здесь"}

Очень странный синтаксис, и вам нужно щелкнуть правой кнопкой мыши по области, чтобы увидеть такие варианты, как «Переключить коды полей» (оператор IF скрыт), «Редактировать поле» и «Обновить поле». С помощью «Редактировать поле» и «Обновить поле» вы получаете всплывающее окно с полями в вашем наборе записей. Если вы видели примеры в моем вопросе, вы можете видеть, что это какой-то большой неуклюжий текст AND . . .inside это поле слияния, которое работает! Набор записей Excel уже содержит название месяца на правильном языке для каждой строки.

Поскольку включать ссылки, срок действия которых может истечь, неразумно, я включаю текст Google, который использовал для поиска этого решения. Затем я рискнул взять огромный отформатированный фрагмент текста с полем слияния внутри него. Погуглите: "Если поле слияния, то"

Является ли это приемлемым решением для клиента по сравнению с наличием шаблона Word для каждого языка?

Я думаю, что это слишком сложно, и я даже пригибаюсь, когда запускаю его. Кроме того, когда он заработает, если я посмотрю на переключаемый код, в условном поле больше не будет указано имя поля, а значение в поле, иди разберись. {IF "Испанский" = "Испанский" или {IF "Английский" = "Испанский" вместо {IF "CL_Language" = "Испанский" или {IF "CL_Language" = "Английский"

Поле языка испанский

введите здесь описание изображения

Вот как получить доступ к полям, щелкнув правой кнопкой мыши. (помните, ваши фигурные скобки ДОЛЖНЫ быть созданы с помощью Control + F9).

Переключить коды полей

person JustJohn    schedule 03.05.2018