|
29.03.2005, 12:54 | #1 |
Участник
|
Navision Attain C/ODBC и Crystal Report
Игорь Кудряшов Microsoft Business Solutions Navision является основным ERP пакетом для Европейского, Бразильского рынков плюс он служит вертикальным сегментам рынка США, таким как мелкое и среднее производство, POS, CRM. Как показывает наш опыт – внедрение Navision требует гораздо больше настройки в сравнении с другим решением от Microsoft Business Solutions, например Microsoft Great Plains. Наша цель – популяризация продуктов Microsoft Business Solutions, показать вам возможности настройки Navision под ваши конкретные нужды своими собственными силами, без привлечения внешних консультантов. Темой этой статьи является работа с C/SIDE Navision Attain Databases через интерфейс C/ODBC, в частности, создание Linked Server в среде MS SQL Server 2000 и генерация отчета по продажам в Crystal Reports 10. Давайте начнем: 1. Для нашей работы мы используем Navision Attain 3.6 в составе Navision Database Server, Navision Application Server и Navision Client. Данные компоненты установлены на Windows XP. Для обеспечения работы через C/ODBC интерфейс, необходимо установить соответствующий компонент с дистрибутивного диска Navision Attain. 2. Создадим ODBC DSN для доступа к нашим Navision данным. Для этого выберем Start -> Control Panel -> Administrative Tools -> Data Sources (ODBC). Затем выбираем вкладку System DSN и нажимаем кнопку Add. Мы будем использовать C/ODBC 32-bit драйвер для доступа к данным. Зададим Data Source Name как Navision, Connection оставим Local. В качестве базы данных (кнопка Database) выберем \Program Files\Navision Attain\Client\database.fdb (демонстрационная база данных). Затем нажмем на кнопке Company – единственной доступной компанией для демонстрационной базы является CRONUS. Ее и будем использовать. Важным условием для корректной работы с C/SIDE базами данных является корректное выставление опций для C/ODBC соединения. Нажмем кнопку Options и посмотрим на доступные опции – нас будет интересовать параметр Identifiers – он определяет вид идентификаторов, которые будут переданы клиентской программе. Для корректной работы MS SQL Server 2000 с C/ODBC источником мы будем использовать тип “a-z,A-Z,0-9,_”. На этом создание источника данных завершено. Приступим к организации Linked Server 3. Откроем SQL Server Enterprise Manager. Откройте дерево сервера, который вы собираетесь использовать, в нем выберите пункт Security и подпункт Linked Servers. Правой кнопкой в контекстном меню выберите New Linked Server. В появившемся диалоговом окне, в меню Provider Name выберем Microsoft OLE DB Provider for ODBC Drivers. Пусть наш Linked Server называется NAVISION. В строке Data Source введем имя ODBC источника – у нас он назывался также NAVISION. Linked Server готов! Выберем в нем список таблиц и увидим данные из баз Navision Attain. 4. Далее нам необходимо создать небольшую хранимую процедуру для выборки по продажам. Текст процедуры приведен ниже: CREATE PROCEDURE NavisionSalesReport AS DBCC TRACEON(8765) SELECT * FROM OPENQUERY(NAVISION, 'SELECT * FROM Sales_Line sls, Customer cust WHERE sls.Sell_to_Customer_No_ = cust.No_') RETURN GO Поясним некоторые моменты. Директива TRACEON(8765) позволяет откорректировать работу с данными переменной длины, возвращаемыми C/ODBC драйвером. Без нее мы не сможем выбирать поля из таблиц Navision – мы будем получать ошибки типа: OLE DB error trace [Non-interface error: Unexpected data length returned for the column: ProviderName='MSDASQL', TableName='[MSDASQL]', ColumnName='Ship_to_Filter', ExpectedLength='250', ReturnedLength='1']. Server: Msg 7347, Level 16, State 1, Line 1 OLE DB provider 'MSDASQL' returned an unexpected data length for the fixed-length column '[MSDASQL].Ship_to_Filter'. The expected data length is 250, while the returned data length is 1. Директива OPENQUERY открывает связанный сервер и передает ему запрос на выполнение, возвращая после этого выбранные данные. Проверить корректность работы процедуры можно дав команду в MS SQL Query Analizer – EXEC NavisionSalesReport 5. Далее, запускаем Crystal Reports, используем стандартный Wizard, создаем новое OLE DB (ADO) соединение с нашим MS SQL 2000 Server и в списке выбираем хранимую процедуру NavisionSalesReport. В качестве полей отчета можно, например, воспользоваться полями Description, Quantity, Line_Amount и Discount_Amount. Группировку можно сделать по полю Name – наименование покупателя. Наш отчет готов ! Желаем вам удачи в настройке Navision и формировании отчетности и если вы хотите заручиться нашей помощью - мы всегда готовы вам помочь Позвоните нам в Москве (095) 918-3314, (095) 918-3111 , в США: 1-866-528-0577! help@albaspectrum.com Игорь Кудряшов – ведущий специалист в Ronix Systems ( http://www.ronix.ru ), европейском подразделении Alba Spectrum Technologies ( http://www.albaspectrum.com ) – компании – партнере Microsoft Business Solutions, служащей клиентам в городах Москва, Петербург, Екатеринбург, Казань, Ростов и обслуживающей всю Российскую Федерацию. |
|
11.08.2006, 15:59 | #2 |
Участник
|
Добрый день! Очень актуальное для нас ссобщение. Есть Navision Attain, с недостаточным набором отчетов. Есть Crystal Reports. Задача - научиться строить необходимые отчеты. Может ли ваша фирма оказать помощь в этом и на каких условиях?
|
|
11.08.2006, 22:33 | #3 |
Moderator
|
Эээээээ....... А в Навижине не пробовали просто отчеты написать?
|
|
11.08.2006, 16:17 | #4 |
Участник
|
А работа напрямую с SQL Server? Нет ли у Вас такого решения?
|
|
14.08.2006, 19:05 | #5 |
Участник
|
|
|
15.08.2006, 10:22 | #6 |
Участник
|
Цитата:
В силу особенностей храения данных Navi в Sql server формирование отчетов несколько затруднительно. Имею ввиду хранение вычисляемых полей. Если бы был доступ к таблицам Navi под SQL server, было бы легче работать. |
|
15.08.2006, 13:46 | #7 |
Участник
|
Цитата:
Есть доступ к таблицам Navision, которые хранятся в SQL. Но там нет флоу филдов. А что значит твое последнее предложение? Ты имел ввиду, что если бы на SQL-е хранились флоу филды, то было бы легче работать? Но тогда это вопрос не Кристала. Цитата:
А если Кристалом, то в Ексель не получится. Собственно, если хотите в Екселе, то цепляйтесь им к базе, через ODBC и вперед. Тока сразу говорю, подробностей не знаю, не пробовал. Но где-то на этом форуме видел описание, как и что. |
|
15.08.2006, 10:25 | #8 |
Участник
|
Ага, пишешь процедуру, цепляешь в Crystal и делаешь с набором данных все что душа пожелает. Вопрос только в том, знаете ли вы что и где брать для процедуры и будет ли это быстрее натива и вывода если необходимо в Excel?
|
|
15.08.2006, 15:23 | #9 |
Участник
|
Цитата:
В Кристале можно связать таблицы и запомнить, что с ними делать. Но мы не всегда знаем "где что брать"... |
|
25.08.2006, 11:15 | #10 |
Участник
|
Цитата:
кто сказал, что при построении отчета на нативе и выводе в Excel можно работать только с 1 таблицей? Связать между собой можно 10 штук, а использовать в виде переменных - сколько душа пожелает. Стоит ли изобретать колесо? Работа с нативными отчетами имеет свои плюсы. И как замечено сложности не составляет никакой, главное как и везде при программировании не допускать ошибок |
|
15.08.2006, 15:12 | #11 |
Участник
|
Писать сразу в Навижне не пробовали, т.к. нам сделали готовое решение с некоторым на тот момент понятным набором отчетов. Некоторых нужных отчетов средствами Навижн написать не смогли - сложно. Посоветовали приобрести Кристал - он может все! Кристал у нас есть, программиста Навижн -нет. Внутреннее устройство таблиц Навижн понимаем, но не все. Нужен человек, который умел бы формировать отчеты в Кристале для Навижн, и мог бы этому научить нас.
|
|
16.08.2006, 11:13 | #12 |
Moderator
|
Цитата:
Сообщение от esh
Писать сразу в Навижне не пробовали, т.к. нам сделали готовое решение с некоторым на тот момент понятным набором отчетов. Некоторых нужных отчетов средствами Навижн написать не смогли - сложно. Посоветовали приобрести Кристал - он может все! Кристал у нас есть, программиста Навижн -нет. Внутреннее устройство таблиц Навижн понимаем, но не все. Нужен человек, который умел бы формировать отчеты в Кристале для Навижн, и мог бы этому научить нас.
|
|
24.08.2006, 15:00 | #13 |
Участник
|
Цитата:
Сообщение от Dzemon
Цитата:
Сообщение от esh
Писать сразу в Навижне не пробовали, т.к. нам сделали готовое решение с некоторым на тот момент понятным набором отчетов. Некоторых нужных отчетов средствами Навижн написать не смогли - сложно. Посоветовали приобрести Кристал - он может все! Кристал у нас есть, программиста Навижн -нет. Внутреннее устройство таблиц Навижн понимаем, но не все. Нужен человек, который умел бы формировать отчеты в Кристале для Навижн, и мог бы этому научить нас.
Интереснее другое: я так и не понимаю, существуют ли спецалисты, которые одновременно знают внутреннюю структуру Навижн и умеют строить отчеты в Кристале на базе Навижн. В нашем Солюшн Центре некоторое время такой был, но он успел только подключить одно к другому и пропал. А на свободном рынке такие специалисты есть? |
|
29.08.2006, 11:43 | #14 |
Moderator
|
Цитата:
Сообщение от esh
Цитата:
Сообщение от Dzemon
Цитата:
Сообщение от esh
Писать сразу в Навижне не пробовали, т.к. нам сделали готовое решение с некоторым на тот момент понятным набором отчетов. Некоторых нужных отчетов средствами Навижн написать не смогли - сложно. Посоветовали приобрести Кристал - он может все! Кристал у нас есть, программиста Навижн -нет. Внутреннее устройство таблиц Навижн понимаем, но не все. Нужен человек, который умел бы формировать отчеты в Кристале для Навижн, и мог бы этому научить нас.
Интереснее другое: я так и не понимаю, существуют ли спецалисты, которые одновременно знают внутреннюю структуру Навижн и умеют строить отчеты в Кристале на базе Навижн. В нашем Солюшн Центре некоторое время такой был, но он успел только подключить одно к другому и пропал. А на свободном рынке такие специалисты есть? |
|
06.09.2006, 16:07 | #15 |
Участник
|
Цитата:
Сообщение от Dzemon
Цитата:
Сообщение от esh
Цитата:
Сообщение от Dzemon
Цитата:
Сообщение от esh
Писать сразу в Навижне не пробовали, т.к. нам сделали готовое решение с некоторым на тот момент понятным набором отчетов. Некоторых нужных отчетов средствами Навижн написать не смогли - сложно. Посоветовали приобрести Кристал - он может все! Кристал у нас есть, программиста Навижн -нет. Внутреннее устройство таблиц Навижн понимаем, но не все. Нужен человек, который умел бы формировать отчеты в Кристале для Навижн, и мог бы этому научить нас.
Интереснее другое: я так и не понимаю, существуют ли спецалисты, которые одновременно знают внутреннюю структуру Навижн и умеют строить отчеты в Кристале на базе Навижн. В нашем Солюшн Центре некоторое время такой был, но он успел только подключить одно к другому и пропал. А на свободном рынке такие специалисты есть? А на главный вопрос ответа так и нет: строил ли кто-нибудь отчеты в Кристале из Навижн? И кто? |
|
28.08.2006, 14:15 | #16 |
Участник
|
Цитата:
Чет я не понял, чего ты хочешь.
Есть доступ к таблицам Navision, которые хранятся в SQL. Но там нет флоу филдов. А что значит твое последнее предложение? Ты имел ввиду, что если бы на SQL-е хранились флоу филды, то было бы легче работать? Но тогда это вопрос не Кристала. Я и не говорю что это вопрос Кристала. Цитата:
Работа с нативными отчетами имеет свои плюсы
Лично я не видел более удобного генератора отчетов чем Кристал, и кстати он выгружает в Эксель очень даже шустро. |
|
28.08.2006, 15:39 | #17 |
Участник
|
[quote=RobiBaggio;352646]
Цитата:
Какие?
|
|
28.08.2006, 15:50 | #18 |
Участник
|
Цитата:
Каждый выбирает инструмент по своему вкусу.
|
|
06.09.2006, 18:27 | #19 |
Участник
|
Я лично не строил потому то не надо.
Отчеты в Навижне настолько гибкие и их можно на лету обрабатывать по скольки угодно циклам и временным таблицам что надобность формировать отчеты в сторонних продуктах отпадает. Потом в Навижн SQL как такового нет Программируется и экспорт в Excel. Причем и многостраничный и как угодно - объектная модель Excel доступна Мороки нету никакой когда есть библиотека - да хотя бы те же процедуры в таблице Excel Buffer А придумывать себе лишний геморрой в виде разнородных продуктов это на любителя. Кристал хорош на реляционных данных с поддерживаемыми SQL запросами Ну можно например сделать некую таблицу в Навижн с параметром одна на все фирмы и туда грузить информацию. И ее тогда цеплять То есть никому не нужно идти окольным путем поэтому никто и не работает в связке Crystal-Navision Но это мое мнение и только мое. Может это действительно круто... |
|
11.09.2006, 18:12 | #20 |
Участник
|
Цитата:
Сообщение от IGHG
Я лично не строил потому то не надо.
Отчеты в Навижне настолько гибкие и их можно на лету обрабатывать по скольки угодно циклам и временным таблицам что надобность формировать отчеты в сторонних продуктах отпадает. Потом в Навижн SQL как такового нет Программируется и экспорт в Excel. Причем и многостраничный и как угодно - объектная модель Excel доступна Мороки нету никакой когда есть библиотека - да хотя бы те же процедуры в таблице Excel Buffer А придумывать себе лишний геморрой в виде разнородных продуктов это на любителя. Кристал хорош на реляционных данных с поддерживаемыми SQL запросами Ну можно например сделать некую таблицу в Навижн с параметром одна на все фирмы и туда грузить информацию. И ее тогда цеплять То есть никому не нужно идти окольным путем поэтому никто и не работает в связке Crystal-Navision Но это мое мнение и только мое. Может это действительно круто... Есть некоторое количество отчетов с выгрузкой в Excel, но они медленные и пока формируются, ничего в Excel делать больше нельзя. А что такое "можно на лету обрабатывать по скольки угодно циклам и временным таблицам" мне вообще не понятно... |
|