Нови възможности заотчитане в NAV 2009г
Обсъдете във форума:
Една от значителните промени, въведени в Dynamics NAV 2009, е новият начин, по който данните се представят на крайния потребител. Обикновено данните се съхраняват в таблици на база данни, като структурата на таблиците на базата данни се диктува от изискванията за нормализиране, а не от удобството на потребителя. Потребителят използва отделни механизми за достъп до данни. В предишната версия, Dynamics NAV 5.0, това бяха формуляри и отчети.
Във версия 2009 обектите Page започнаха да се използват вместо обекти Form. Промените засегнаха и обектите на отчетите. Сега при генериране на отчети се използва технологията SQL Reporting Services, а оформлението на отчета се създава във Visual Studio.
Ако фразата „оформлението на отчета сега се създава във Visual Studio“ ви натъжава, не се отчайвайте. Първо, струва си да се отбележи, че ролевият клиент NAV2009 включва поддръжка за класически отчети. Това означава, че ако изпълните отчет от базиран на роли клиент, за който не е създадено оформление, ще се отвори класическият клиент и в него ще се стартира класическата версия на отчета. Тази възможност ви позволява постепенно да преминете към базиран на роли клиент. Освен това, както се оказа на практика, новите функции напълно компенсират дискомфорта, свързан с изучаването на нов продукт. По-специално, SQL Reporting Services ви позволява да:
- Използвайте диаграми и графично представяне на данни.
- Широка гама от агрегирани показатели: не само сумата, но и средната, максималната, минималната стойност и др.
- Интерактивни функции: сортиране, динамично скриване/показване на данни
- Стандартен експорт в Excel и PDF.
Да използвамза да се възползвате от предимствата на новите технологии, ще трябва да използвате тристепенна архитектура (SQL Server - Dynamics NAV Server - Ролево ориентиран клиент). Разработването на отчет все още се извършва в настолния клиент, с изключение на оформлението, което, както беше отбелязано по-горе, се създава във Visual Studio. За разлика от страниците, които са нови обекти, заменили формулярите в ролевия клиент, отчетът за класическия клиент и отчетът за ролевия клиент все още са един и същ обект. Сега той се състои не само от познати компоненти:
- Елементи с данни
- Раздели
- Формуляр за заявка
Но включва и нови компоненти:
- Оформление на отчета (Layout)
- Страница за заявка
Тъй като SQL Reporting Services и Visual Studio са нови технологии за повечето консултанти по програмиране, в поредица от статии е планирано да се даде доста подробно описание на повечето начини, които могат да бъдат полезни при работа с отчети в Dynamics NAV 2009. В тази статия ще се ограничим до преглед на инструментариума, с който ще работим.
Така че да започваме. Първо трябва да получите Visual Studio. Нямате нужда от целия пакет, просто изтеглетеMicrosoft Visual Web Developer 2008 Express Editionот http://www.microsoft.com/express/download/default.aspx. Това е безплатна версия, единственото нещо, което може да се наложи да се регистрирате (безплатно) за 30 дни. Ще трябва също така да инсталиратеДобавката за преглед на отчети на Microsoft за Visual Web Developer 2008 Express Edition(http://www.microsoft.com/downloads/details.aspx?Family >
В Microsoft Dynamics NAV Classic Client:
- Щракнете върхуИнструменти>ОбектДизайнер.Отваря се дизайнерът на обекти.
- Щракнете върху бутонаДоклад,, за да отворите списъка с отчети.
- Намерете отчет 1 Сметкоплан (нищо не се планира да се променя в отчета, така че може да бъде всеки отчет).
Нека разгледаме какви нови опции се появиха в дизайнера на отчети.
Първоначално прозорецът трябва да изглежда така:
Нека обясня какво виждаме на снимката. Нека първо да разгледаме прозорците.
- Solution Explorer - прозорец, който съдържа списък с файлове, включени в проекта. За да отворите този прозорец, щракнете върху Преглед > изследовател на решения. По принцип този прозорец се използва рядко, така че можете спокойно да го затворите, за да освободите място за други прозорци.
- Report.rdlc - самото оформление. За да покажете този прозорец, щракнете върху Report.rdlc в Solution Explorer.
- Report.xsd е XML схема, която съдържа описание на DataSet. Наборът от данни се генерира автоматично въз основа на съдържанието на секциите на отчета. Този прозорец не е необходим, когато работите върху оформление на отчет.
- Properties - прозорец със свойства. Има много имоти. Освободихме място за прозореца Properties, като затворихме прозореца Solution Explorer. За да покажете този прозорец, щракнете върху Преглед > прозорец със свойства. Моля, имайте предвид, че за редица контроли можете да извикате отделен прозорец със свойства (той се нарича Страници със свойства). За да направите това, щракнете с десния бутон върху контролата и изберете Свойства. В зависимост от ситуацията понякога е по-удобно да използвате едното или другото.
- Website DataSource – този прозорец изброява наборите от данни и самите данни. За да покажете този прозорец, щракнете върху Данни > Показване на източници на данни. Когато работите върху отчет, този прозорец ще се използва често.
- Toolbox - инструменти. Съдържа списъкконтроли, които могат да се използват в оформлението. На тази фигура този прозорец е минимизиран (надписът Toolbox отляво на прозореца Website DataSource). За да покажете този прозорец, щракнете върху Преглед > кутия за инструменти. Когато работите върху отчет, този прозорец ще се използва често. Следователно той трябва да бъде поставен под прозореца „Източник на данни за уебсайта“. Visual Studio предлага голямо разнообразие от инструменти, но само тези в групата Report Items са подходящи за вмъкване в оформление, други контроли не са налични. За да покажете само контролите, които искате в прозореца, щракнете с десния бутон върху прозореца на кутията с инструменти и премахнете отметката от квадратчето Покажи всички.
- списък с грешки. Този прозорец е минимизиран и е в долния ляв ъгъл. Той показва списък с грешки при компилиране. Тъй като проверката на оформлението се извършва от Dynamics NAV, този прозорец не се използва и може да бъде затворен.
Освен това в горната част на прозореца има ленти с инструменти:
- Стандартен. Съдържа полезни бутони: Save, Cancel, както и бутони за извикване на прозорците Toolbox и Properties.
- Граници на отчета и форматиране на отчета. Тези ленти с инструменти са полезни, когато променяте определени свойства на контролите, като размери на шрифта, цвят на шрифта или граници на клетки.
- Оформление. Използва се за работа с оформлението като цяло. Например, за да подравните множество контроли вляво.
Visual Studio предоставя на разработчика широки възможности за персонализиране на работното им място. Намирам за удобно да работя със следните настройки на прозореца:
Нека разгледаме някои точки по-подробно.
Както можете да видите на фигурата, можете да създадете секции Header и Body на страницата в оформлението. Както може би се досещате, можете също да създадете секция за долен колонтитул. Добавямв секцията Горен колонтитул на страница щракнете върху Доклад > Горен колонтитул на страница. За да добавите секция за долен колонтитул на страница, щракнете върху Доклад > Долен колонтитул на страница. Можете също да щракнете с десния бутон върху сивата зона в прозореца Report.rdlc, след което да изберете съответния елемент от контекстното меню. Моля, обърнете внимание, че когато изключите секциите за горен колонтитул или долен колонтитул на страница, системата премахва всички контроли, разположени върху тях. За щастие отмяната в няколко стъпки работи във Visual Studio.
Общо оформлението може да има три секции и всяка секция се показва веднъж (за разлика от класическия клиент, където основната секция се показва толкова пъти, колкото са записите, обработени в елемента с данни). Оформлението използва контролата Table за показване на повтарящи се данни. В него можете също да създадете заглавие, редове, а също така се използва за създаване на междинни суми и общи суми.
Тъй като говорим за таблици, заслужава да се отбележи една особеност. В класическия клиент вложените елементи от данни (таблици) се обработват последователно. Тези. първо таблицата Мениджъри и след това таблицата Клиенти, която е свързана с таблицата Мениджъри (връзка един към много). Само една плоска (сплескана) таблица се предава на SQL Reporting Services - резултат от обединяването на две изходни таблици. Тези. тази таблица ще съдържа както полета от таблицата Мениджъри, така и полета от таблицата Клиенти.
Пример. В класическия клиент:
В SQL Reporting Services ще има една таблица:
- Мениджър А, Клиент 1
- Мениджър А, Клиент 2
- Мениджър А, Клиент 3
- Мениджър Б, Клиент 4
- Мениджър Б, Клиент 5
В този случай не всички съществуващи полета на изходните таблици ще попаднат в плоската таблица, а само тези, които присъстват в секциите на отчета. Освен това, ако има елементи в секциите на таблицатаконтроли, които имат променливи (локални или глобални) в свойството SourceExpr, тогава тези променливи също ще станат полета на плоската таблица.
Групирането на данни (в този пример групирането по мениджър) се извършва чрез задаване на подходящите свойства на контролата Таблица, вмъкната в раздела Основно съдържание.
И накрая, помислете какво се случва, когато изберете елемента от менютоПреглед > Layoutв Repopt Designer на класическия клиент. Когато изберете елемент от менютоПреглед > Layout, системата разтоварва (създава, ако не съществува оформление) проект на Visual Studio в C:\Users\ \AppData\Local\Temp\Microsoft Dynamics Nav\Report1\ReportLayout, проектът включва следните файлове:
- Report.rdlc
- Report.xsc
- Report.xsd
- Докладвай.xss
- ReportLayout.sln
- Web.config
След това се стартира Visual Studio и проектът се отваря в него. Въпреки че не е необходимо, можете ръчно да стартирате Visual Studio и да отворите проекта, като щракнете върху файла ReportLayout.sln.
След като оформлението е променено във Visual Studio, то трябва да бъде запазено. За да направите това, щракнете върхуФайл > Запазете Report.rdlc. Можете също така просто да затворите Visual Studio.
След като се върнете отново към класическия клиент, трябва да уведомите системата, че оформлението може да бъде заредено. За да направите това, можете да изберете друг елемент от данни. Dynamics NAV ще провери файла с оформлението и ако е променен, системата ще предложи да зареди модифицираното оформление.
След като оформлението се зареди в Dynamics NAV, трябва да компилирате. Ако има грешки в оформлението, те ще бъдат открити на етапа на компилация. За да коригирате грешките, трябва да рестартирате Visual Studio (Изглед > Оформление).