При работе с несколькими компаниями в пределах одной базы данных 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 в актуальном состоянии.
понедельник, 7 декабря 2009 г.
четверг, 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).
- защита “ноу-хау”,
- защита текста от несанкционированного или непрофессионального вмешательства,
- формирование демо-версии 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 – с изображениями товаров. После этого вы можете перейти в другую фирму, вызвать этот же датапорт и импортировать выгруженные данные. Изображения товаров импортируются вместе с их описаниями.
Весь процесс занимает две-три минуты :)
Можно воспользоваться утилитой 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
Утилита позволяет просмотреть детальную структуру любой таблицы 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. Вся операция занимает от нескольких секунд до несколько минут (если требуется ручная выборка исправляемых полей).
Обычно опечатки исправляют прямым действием и обычно это получается корректно. Но значения некоторых значимых полей (например, наименование товара, фамилии сотрудников) при работе в системе копируются в разные поля разных таблиц базы данных. Исправление опечатки в соответствующей карточке не приведет к автоматическому исправлению “оттиражированных” ошибок. Мы можем только быть уверенными, что “дальше все будет в порядке”.
Посмотрим, например, на фамилии сотрудников. Воспользуемся утилитой 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
Подписаться на:
Сообщения (Atom)