Это старая версия документа.
Business Studio позволяет создавать бизнес-модель и формировать регламентирующую документацию на языках отличных от русского. При этом перечисления, значения которых предопределены в базе, предоставляются всегда на русском языке. В качестве примера рассматривается разработка отчета на украинском языке.
В отчете формата Word по процессу все упоминания статусов процессов (на русском языке) должны отображаться на украинском.
Решение описывается с момента когда в шаблоне отчета созданы привязка типа "Объект", которая показывает текущий статус процесса, а так же привязка типа "Список", которая показывает подпроцессы и их текущие статусы.
Для каждого русского слова должны быть зафиксированы слова перевода на украинский язык. Во всем документе находить такие русские слова и заменять их украинскими. Там где статус указан через привязку типа Объект делать изменение значения поля с последующим его обновлением.
Определяем название привязки типа "Список", которая представляет нужную таблицу. (см. Вставка привязки в шаблон отчета)
Sub ПослеВыполненияОтчета(ob As Variant, app As Variant) Название объект часть им статусом процесса CurrentStatusName = "Статус_процтекущим статусом процесса CurrentStatusName = "Статус_процесса_c9a10e8d" ки нет 'перебираем все переменные дой привязки в документе Dim CurrentStatusIs As Boolean rrentStatusName Then о привязки нет ь - фиксируем End If менные документа For Each aVar In ActiveDocument.Variables If aVar.Name = CurrentStatusName Then CurrentStatusIs = True = "Архивирован" Slovo(1, 2) = "Арх есть - фиксируем End If Next aVar Const CountWords = 6 ) = "Опублікований" Slovo(в для перевода Dim Slovo(1 To CountWords, 1 To 2) As String Slovo(5, 2) = "Рекомендения словаря ds, 1) = "Черновик" Slкий словарь Slovo(1, 1) = "Архивирован" Slovo(1, 2) = "Архівований" Slovo(2, 1) = "В работе" Slovo(2, 2) = "В роботі" Slovo(3, 1) = "Опубликован" Slovo(3, 2) = "Опублікований" Slovo(4, 1) = "Проект" Slovo(4, 2) = "Проект" Slovo(5, 1) = "Рекомендован" Slovo(5, 2) = "Рекомендований" Slovo(CountWords, 1) = "Черновик" Slovo(CountWords, 2) = "Чернетка" ds = False я часть .MatchAllWordFвий поиска Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting For i = 1 To CountWords ReplaceAll If Cслову словаря 'Перевод слов в поле со статусом оиска и замены With Selection.Find .Text = Slovo(i, 1) Then кое слово .Replacement.Text = Slovo(i, 2) o(i, 2) End If я украинским .Forward = True .Wrap = wdFindContinue