Рекурсия — это функция, которая вызывает самое себя. Это может происходить явно (функция XYZ содержит в своем теле вызов XYZ), либо неявно (в функции XYZ есть вызов функции ABC, в которой есть вызов функции KLM, в которой… и прочая, и прочая, и, наконец, в которой есть вызов функции XYZ).
Шаблон функции, использующей рекурсию
Function RecursiveFunction(Parameters): Optional RETURN-VALUE
BEGIN
IF THEN
EXIT(Some Return-Value);RecursiveFunction(Parameters); // Возможны несколько вызовов
Тело функции, изменения в переменных
RecursiveFunction(Parameters); // Снова вызов рекурсии, также возможно несколько раз
END;Некоторые замечания по поводу рекурсии
Самая важная в рекурсии вещь — знать, когда надо ее (рекурсию) остановить.
Вторая важная вещь — переменные, которые вы используете в рекурсии, должны быть объявлены локально (в пределах функции). Исключения возможны, но их необходимо делать осознанно.
SOLIDWORKS PDM TO DYNAMICS NAVISION ( BUSINESS CENTRAL )-PDM2NAV -V1.2
Рекурсия работает медленнее чем т.н. программирование итераций, за счет того, что при каждом вызове рекурсивной функции в стек сначала помещается, а затем извлекается большой объем информации — локальные переменные, информация по самой функции. Тем не менее, при разработке приложений для БД, на это можно практически не обращать внимания, поскольку падение производительности при рекурсии исчисляется микросекундами, а доступ в базе измеряется миллисекундами.
У всякой рекурсии есть предел по количеству вложенных вызовов. Это связано с ограничением по размеру стека. При нехватке стека вы получите ошибку.
Классические примеры рекурсии
Первый пример — функция суммы SUM(N) = 1 + 2 + … + N
Function Sum(Iint : INTEGER): INTEGER
BEGIN
IF Iint = 0 THEN
EXIT(0);
EXIT(Iint + Sum(Iint — 1));
END
Эта функции имеет Iint уровней вложенности, так что существует возможность того, что вам не хватит размеров стека.
Следущая реализация позволяет избежать этой проблемы (хотя и не полностью). Посколько уровней вложенности в ней сего LOG2(N) — логарифм N по основанию 2. Попробуйте сами сделать вызов Sum(50000) в обоих случаях и посмотрите на результат (в первом случае — Stack Overfow, во втором — результат).
Function Sum(Iint : INTEGER) : INTEGER
BEGIN
EXIT(Sum2(0,Iint));
END
Function Sum2(IintFrom : INTEGER;IintTo : INTEGER) : INTEGER
Local variable : Lint: INTEGER // this must be a local variable!
BEGIN
IF IintFrom = IintTo THEN
EXIT(IintFrom);
Lint := (IintTo + IintFrom) DIV 2;
EXIT(sum2(IintFrom,Lint) + sum2(Lint + 1,IintTo));
END;
В прилагаемом fob-файле 2 отчета:
Report 50000 — показывает все комплекты с комплектующими товарами, и для каждого ребенка — всех его детей, и т.д.
Report 50001 — представьте, что вам необходимо узнать, из скольких компонентов (и в каком количестве) состоит комплект. Этот отчет проходит по всему содержимому комплекта и выводит полный список компонент одним списком.
80327 Введение в Microsoft Dynamics NAV 2009. Глава 1.
В области Navision — с 2003 года. Профессиональные интересы: NAV, MS SQL, .NET, BPMN, IT-менеджмент. Предметная область: логистика, финансы, склады, 3PL.
Количество статей, опубликованных автором: 86.
Источник: naviart.ru
Microsoft Navision Attain
Navision Attain – универсальное решение для управления финансовыми и товарно-материальными потоками и ресурсами небольших и средних предприятий.
Решение Navision Attain быстро внедряется, легко адаптируется и модифицируется, просто в использовании и сопровождении. Navision Attain предоставляет компаниям интегрированный функционал, включая: Управление финансами, включающий модули:
- Финансовый учет
- Управленческий учет
- Мультивалютность
- Бухгалтерия
- Банк/Касса
- Основные средства
- Продажи Поставщики
- Управление отношениями с клиентами (CRM)
- Сотрудничество в цепочках поставок, включающий модули:
- Склад
- Производство
- Электронная коммерция
- Анализ данных
- Мультиязычность
- Гибкая среда разработки
Источник: www.tadviser.ru
Dynamics NAV
Работая с Microsoft Dynamics NAV для планшетов и телефонов Android, вы привычным образом взаимодействуете с новым и актуальным интерфейсом Dynamics NAV, рассчитанным на мобильные устройства.
Microsoft Dynamics NAV – это глобальное решение для бизнеса, дающее малым и средним предприятиям лучший контроль над финансами, а также упрощающее их цепочку поставок, производство и операции. Это решение быстро развертывается и удобно в использовании, а его мощные возможности поддержат ваши инициативы по росту.
Принимайте осведомленные решения, основанные на самых свежих бизнес-данных, и достигайте реальных результатов где угодно и когда угодно, в том числе в нерабочие часы, работая из дома или в пути — с помощью Dynamics NAV для планшетов и телефонов Android. Это идеальный помощник для инженеров по обслуживанию, аппаратов продаж компаний, высших руководителей, принимающих решения лиц, а также для всех сотрудников вашей компании, которым нужен доступ к Dynamics NAV с мобильного устройства с сенсорным экраном. Обеспечьте прозрачность всех аспектов деятельности вашего предприятия в одном или нескольких графиках, доступных на домашнем экране в Dynamics NAV. Нажимайте на экран для перехода к детальным сведениям по вашим клиентам, поставщикам, складским запасам или любым другим данным. Быстро создавайте счета-фактуры и предложения — и отправляйте их по электронной почте всего несколькими нажатиями на экран.
На планшетах требуется доступ к Microsoft Dynamics NAV 2015 или более поздней версии.
На телефонах требуется доступ к Microsoft Dynamics NAV 2016 или более поздней версии.
Требуется Android 4.4.3 или более поздняя.
УВЕДОМЛЕНИЕ. После выхода Android 7 мы прекратим поддержку Android 4 начиная с обновления, запланированного на начало 2017 года.
Возможности
• Управление финансами, клиентами, поставщиками, складским запасом и другими доступными вам данными Microsoft Dynamics NAV.
• Утверждение документов или отправка их на утверждение.
• Обзор состояния вашего бизнеса на домашнем экране.
• Переход к данным и их детализация — достаточно нажать на экран и провести пальцем.
• Использование камеры устройства для отправки изображений в Dynamics NAV.
• Вход с помощью учетной записи Office 365 или предпочтительных учетных данных Dynamics NAV.
• Экспорт данных в Microsoft Excel для совместной работы с коллегами.
Устанавливая или используя это приложение, вы принимаете условия использования, расположенные по адресу https://go.microsoft.com/fwlink/?linkid=831310
Источник: play.google.com