|  28.07.2006, 11:36 | #1 | 
| Участник | Построение Report'а по Map'ам 
			
			Добрый день! Подскажите, плиз - хочется построить отчёт, у которого два DataSource - грубо говоря, Table и Trans, которые являются Map'ми. Не получается указать при инициализации отчёта - на какую конкретно таблицу (входяющую в Mappings) этим Map'ам смотреть. Буду очень признателен за советы!
		 
				__________________ Paul_ST | 
|  | 
|  28.07.2006, 12:42 | #2 | 
| Модератор | 
			
			Мар - это, скорее, ближе к темповой таблице. Там нет данных. Это логическое объединение. Поэтому и построить отчет будет хм... затруднительно. Мой совет: используйте 2 разных отчета. Или 2 разных дизайна одного и того же отчета. С Уважением, Георгий | 
|  | 
|  28.07.2006, 12:51 | #3 | 
| Участник | 
			
			Два разных отчёта изначально и были сделаны. Сейчас хочется единообразия, потому что в случае правок дизайна - придётся дублировать изменения. Я нашёл в стандартном функционале пример работы отчёта (CustInvoiceJourRegister_LT) по Map (CustVendInvoiceJour). В init() там прописана инициализация: this.queryRun().setCursor(custVendInvoiceJourRegisterReport.custVendInvoiceJour()); - т.е. задаётся курсор (map), который уже инициализирован в классе. У меня почему-то подобное не проходит - пытаяьс сделать аналогично - проселектив нужную табличку в отдельном методе - при передаче её как map в setCursor() получаю ошибку - "Неправильные аргументы". Пока ничего не могу понять. 
				__________________ Paul_ST | 
|  | 
|  28.07.2006, 13:22 | #4 | 
| Участник | Цитата: 
		
			Сообщение от Paul_ST
			
			 Два разных отчёта изначально и были сделаны. Сейчас хочется единообразия, потому что в случае правок дизайна - придётся дублировать изменения. Я нашёл в стандартном функционале пример работы отчёта (CustInvoiceJourRegister_LT) по Map (CustVendInvoiceJour). В init() там прописана инициализация: this.queryRun().setCursor(custVendInvoiceJourRegisterReport.custVendInvoiceJour()); - т.е. задаётся курсор (map), который уже инициализирован в классе. У меня почему-то подобное не проходит - пытаяьс сделать аналогично - проселектив нужную табличку в отдельном методе - при передаче её как map в setCursor() получаю ошибку - "Неправильные аргументы". Пока ничего не могу понять.  У меня нет ни класса такого, ни отчета.  А по делу - так скорей всего метод custVendinvoiceJour возвращает MAP, а вы пытаетесь туда запихнуть таблицу. | 
|  | 
|  28.07.2006, 13:34 | #5 | 
| Участник | 
			
			Ну т.е. - склониться в сторону двух отдельных отчётов?   По поводу последнего - передаю я, естественно map, который присваивается предварительно нужной таблицей. Если присвоения не делать, то всё хорошо - ошибки нет, но и данных никаких отчёт не выведет. 
				__________________ Paul_ST | 
|  | 
|  28.07.2006, 13:34 | #6 | 
| Участник | 
			
			Отчёт и класс у меня точно есть в АОТ. Axapta 3.0 SP4
		 
				__________________ Paul_ST | 
|  | 
|  28.07.2006, 13:53 | #7 | 
| MCTS | 
			
			Есть... Есть такой отчёт. Changed by Vaus каким-то 
				__________________  В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню | 
|  | 
|  28.07.2006, 14:00 | #8 | 
| Microsoft Dynamics | 
			
			Столкнулась с той же проблемой, но в 4ке. Ниасилила. Все вроде чики-пики и логично, но когда вытаскиваешь квериран из квери, он пустой. Ввиду отсутствия времени было сделано в итоге 2 отчета на соответствующие таблицы  , хотя до этого ковырялась в этом долго. И стандартных отчетов на мапе не нашла, даже сделала джобу, которая по аот проходится и находит все такие. И отчета с классом в сп4 и сп5 у меня нету... | 
|  | 
|  28.07.2006, 14:46 | #9 | 
| NavAx | Цитата: 
		
			Сообщение от Paul_ST
			
			 Два разных отчёта изначально и были сделаны. Сейчас хочется единообразия, потому что в случае правок дизайна - придётся дублировать изменения. Я нашёл в стандартном функционале пример работы отчёта (CustInvoiceJourRegister_LT) по Map (CustVendInvoiceJour). В init() там прописана инициализация: this.queryRun().setCursor(custVendInvoiceJourRegisterReport.custVendInvoiceJour()); - т.е. задаётся курсор (map), который уже инициализирован в классе. У меня почему-то подобное не проходит - пытаяьс сделать аналогично - проселектив нужную табличку в отдельном методе - при передаче её как map в setCursor() получаю ошибку - "Неправильные аргументы". Пока ничего не могу понять. PHP код: 
			 | 
|  | 
|  28.07.2006, 16:42 | #10 | 
| Участник | 
			
			Да, кстати, код этого метода я вытаскивал. Т.е. это окончательный аргумент в пользу того, что в данном случае Map работает наподобие временной таблицы и просто указать ему из какой таблицы выводить данные нельзя? 
				__________________ Paul_ST | 
|  | 
|  28.07.2006, 16:49 | #11 | 
| NavAx | 
			
			Где именно этот аргумент?
		 | 
|  | 
|  28.07.2006, 18:21 | #12 | 
| Banned | 
			
			Хотел бы всех огорчить. Гибкий Query сделать можно, но только что это даст? Поля отчета имеют два ключевых свойства 'Table' и 'Datafield', причем первый мап'ы не принимает. Это значит, что все поля такого отчета придется делать "дисплейными". Не уверен, что это сбережет время.
		 | 
|  | 
|  28.07.2006, 20:14 | #13 | 
| Banned | 
			
			Поправлю себя: сделать можно. Надо использовать SectionTemplate.
		 | 
|  | 
|  31.07.2006, 07:37 | #14 | 
| Участник | 
			
			Фактически аргумент в том, что в коде класса СustVendInvoiceJourRegisterReport в map'у вставляются строки. Map затем передаётся в report CustInvoiceJourRegister_LT. Именно этот map и используется как DataSource для этого отчёта
		 
				__________________ Paul_ST | 
|  |