13.03.2012, 16:43 | #1 |
Участник
|
Запрос к Cust и Vend Trans на разных базах
Здравствуйте уважаемые участники форума!
Суть проблемы с которой столкнулся: Написал отчёт который бегает по CustTrans и VendTrans, отбирает открытые проводки по профилю разноски (поле LedgerAccount). Разработку и тестирование отчета проводил на тестовой базе, всё прошло ОК! Перенес на рабочую (импорт/экспорт) и поведение отчета изменилось, выбирает открытые проводки, не фильтруя по заданному в диалоге значению профиля разноски! Может кто сталкивался с подобным??? На всякий случай ниже текст запроса для CustTrans: X++: qbds = query.addDataSource(tablenum(CustTrans)); qbds.addRange(fieldnum(CustTrans, LedgerAccount)).value(LedgerAccount); qbds.addRange(fieldnum(CustTrans, TransDate)).value(strfmt("..%1", reportDate)); qbds.addSortField(fieldnum(CustTrans, AccountNum), sortorder::Ascending); qbds2 = qbds.addDataSource(tablenum(CustTransOpen)); qbds2.joinMode(joinmode::ExistsJoin); qbds2.relations(true); Структура этих таблиц на тестовой и рабочей базе одинакова. Ax 3.0 SP5 FP2 Спасибо! |
|
13.03.2012, 16:55 | #2 |
Участник
|
Насколько я в курсе, провиль разноски - это поле PostingProfile. А поля с именем LedgerAccount в таблицах CustTrans и VendTrans - не существует. Имею в виду, в стандарте не существует. Вероятно, это Ваша доработка. Поэтому убедитесь, что это поле есть как в тестовой, так и в рабочей базе.
Кроме того, если поле закрыто Security Key, то, кажется в итоговый запрос оно не добавляется. Т.е. проверьте права на это поле в тестовой и рабочей Axapta.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
13.03.2012, 17:10 | #3 |
Участник
|
У нас поле LedgerAccount и PostingProfile означают одно и тоже. т.е. профиль разноски и бухгалтерский счет равны.
А вот, про права вашу теорию нужно будет проверить. Спасибо! |
|
13.03.2012, 17:19 | #4 |
Участник
|
Вы написали про фильтр, задаваемый в диалоге. У вас корректно обрабатывается эта ситуация? Возможно, ошибка в работе с предыдущим сохраненным значением фильтра? В тесте работает при указании разных фильтров в диалоге?
__________________
Ivanhoe as is.. |
|
13.03.2012, 17:20 | #5 |
Участник
|
Только что проверил, права в порядке. Да и тестовая база является полной копией рабочей, включая права и настройки и всё всё!
|
|
13.03.2012, 20:11 | #6 |
Developer
|
Проверте значения (Value) фильтров (Report\Data Sources\Query\Data Sources\Table\Ranges\Field)
AX 3 не всегда корректно экспортирует/импортирует значения фильтров. Подробности уже не помню. |
|
13.03.2012, 20:41 | #7 |
Участник
|
Кстати, да. Процедура переноса через xpo может "сносить" некоторые настройки, сделанные через дизайнер. Не в коде. Ну, там, Range на DataSource, например.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
14.03.2012, 09:49 | #8 |
Участник
|
Добрый день! Для большей ясности немного опишу принцип работы отчёта, в стандартном диалоге 2 поля - дата и профиль разноски. Данные выводятся в Excel, с с использованием буфера. Под отладчиком смотрел текст запроса, всё ОК, т.е. в запрос передается именно тот профиль который указываем в диалоге, т.е. при указании разных профилей фильтрация корректно проходит, а на рабочей какой профиль не укажи все время одно и тоже выводит!
Спасибо! Последний раз редактировалось JuniorAx; 14.03.2012 в 10:04. |
|
14.03.2012, 10:08 | #9 |
Участник
|
Если учесть, что у автора Ax3.0, то есть предположение, что разработка велась на двухуровневой конфигурации. Рабочая версия исполняется на 3-х звенке, причем выполнение на сервере. Передача параметров между сервером и клиентом не реализована (на двухзвенке это не проявлялось, так как не было разделения на клиента и сервер).
Посмотрите, правильно ли упаковываются и распаковываются параметры (методы pack/unpack) |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
14.03.2012, 10:56 | #10 |
Участник
|
Спасибо всем участникам за ваши ответы! Вроде решил проблему.
В алгоритме у меня используются 2 временные таблицы, при импорте проекта на рабочую базу, выдавал ошибку что в раб. базе существуют другие объекты с таким ID. Я решил просто руками пересоздать эти таблицы, благо там всего по 6 полей. Видимо ошибка закралась на этом этапе! Сейчас напрямую в .xpo исправил id таблиц, импортировал - всё заработало! Теперь возник вопрос - где хранятся id объектов, и увеличит ли система его значение, если я сам впишу его для своих таблиц?? |
|
14.03.2012, 11:09 | #11 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: JuniorAx (1). |