|
21.02.2007, 17:57 | #1 |
Участник
|
настройка формы печати (просмотра) предложения (заказа, счета)
как настроить то что появляется при нажатии кнопки "печать"? Это отчет? Или форма просмотра?
|
|
22.02.2007, 06:10 | #2 |
Участник
|
Форма просмотра по моему,
мы делали печать счета через отчет привязанный к счету. |
|
22.02.2007, 17:16 | #3 |
Участник
|
Спасибо за ответ!!! Уже начал терять Надежду...
Похоже единственный путь самому делать отчет и привязывать его к форме. Как делать продвинутые отчеты такого уровня - вот главная трудность. Похоже они xml-ные (в документации прочитал), структура xml-ного отчета какая то путаная. А чем *.rdl файлы открыть чтобы как в cristal reports все можно было делать. Reports services 2005 SQL server открывается в Visual Stidio 2005, а там таже лажа XML-ная. Чем править *.rdl файлы то? или я много коньяка выпил и туплю не по-децки? Последний раз редактировалось natterru; 22.02.2007 в 17:20. |
|
23.02.2007, 14:58 | #4 |
Участник
|
Как говорил SAM лутьше всего делать печть счета через отчет прязаный к счету через IFRAME! открывать нужно .rdl файлы правиьно! Если выполнить все инструкции в документации, то все будит ок! Кстати попробуй открывать и редактировать через Visual Stidio 2003 + Reports services 2003 (он идет вмести с диском MS CRM 3.0 Server)!
__________________
Быть в курсе всего первым - значит быть Первым! |
|
|
За это сообщение автора поблагодарили: natterru (1). |
26.02.2007, 08:10 | #5 |
Участник
|
Создавал в Visual Studio 2003 новый проект - отчет (Report Services 2000)
добавлял новое подключение (не shared) к базе your_org_MSCRM ну и далее по надобности select InvoiceNumber, TotalAmount, CreatedOn, CustomerIdName, OwnerIdName from FilteredInvoice AS CRMAF_FilteredInvoice Ну а в саму печатную форму рисуете сами в VS После файл rdl проекта - отчет, добавляете в CRM Главное префикс - CRMAF_ Если использовать его, а потом отчет в Crm связывать с объектом счет, и показывать только для формы счета, то CRM сама отфильтрует нужный счет. Т.е. потом из формы конкретного счета запускаете этот отчет и он показывает данные только по нему. Это все относится к 2003 VS и SRS 2000 Последний раз редактировалось sam; 27.02.2007 в 14:09. |
|
|
За это сообщение автора поблагодарили: natterru (1). |
27.02.2007, 11:43 | #6 |
Moderator
|
Коллеги,
давайте будем корректны - Reporting Services 2003 не существует Есть либо 2000, либо 2005 |
|
|
За это сообщение автора поблагодарили: natterru (1). |
17.03.2008, 09:50 | #7 |
Участник
|
Печатные формы
Цитата:
Сообщение от sam
Создавал в Visual Studio 2003 новый проект - отчет (Report Services 2000)
добавлял новое подключение (не shared) к базе your_org_MSCRM ну и далее по надобности select InvoiceNumber, TotalAmount, CreatedOn, CustomerIdName, OwnerIdName from FilteredInvoice AS CRMAF_FilteredInvoice Ну а в саму печатную форму рисуете сами в VS После файл rdl проекта - отчет, добавляете в CRM Главное префикс - CRMAF_ Если использовать его, а потом отчет в Crm связывать с объектом счет, и показывать только для формы счета, то CRM сама отфильтрует нужный счет. Т.е. потом из формы конкретного счета запускаете этот отчет и он показывает данные только по нему. Это все относится к 2003 VS и SRS 2000 |
|
27.02.2007, 14:09 | #8 |
Участник
|
Ой, исправил.
|
|
28.02.2007, 19:14 | #9 |
Участник
|
Спасибо за ответы!
Совсем простой вопрос по отчетам: Есть в таблице отчета список клиентов которым оказываются услуги по предложению, sql datasourse: X++: SELECT ContactBase.BirthDate, ContactBase.FullName, ContactExtensionBase.New_interntational_passport_number FROM ContactQuotes INNER JOIN ContactBase ON ContactQuotes.ContactId = ContactBase.ContactId INNER JOIN ContactExtensionBase ON ContactQuotes.ContactId = ContactExtensionBase.ContactId WHERE (ContactQuotes.QuoteId = @CRM_QuoteId) |
|
01.03.2007, 05:56 | #10 |
Участник
|
Есть функция RowNumber, добавляете столбец и в свойствах столбца - Expression пишете =RowNumber("имя_датасета")
Если нужно чтобы прямо в SQL запрос возращал пронумерованную таблицу можно что то вроде этого, но не думаю что хороший вариант: if object_id ('tempdb..#new_cont') is not null drop table #new_cont -- создаем временную таблицу, с вашими полями и пронумерованным столбцом SELECT -- нумеруем столбец identity (int, 1, 1) as [id_num], -- ваши поля Contact.BirthDate, Contact.FullName, Contact.New_interntational_passport_number INTO #new_cont FROM ContactQuotes INNER JOIN FilteredContact Contact ON ContactQuotes.ContactId = Contact.ContactId WHERE (ContactQuotes.QuoteId = @CRM_QuoteId) -- делаем из нее выборку select * from #new_cont if object_id ('tempdb..#new_cont') is not null drop table #new_cont Кстати для выборки используйте FilteredViews а не таблицы. |
|
01.03.2007, 11:39 | #11 |
Участник
|
FilteredViews - Это что то типа набора кэшированных таблиц, которые создает report services и там есть все поля связанные в данном случае по QuoteId?
А где об этом можно почитать? Почти все курсы MOC по CRM мне доступны. Спасибо! |
|
01.03.2007, 12:06 | #12 |
Участник
|
В базе данных CRM - ваша_организация_MSCRM содержатся таблицы
а также вьюхи, лучше использовать последние т.к. во первых автоматически проверяются права доступа, а во вторых туда подставляются строковые значения пиклистов |
|
07.05.2007, 10:40 | #13 |
Moderator
|
Маленький комментарий:
В базе CRM 3.0 существуют и стандартные представления (view) и т.н. Filtered View. Стандартные представления объединяют данные для вывода (т.к. в общем случае, информация для каждой сущности хранится в 2-х таблицах), подставляет значения пиклистов и т.д. Задача Filtered View - "отфильтровать" доступ, т.е. дать пользователю, который работает с данынм представлением только ту информацию, к которой он имеет доступ. Именно, поэтому следует все отчеты создавать с использованием Filtered View (имеют префикс Filtered). |
|