Ms Dynamics Nav Multi Язык с PHP

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. Заранее спасибо.

1 ответ

По умолчанию веб-службы NAV настроены на работу в англоязычной культуре, то есть на английском языке для многоязычных подписей и в американском формате для дат (16.02.18) и десятичных сумм (23.37).

Есть несколько способов повлиять на это поведение:


Во-первых, в конфигурации сервера NAV есть блок связанных параметров - Служба по умолчанию, Служба по умолчанию, Часовой пояс служб и т. Д.: https://msdn.microsoft.com/en-us/library/dd355055(v=nav.90).aspx

Вам нужен параметр "Сервисный язык", который позволяет выбрать культуру, используемую веб-сервисами NAV для обработки запросов.

Эта конфигурация является статической, но вы можете создать несколько конечных точек службы NAV, чтобы иметь разные конфигурации и переключаться между ними.


Во-вторых, можно настроить NAV для обработки запросов разных пользователей, используя культуру, указанную в настройке NAV для этого пользователя. Более подробно это описано в следующем сообщении в блоге: https://blogs.msdn.microsoft.com/nav/2015/03/26/culture-settings-on-nav-web-services/

Используя эту функцию, можно использовать разных пользователей, чтобы получить другой язык / культуру, или изменить культуру текущего пользователя по отдельному запросу на NAV.