Главная » Статьи с тегом "C/AL"


Экономия своими руками

Когда проводят презентацию новой системы, связанной с IT областью, часто рассказывают о таком параметре как «стоимость владения», сопровождая обязательным словом «низкая». Обычно если об этом говорят, то это значит, что стоимость покупки сильно завышена, а производитель не сомневается в том, что его технология не потребует больших затрат на сопровождение. По большому счету это не самый …

Архивация в Dynamics NAV средствами Windows

Вы когда-нибудь обращали внимание на то, что проводник Windows может показывать содержимое Zip архива? К тому же Вы можете добавлять в архив файлы и извлекать их. Как-то я задался вопросом: как можно использовать эту возможность из Navision? Ведь в этом случае мне не придется заботиться о том, чтобы устанавливать архиватор на каждой машине.  Давайте разберемся …

Отправка почты из Navision так, чтобы она осталась в почтовом клиенте

В организации используются в качестве почтового клиента Outlook и TheBat. Возникла необходимость отправлять почту так, что бы она оставалась в почтовом клиенте у конкретного пользователя, отправляющего почту из Navision. При этом немаловажным фактором является то, что нужно подключать аттачменты. Порывшись в интернете я понял, что для этого можно использовать протокол MAPI который поддерживают как Outlook …

Вычисляемое поле обновляется только при срабатывании триггера OnValidate

Краткое изложение проблемы Предположим, у вас на страцице есть вычисляемое поле («вычисляемое» в свойстве SourceExpression), а часть вычисления включает в себя ссылку на еще одно поле. Так вот, вычисляемое поле не обновится автоматически при изменении во втором поле (это, кстати, начиная с третьей версии навижн так работает – прим.перев.). Вычисляемое поле обновится ТОЛЬКО ЕСЛИ по …

Как создавать/читать xml-файлы из NAV…

В своей предыдущей заметке я описал возможности по чтению xml-файлов из NAV. При этом сам файл – просто прикрепил, и не рассказал, как их создавать. Исправляюсь. —— <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mbs="http://www.microsoft.com/mbs/xml"> <soapenv:Header xmlns:soapenv="soapenv"> <soapenv:Body> <mbs:enumeration xmlns:mbs="mbs"> <mbs:table>Customers</mbs:table> <mbs:Customer>   <mbs:CustomerAuthentication>     <mbs:No>10000</mbs:No>     <mbs:Name>The Cannon Group PLC</mbs:Name>   </mbs:CustomerAuthentication>   …

Как прочесть xml-документ из Navision при помощи Microsoft XMLDOM automation

Мне часто задают вопросы типа «Как в Navision читать xml-документы без использования xml-портов?» В основном они связаны с тем, что xml-порты имеют ограничения и не всегда их можно использовать. Вот пример кодеюнита, который считывает xml-узлы из файлы. Просто пример, ничего более… :-) OBJECT Codeunit 50050 xml read {   OBJECT-PROPERTIES   {     Date=05.08.12; …

Как увеличить производительность Microsoft Dynamics NAV за счет уменьшения чтений из базы

Самый простой (для программиста), но самый медленный (с точки зрения производительности) способ Так пишет большинство. При прогоне цикла по таблице и использовании GET (а также FINDFIRST/FINDLAST) по другой таблице, в которой вам надо получить данные, большиство выполняют эти GET-операторы в каждой итерации цикла, даже если на предыдущей итерации уже получено правильное значение: recItemLedgerEntry.RESET; recItemLedgerEntry.SETCURRENTKEY("…"); recItemLedgerEntry.SETRANGE("…"); …

Связь между оператором FOR-TO и максимальным количеством параметров функции

Сегодня мне пришлось столкнуться с одним, так и хочется сказать, побочным эффектом работы C/SIDE. После некоторого времени, затраченного на поиски проблемы, пришло понимание, которым я и хочу с вами поделиться. Как это началось Представьте, что у вас есть два куска кода: Пример 1: MyFunction(Param1,Param2,Param3,Param4,Param5,Param6,Param7,Param8,Param9, Param10,Param11,Param12,Param13,Param14,Param14,Param15,Param16,Param17); Пример 2: for j :=1 to 1 do begin MyFunction(Param1,Param2,Param3,Param4,Param5,Param6,Param7,Param8,Param9, …

Работа с Record. Часть четвертая, практическая

Предыдущие части можно найти здесь: «1. Основные команды. Чтение данных без блокировок», «2. Modify», «3. FILTERGROUP. Другие фирмы». Примеры из практики Navision Вам необходимо получить остатки определенного товара на определенном складе. Есть два способа сделать это. У обоих способов есть свои за и против. ПРАВИЛЬНО — (ЗА  — вам не нужно заботиться об индексах. ПРОТИВ …

Работа с переменными Record — 3. FILTERGROUP. Чтение в другой фирме.

Предыдущие части можно найти здесь: «Основные команды. Чтение без блокировок», «Работа с Modify». Использование групп фильтров – FILTERGROUP Группы фильтров полезны для накладывания нескольких фильтров на одно и то же поле, а также для скрытия фильтров от пользователей. Пара советов: используйте группы от 10 и выше. Группы фильтров от 0 до 6 зарезервированы (подробности — см. справку …

Работа с переменными Record – 2. Modify.

С первой частью статьи можно ознакомиться  здесь – «Основные команды. Чтение без блокировок». Примеры изменения записей Общие советы по записи в БД Начинайте транзакцию как можно позже (т.е. сначала считайте нужные данные без блокировок таблиц, и только после этого начинайте запись). Блокируйте как можно меньше (при внесении изменений в одну запись таблицы размером в 10 млн.записей, зачем …

Работа с переменными типа Record в Navision

Надпись на аквариуме в зоомагазине: «Не стучите – они не откроют». Много раз я видел, как множество людей для получения данных из БД пользуются не похожими друг на друга, но совершенно неэффективными способами. Либо они пишут ненужные команды, и таким образом устраивают в коде бардак. Это сподвигло меня на написание статьи, где бы на пальцах …

Как вычислить размер места, используемого БД Navision

01.12.2010 | Автор: | Рубрика: Новичкам

Как мы все знаем, у базы Navision есть два главных параметра — это 1) размер и 2) используемая площадь, т.е. место. Встречаются такие жизненные ситуации, в которых необходимо иметь предупреждение о том, что используемое место вплотную приближается к размеру самой базы. Например, становится практически невозможно выполнить какие-нибудь пакетные операции, связанные с движением больших объемов данных, …

Работа с диалогами

Одно из железных правил проектирования интерфейсов – пользователь не должен чувствовать себя покинутым. Он может нажать кнопку, подождать 5 секунд (максимум!), но если не видит реакцию системы – начинается паника. Для этих случаев в Navision есть диалоги, спец.окошки для вывода текущего состояния системы. В них можно выводить счетчики, проценты, прогресс-бары – все, что угодно. Есть одно НО. Dialog.UPDATE работает очень медленно …

Олимпиадная задачка – пересечение в NAV

«Мне нужно вывести на экран не все записи. Причем просто фильтрами не обойдешься. Менеджер видит свои сделки + все сделки, подчиненных где он босс. Грубо говоря, юзер должен видеть все сделки, в которых он фигурирует как менеджер + если ты начальник, то должен видеть все сделки подчиненных менеджеров и менеджеров нижестоящих депратаментов. Департаменты могут быть …