02.12.2011, 20:14 | #1 |
Участник
|
axforum blogs: Смена языка в Процессах CRM 2011
Источник: http://axforum.info/forums/blog.php?b=296
============== Одна из проблем с которой вы можете столкнуться в мультиязычных инсталляциях CRM - это привязка к languagecode различных системных объектов. Если перевести метки трансляции относительно просто, то, например, отчеты, процессы и диалоги могут оказаться настоящей проблемой! Дело в том, что настраивать систему, например, создавать и импортировать Решения можно только в базовом языке. Это приводит к тому, что созданный в таком виде отчет или диалог, может не появиться в решении после смены языка интерфейса! В случае с отчетом дела обстоят относительно просто - его языковую привязку можно сменить через интерфейс системы, или отменить вовсе. С диалогами и процессами дела обстоят немного хуже. У этих объектов поле languagecode не вынесено на форму. Простым решением кажется выгрузить Решение как неуправляемое и сменить языковую привязку процесса. Никогда так не делайте! Уже загруженные в систему процессы, которые имеют идентификатор и инстанции застревают в ней навечно! Скорее всего данное поведение связано с тем, что процессы изначально версионны. Каждая публикация создает отдельную ветку эволюции процесса, при этом уже созданные инстанции продолжают жить своей жизнью. Смена языковой привязки не была учтена разработчиками, так что на эволюции всего процесса не скажется никак. Он уже имеет идентификатор в системе и этот идентификатор связан с первоначальной привязкой к languagecode. Для того, чтобы все же не переделывать сложный процесс с нуля, создайте новый пустой процесс на нужном вам языке, после чего смените язык на базовый и добавьте его в решение без публикации! Теперь импортируйте решение, распакуйте его и откройте в XML редакторе файл решения. Найдите в нем узел нужного вам процесса и посмотрите как называется соответсвующий ему файл ресурса. Там же найдите как называется файл "кривого" процесса, который был создан в неправильном языке. Далее откройте эти XSML файлы в XML редакторе (для того, чтобы сделать это в Visual Studio придется сменить у этих файлов расширение, иначе студия будет пытаться открыть их в редакторе процессов). Теперь остается только скопировать разметку процесса из одного файла в другой и заменить все вхождения идентификатора "неправильного" процесса, идентификатором "правильного". Если вы не публиковали второй процесс, его идентификатор должен быть представлен нулями. Теперь запакуйте и импортируйте измененное решение обратно в систему. Процессы должны стать доступны на обоих языках. В свое время мне пришлось проделать подобную операцию раз двадцать, пока не нашелся правильный рецепт. Удаление процесса, исправление его идентификатора на новый и прочие манипуляции не помогали. Кажется это работает с процессами типа Рабочего процесса, но отчего-то не получается с Диалогами. Еще один путь для манипуляции с языковыми настройками - опубликовать процесс как шаблон и на его основе создать новый с изначально правильным языком. Надеюсь какой-то из этих советов позволит вам сэкономить те нервы, которые потерял я. Источник: http://axforum.info/forums/blog.php?b=296
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
|