понедельник, 7 декабря 2009 г.

Синхронизация справочников при мультифирменной работе

При работе с несколькими компаниями в пределах одной базы данных Microsoft Dynamics NAV часто возникает задача синхронизации справочников. Один из способов решения этой задачи – сделать таблицы, содержащие данные справочников, общими. Это не всегда удобно. Например, в случае, когда одна из компаний “отлична от других” и должна содержать уникальные данные.

Другой способ – использование утилиты Navutilus Data Transfer. Утилита, кроме всего прочего, позволяет организовать репликацию справочников из одной компании в выделенный список других.

Пример. Допустим, мы хотим синхронизовать справочники измерений в четырех компаниях: CRONUS HQ, CRONUS International Ltd., CRONUS Development Ltd., CRONUS New Affiliate.

Вызовем утилиту Navutilus Data Transfer. Создадим набор для репликации с названием (кодом) Dimensions.



Примем решение, что измерения будут реплицироваться из компании CRONUS HQ. Настроим маршрут репликации, как показано на рисунке – данные из компании CRONUS HD будут реплицироваться в остальные три компании. В нижней субформе настроим список таблиц для репликации (возьмем, для примера, таблицы 348-351). Правила репликации будут просты – в случае, если в принимающих компаниях встретятся записи с совпадающими значениями первичного ключа, они будут заменены на записи из компании-донора.

Процесс репликации может быть запущен вручную (кнопка Functions, Transfer Data) или автоматически, с помощью робота. Для настройки правил работы робота войдем в закладку Schedule.



Укажем дату-время начала репликации (поле Schedule Start DateTime), зададим периодическое выполнение репликации (значение Run interval в поле Run Periodicy) и время – 10 минут в поле Run Interval (min). Теперь при активном роботе измерения будут синхронизироваться раз в 10 минут.

Робот – это экранная форма, имеющая два состояния – робот выключен и робот активен.



В строках формы отражается информация, когда и какие наборы репликации/консолидации были выполнены и результат выполнения.

Теперь синхронизация справочников превратилась в рутинную работу, нужно только поддерживать состояние справочников в компании CRONUS HD в актуальном состоянии.

четверг, 19 ноября 2009 г.

Как скрыть/защитить исходный код в Navision

Причин защиты исходного кода может быть много, например:

- защита “ноу-хау”,
- защита текста от несанкционированного или непрофессионального вмешательства,
- формирование демо-версии add-on решения для передачи “наружу”

Кардинальное решение этой задачи обеспечивает утилита Navutilus Object Squeeze. Эта утилита физически удаляет исходные тексты из объекта Navision и делает эти объекты меньше размером. Способ борьбы с этой технологией один – декомпилятор. Но за эту задачу, насколько мне известно, пока еще никто не брался.

Проиллюстрируем технологию использования этой утилиты. Обработаем с ее помощью кодюнит 12 Gen. Jnl.-Post Line. Кстати, утилита обрабатывает только те объекты, на которые у ее пользователя есть права на чтение и модификацию.

Откроем карточку процедуры “сквизирования”:



1. Задаем тип объекта (Codeunit) и его номер (12)

2. Ставим галочку в поле Replace Source (иначе исходники сохранятся в неизменном варианте)

3. В поле Source Replacer Text импортируем текстовый файл, в котором задан текст, которым будут заменены тексты в программных триггерах и функциях. В нашем примере импортируем файл



4. Ставим галочку в поле Replace Documentation (иначе триггер Documentation останется неизменным).

5. В поле Documentation Replacer Text импортируем текстовый файл, в котором задан текст, которым будет заменен текст триггере Documentation. В нашем примере импортируем файл



6. В поле Erase Local Variable Names ставим галочку (иначе имена локальных переменных останутся неизменными).

7. Запускаем функцию Squeeze Objects! Через несколько секунд (в локальном варианте работы) получаем сообщение о завершении задания (мы, конечно же, сохранили изменяемый объект перед этой процедурой :)).

Теперь мы можем открыть в дизайнере этот объект. Получим такую картинку



Обратите внимание – теперь вместо имен локальных переменных изображаются “пустышки”.

Таким образом, в результате получаем защищенный объект, полностью работоспособный. Кстати, в этом конкретном случае его размер уменьшился с 460Kb до 226Kb.

Описанная технология массово протестирована. В частности, несколькими сотнями пользователей бесплатных утилит Navutilus, в разных странах и на разных версиях системы (утилита работает в версиях 4.хх, 5.хх, 2009).

среда, 18 ноября 2009 г.

Экспорт/импорт BLOB-ов в Navision

Иногда возникает необходимость перенести данные таблицы с BLOB-ами в другую таблицу или фирму. Можно ли сделать это без программирования?

Можно воспользоваться утилитой Navutilus Dataport Maker.

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

Настроим карточку создания датапорта.



