【问题标题】:Ms Dynamics Nav Multi Language with PHP带 PHP 的 Ms Dynamics Nav 多语言
【发布时间】:2018-02-15 10:03:11
【问题描述】:
public function productDetails($product_code){
    $url = 'Page/ProductGroups';
    try {
      $client = $this->initClient($url);
      // $filter = ['Field' => 'Product_Group_Code', 'Criteria' => $product_code];
      $result = $client->ReadMultiple(['filter' => [], 'setSize' => 100]);
      return $result;
    }catch (Exception $e) {
        echo $e->getMessage();
    }
  }

这就是我从 Ms dynamics Nav 获取记录的方式。所有结果均基于英语。我需要弄清楚我们如何才能获得基于其他语言(如 De)的记录。提前致谢。

【问题讨论】:

  • 我认为唯一的方法是在导航方面。您需要在网络服务实例的设置中切换语言。
  • 是否有任何通过 API 的替代解决方案。 @MakSim
  • 您究竟愿意在其他语言中看到什么?金额?
  • ...另请注意,产品组没有翻译/多语言描述值,这与项目不同(参见表 35 - 项目翻译)。
  • 然后你需要为你想查询的每种语言创建几个 Nav 实例。网址将类似于“whatever.azure.com:7047/NAV_EN/WS/CRONUS”或“whatever.azure.com:7047/NAV_DE/WS/CRONUS”。或者,您可以按端口号分隔它们。

标签: php microsoft-dynamics dynamics-nav microsoft-dynamics-nav microsoft-dynamics-webapi


【解决方案1】:

默认情况下,NAV 网络服务设置为在 en-US 文化中工作 - 即多语言字幕的英语语言和日期 (02/16/18) 和小数 (23.37) 的美国格式。

有几种方法可以影响这种行为:


首先,在 NAV 服务器配置中有一组相关参数 - 服务默认公司、服务默认时区等: https://msdn.microsoft.com/en-us/library/dd355055(v=nav.90).aspx#General

您需要参数“服务语言”,它允许选择 NAV Web 服务用于处理请求的文化。

此配置是静态的,但您可以创建多个 NAV 服务端点以具有不同的配置并在它们之间切换。


其次,可以设置 NAV 以使用该用户的 NAV 设置中指定的文化来处理不同用户的请求。下面的博文中有更详细的描述:https://blogs.msdn.microsoft.com/nav/2015/03/26/culture-settings-on-nav-web-services/

使用此功能,可以使用不同的用户来获得不同的语言/文化,或者通过对 NAV 的单独请求来更改当前用户的文化。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多