Программирование


[•] Отслеживание запуска отчетов (Report) в MS Dynamics NAV- OnReportRun

Часто возникающий вопрос: как понять, какие из имеющихся отчетов используются, а какие не нужны.

Для этого обычно приходится встраивать функцию отслеживания в каждый (!) отчет, и не забывать это сделать для новых отчетов.

К счастью есть уже давно решение для MS Dynamics NAV 2009


[•] Не работает web-сервис MS Dynamics NAV, который использует XMLPort

Симптомы проявляются так:

- При обращении к web-сервису возвращается ошибка 500. Обращение выполняется с использованием Windows-аутентификации, пользователь в NAV имеет доступ к нужным объектам: к кодюниту сервиса, к XMLPort.


[•] Медленное чтение данных из прилинкованной таблицы (MS Dynamics NAV)

Интересное наблюдение. Обнаружено на версии 2009, на других не проверялось.

Обнаружилось медленное (ооочень медленное) чтение данных из прилинкованной таблицы, которая ссылается на таблицу на удаленном прилинкованном SQL сервере.

При этом, если смотреть по времени обращения в цикле по записям, то картина такая:


[•] Не отображается пункт в меню в навигационной панели MS Dynamics NAV

Для того, чтобы пункт, ссылающийся на некую форму, отображался, нужно, чтобы:
- были права (через роли) на соответствующий объект MenuSuite
- были права на соответствующую форму и (важно!) на таблицу/данные, на которой построена эта форма
- раздел меню был связан с соответствующим пользователем


[•] Привязать надпись к элементу управления (текстовому полю) в Microsoft Access 2007

Если добавляешь на форму поля из списка полей, то элементы управления создаются с привязанными надписями. Это иногда удобно, так как такой элемент управления и надпись перемещаются вместе - не нужно постоянно выравнивать одно относительно другого.


[•] Ctrl+F8 в Nvision RTC

В Microsoft Dynamics NAV RTC комбинация Ctrl+F8 (которая называлась - Zoom) теперь отсутствует.


[•] Использовать в Microsoft Dynamics NAV 2015 для построения отчетов Report Builder вместо Visual Studio

Настраивается легко, но не очевидно - так как за скудностью системных настроек Navision такого не ожидаешь ;-)

В настройках в среде разработки - Tools / Options… (Инструменты / Параметры...) - есть новый пункт: Use Report Builder (Использовать построитель отчетов).


[•] Перенос строки (CR LF) в строке в MS Dynamics NAV

В C/AL коде Navision при выводе сообщения (функция MESSAGE) в тексте достаточно поставить символ "\" (обратный слэш), и в диалоговом окне текст будет разбит по строкам.

Для простых текстовых переменных это не работает. Нужно явно вставлять коды возврата каретки (CR) и перевода строки (LF) в строку.


[•] .NET SmtpClient - анонимная аутентификация

Для анонимной аутентификации (точнее - чтобы ее не было вообще) нужно:

  • установить свойство UseDefaultCredentials = False
  • не назначать значение свойству Credentials (т.е. должно быть null для C#, или Nothing для VB)

Об этом что-то нигде явно не упоминается. Кроме как в msdn ;-) :

If the UseDefaultCredentials property is set to false and the Credentials property has not been set, then mail is sent to the server anonymously.

И лезут всякие ошибки типа таких:


    The server committed a protocol violation The server response was: UGFzc3dvcmQ6
    Syntax error in parameters or arguments. The server response was: Unknown command

[•] Как получить данные из многомерных кубов в реляционном (табличном) виде

Иногда возникает потребность импортировать/загрузить данные из кубов Microsoft SQL Server Analysis Services (MS SSAS) в обычную реляционную БД. Ну или просто работать с данными как с обычными табличными.

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



   0. Предположим у нас есть:
MS SQL Server (называется SQLSERVER) содержит БД DEST_DB, где мы и хотим обрабатывать данные из куба с сервера SSAS.
MS SSAS (называется SSAS) содержит OLAP БД (называется OLAP_DB). В ней есть куб SALES_Cube с двумя мерами Sales и Profit (которые относятся к группе мер Sales_Results) и с двумя измерениями Departments и Fact_Dates. При этом измерение Fact_Dates имеет иерархию YMD с уровнями Year, Month, Day.
Мы хотим получить выборку сумм продаж и прибыли по всем отделам и всем датам.
MDX запрос, который вернет нам это:

select
    {
       [Measures].[Sales],
       [Measures].[Profit]
    } on columns,
    ([Departments].AllMembers, [Fact_Dates].[Day].AllMembers) on rows
from [SALES_Cube]


Ленты новостей
Нравится