Для этого введем код карточки, описание, ID датапорта, его имена. Для включения изображений в импорт-экспорт поставим галочку в поле Export/Import BLOB. Теперь нам нужно указать таблицы для экспорта/импорта. Зададим таблицу 27 Item. Чтобы в новой фирме не “поплыли” настройки единиц измерения, включим в датапорт таблицу 5404 Item Unit of Measure.

Теперь вызываем функцию Create Dataport Object, указываем имя создаваемого объекта (утилита создает датапорт в виде объекта формата txt). В дизайнере объектов импортируем созданный датапорт, компилируем его и запускаем:



Для датапорта указываем имя файла выгрузки таблицы. Будет создано два файла – один стандартный, с данными таблиц, второй – с расширением blb – с изображениями товаров. После этого вы можете перейти в другую фирму, вызвать этот же датапорт и импортировать выгруженные данные. Изображения товаров импортируются вместе с их описаниями.

Весь процесс занимает две-три минуты :)

вторник, 17 ноября 2009 г.

Navutilus Structure Browser

Быстрый и удобный просмотр структуры таблиц Navision.

Утилита позволяет просмотреть детальную структуру любой таблицы Microsoft Dynamics NAV (Navision).

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

- просмотр ключей таблицы.

Список полей таблицы может быть отфильтрован стандартными возможностями фильтрации. Например, можно просмотреть только поля типа Option:




Утилита позволяет просматривать структуры специальных таблиц, недоступных для просмотра в Дизайнере объектов. Например, структура таблицы Дата:




Техническая спецификация

Версия 2.04 (14.10.2009)

Версии Microsoft Dynamics NAV: 4.xx, 5.xx, 2009

Базы данных Microsoft Dynamics NAV: Native, MS SQL

Состав: 1 таблица, 4 формы

Требования: Лицензионные разрешения на вставку и запуск таблиц, форм, отчетов

Условия поставки: бесплатно

Страница для закачки: http://www.navutilus.com/nav_sb/nav_sb.htm

Исправление очепяток в Navision

Регулярно поступают запросы, как можно исправить допущенную при работе с Navision опечатку.

Обычно опечатки исправляют прямым действием и обычно это получается корректно. Но значения некоторых значимых полей (например, наименование товара, фамилии сотрудников) при работе в системе копируются в разные поля разных таблиц базы данных. Исправление опечатки в соответствующей карточке не приведет к автоматическому исправлению “оттиражированных” ошибок. Мы можем только быть уверенными, что “дальше все будет в порядке”.

Посмотрим, например, на фамилии сотрудников. Воспользуемся утилитой Navutilus Search & Replace. В демонстрационной компании поищем фамилию Сабанцев.



Результат поиска – 196 вхождений фамилии в разных полях разных таблиц. Реальных источников этой фамилии, где она была реально введена – много – карточка сотрудника, карточка менеджера, карточка контакта, карточка ресурса, карточка поставщика и т.д. Однако большинство вхождений сгенерированы системой (например, в процессе учета документов). Понятно, что если мы исправим опечатку в одной из карточек, в системе останется значительное число полей, заполненных некорректно.

Традиционно вызывается программист, знающий правила “распространения” информации в системе, который в Дизайнере объектов открывает нужные таблицы и прямо корректирует ошибочную информацию. Проблема усугубляется в сильно кастомизированных базах, ошибка может быть пропущена.

Использование утилиты Navutilus Search & Replace Pro позволяет исправить ошибки более удобным способом. В результатах поиска фильтруются (например, стандартными фильтрами и/или через отметки/mark строк) строки с опечаткой, вводится правильное значение в поле Replace with, вызывается функция Replace. Вся операция занимает от нескольких секунд до несколько минут (если требуется ручная выборка исправляемых полей).

понедельник, 16 ноября 2009 г.

О проекте Navutilus


Проект «Navutilus»

Проект Navutilus создан для обеспечения пользователей и разработчиков системы Microsoft Dynamics NAV (Navision) новыми возможностями, направленными на:
• повышение эффективности и результативности работы ИТ-специалистов,
• повышение удовлетворенности конечных пользователей.
В рамках проекта создаются и распространяются утилиты, предназначенные для использования:
• Компаниями – пользователями Navision,
• Компаниями – партнерами Microsoft, продвигающих, внедряющих и поддерживающих систему Navision.
Команда проекта стремится обеспечивать своих пользователей профессиональными инструментами:
• Поддержки, внедрения и сопровождения Navision,
• Обеспечения новых возможностей обработки и анализа хранимой информации,
• Облегчение создания новых функциональностей и возможностей в среде Navision,
• Грамотного и удобного администрирования Navision,
• Сопровождения процессов внедрения новых инструментов, созданных в среде Navision.
Команда проекта состоит из «фанатов» Navision и делает все для обеспечения более профессионального и комфортного использования этой системы.
В своей работе специалисты команды проекта ориентированы на профессионализм, ответственность, гордость за свои продукты и вносимый вклад в деятельность профессионального сообщества пользователей и разработчиков Navision.

Проект создан Группой компаний СИГМА (http://www.sigmagroup.ru), официальный сайт проекта http://www.navutilus.com