Несколько советов разработчикам MS Dynamics NAV 2009 (RTC)
Здесь собраны несколько советов, которые пригодятся при разработке в NAV 2009. Прошу сильно не бить, если они покажутся смешными (кому как :)
Управление файлами на компьютере с запущенным RTC
В C/AL для работы с файлами имеются следующие команды: EXIST: EXISTS(<File_Name>); RENAME(<Old_File_Name>,<New_File_Name>); ERASE(<File_Name>); COPY(<From_File_Name>,<To_File_Name> ) . Но они работают только с классическим клиентом, на RTC эти операции выполняются на сервере приложений. Что же делать, если надо поработать с файлами на машине с запущенными RTC?
Предлагаю использовать автоматизацию:’Windows Script Host Object Model’.FileSystemObject. При создании «Client side»-параметра, automation-сервер будет запущен на клиентской машине, а мы сможем использовать все его функции.
Примеры функций:
Функция на NAV C/AL | Функция на automation-сервере |
EXISTS(<File_Name>); | <automationName>.FileExists(<File_Name>); |
RENAME(<Old_File_Name>,<New_File_Name>); | <automationName>.MoveFile(<Old_File_Name>,<New_File_Name>); |
ERASE(<File_Name>); | <automationName>.DeleteFile(File_Name>[, BOOL Force]); |
COPY(<From_File_Name>,<To_File_Name> ) | <automationName>.CopyFile(<From_File_Name>,<To_File_Name>); |
Разные способы отображения полей типа Boolean (RTC)
Обычно логические поля выглядят как галочки, но можно придать им и другой вид – например, компбо-бокс «Да/Нет». Это можно сделать при помощи комментариев к триггеру OnDrillDown. Ниже пример такого использования на RTC: у первой переменной есть комментарии в триггере, вторая – стандартный вид.
Использование в RTC виртуальной таблицы 2000000022 «File»
Если вы уже используете эту виртуальную таблицу где-то на классическом клиенте и хотите перенести функциональность, надо знать некоторые особенности:
- Виртуальная таблица покажет файлы и папки на самом сервере приложений (не на клиенте RTC), и они будут отличаться от работы ранее (в классическом клиенты показывались данные с клиентской машины)
- При работе в RTC с таблицей File, не используйте поле Data. В классическом клиенте при наличии данных в этом поле ставится звездочка. RTC начинает читать данные из самого файла и нагружает процессор/и память тоже.
Спасибо!
Оригинал заметки можно прочесть здесь: «

Автор: Андрей Стрельников
В области Navision - с 2003 года. Профессиональные интересы: NAV, MS SQL, .NET, BPMN, IT-менеджмент. Предметная область: логистика, финансы, склады, 3PL.
Количество статей, опубликованных автором: 86.
Привет, Андрей!
Не очень люблю гуглить по вопросам NAV, горе специалистов в инете ни о чем развелось.
Но, тут пришлось и ..наткнулся на твои статьи), очень помогли решить одну задачку в NAV 2009.
Добавил ссылку в избранное, жду новых статей от тебя).
Спасибо и Удачи в хороших делах!
На здоровье, однокашник :)
Ты мне лучше сам чего-нибудь напиши — выложу для общей пользы :)