Изменение поля CaptionML на ENU в тысячах уже созданных таблиц в среде разработки Microsoft Dynamics NAV

У нас есть тысячи таблиц в среде разработки Microsoft Dynamics NAV, и мы не указали значение для поля CaptionML. Это создает ошибку при отправке таблиц в MS Excel в NAV 2013. Нам было интересно, есть ли какой-нибудь инструмент, который позволил бы нам изменить значение поля CaptionML на ENU вместо того, чтобы делать это вручную в тысячах документов?

Есть ли способ сделать это в среде разработки Microsoft Dynamics NAV или экспортировать все таблицы в виде файлов.txt и изменить их?

Спасибо!

2 ответа

Вы можете экспортировать файл перевода, либо выбрав необходимые таблицы и нажав Сервис -> Перевести -> Экспорт, либо используя команду PowerShell Export-NAVApplicationObjectLanguage.

Внутри полученного файла будут строки с именем таблицы, например:

T60000-P2818-L30:Test Table

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

T60000-P8629-A1033-L999:Test Table

А затем импортируйте файл с помощью Tools -> Translate -> Import или командой PowerShell Import-NAVApplicationObjectLanguage.

Использование Export-NAVApplicationObjectLanguage с флагом -DevelopmentLanguageId, установленным в ENU, создаст текстовый файл перевода и создаст для вас недостающие заголовки ENU. Он не будет перезаписывать заголовок ML, если он уже существует.

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

РЕДАКТИРОВАТЬ: Флаг доступен только в NAV 2015 и более поздних версиях, но есть некоторые препятствия для загрузки и установки NAV 2015 только для этого. Результирующий файл перевода должен использоваться в более старых версиях.

Другие вопросы по тегам