|
24.04.2008, 16:25 | #1 |
Участник
|
А с какого типа данных на какой ты поменял? И что за поле?
Если отчёт стандартный, то вместе со сменой типа данных надо было обновить тип контрола в дизайне отчёта. Попробуй почитать доступные книги по Аксапте, например, купить книгу по программированию Алексея Еременко или найти в сети книгу MorphX IT, автор Steen Adreasen.
__________________
Умные тоже наступают на грабли, но только для того, чтобы поднять их с земли не нагибаясь. |
|
25.04.2008, 06:35 | #2 |
совсем зелен
|
таблица CustTrans...поле RContractAccount...тип был RContractAccountActive...я сделал просто текст и настроил релэшин с RContractCode ит так далее...в общем что бы у меня в этой таблице выпадал список договоров только данного клиента и только по данной группе договоров...это позволилов отчете который я передалал в фильтрах по кнопке выбрать не писать номер договора ручками а выбирать из выпадающего списка...старые значения которые уже были в таблице не обнулились естественное но отчет их и не видел пока я просто не зашел в таблицу и не перевыбрал эти договора...затем я в классе поменял как писал выше с группировки по счету на группировку по этим самым договорам...естественное поменял типы в мапе CustVendTrans...все стало работать как положено за исключением такого варианта когда обороты по дебету и обороты по кредиту равны...сальдо на начало и сальдо на конец =0...в данном случае выводится номер договора но не выводятся цифры...вот такая вот история...
в моем отчете который я написал сам по этой же таблице тоесть не через мап и классы...с запросом в самом отчете...все видит все вытаскивает... |
|
25.04.2008, 09:25 | #3 |
Участник
|
Цитата:
И что значит настроил relation. От куда куда, на чём. Детали не нужно упускать. Опять спешите. |
|
25.04.2008, 09:40 | #4 |
Участник
|
Так там и так всё настроено.
|
|
25.04.2008, 09:30 | #5 |
совсем зелен
|
Цитата:
Что такое просто текст.
настроил релешины между CustTrans и RContractTable... |
|
25.04.2008, 09:35 | #6 |
совсем зелен
|
CustTrans.RContractCode == RContractTable.RContractCode
1 == RContractTable.RContractStatus 0 == RContractTable.RContractPartnerType CustTrans.AccountNum == RContractTable.RContractPartnerCode CustTrans.RContractAccount == RContractTable.RContractAccount |
|
25.04.2008, 09:44 | #7 |
совсем зелен
|
хз...не было...поэтому и разбирался как это делается и в итоге сделал...
|
|
25.04.2008, 09:59 | #8 |
Участник
|
Вообще дело помойму не в этом.
Раз вы решили сделать новый отчёт который группирует не по счетам, а по договорам. Вам нужно было сделать новый класс или два по аналогии с RCustVendTurnoverHolder_Cust и RCustVendTurnoverHolder. Может отнаследоваться удастся. Надо смотреть какой запрос формируется в createQuery. info(q.dataSourceNo(1).toString()); На сколько он отличается от того что вам нужно. Найти места где эти отличия формируются удастся отнаследоваться ок. Если много методов перекрывать, то лучше уж новый сделать. Вообщем старое целиком оставить. Пусть будет. Может потом будет нужен и старый вариант и новый. Контролируйте запросы. Поймите их. Если нужно считайте с них данные на промежуточных стадиях. Не знаете как, спросите. |
|
25.04.2008, 10:02 | #9 |
совсем зелен
|
дык в том и проблема что запрос RCustVendTurnoverHolder все отрабатывает все суммы попадают...все нормально...но патом все передается в класс RHolderDataи из него уже приходит не все...а что в нем происходит мне не понятно...вообще понять не могу как работают эти контейнеры и так далее...
|
|
25.04.2008, 10:09 | #10 |
Участник
|
Цитата:
Сообщение от V777
дык в том и проблема что запрос RCustVendTurnoverHolder все отрабатывает все суммы попадают...все нормально...но патом все передается в класс RHolderDataи из него уже приходит не все...а что в нем происходит мне не понятно...вообще понять не могу как работают эти контейнеры и так далее...
Контэйнер всегда в отладчике просмотреть можно. Так что с контэйнерами обычно проблем не возникает. По смотрите в книге операции с контэйнерами и map-ми. Потратьте 15-20 минут и сразу яснее станет. |
|
25.04.2008, 10:17 | #11 |
совсем зелен
|
дык прочитал...с мапом вроди все понятно с котейнерами пока не дошло...нада еще раз перечитать...в мапе паминги на номер договора есть в запросе в мап номеры договоров попадают там все путем...
|
|
25.04.2008, 10:25 | #12 |
Участник
|
Цитата:
Цитата:
[inBalanceDebit,
inBalanceCredit, periodBalanceDebit, periodBalanceCredit, outBalanceDebit, outBalanceCredit] = it.value(); Заметьте в Axapte есть мар-ы которые в AOT лежат и класс Map. Разные вещи. В этот map кладут по два значения map = new Map(Types::CONTAINER, _valueTypes); хорошее место для точки останова. map.insert(_key, _value); Судя по всему 1-ый контэйнер с расчитанными величинами, а второй это величина по которой группировка идёт. Наверное договор. |
|
25.04.2008, 10:33 | #13 |
совсем зелен
|
ставил я там точку останова...как раз тут уже нули выходят тоесть
periodBalanceDebit и periodBalanceCredit равны нулю... |
|
25.04.2008, 10:37 | #14 |
Участник
|
Цитата:
RCustVendTurnoverHolder\calculate все расчёты идут тут. Смотрите какой запрос получился. У вас как с sql-м? По тексту запроса можете понять что на выходе. |
|
25.04.2008, 10:42 | #15 |
совсем зелен
|
для начала не вы а ты...а то чет меня это напрягать начинает...
с скл работал очень и очень мало (1С размягчает мозг) поэтому не могу сказать что хорошо...прийдется наверстывать упущенное... в RCustVendTurnoverHolder\calculate как раз таки попадают все нужные суммы... |
|
25.04.2008, 10:55 | #16 |
Участник
|
Цитата:
И поиграй пару дней с sql-м. Запросы надо пинимать за секунды. Иначе сложно что-то сделать, а вот испортить легко. Есть какая-то книга по sql там страниц 100 такая тонкая в мягкой обложке. Что-то вроде освой за 24 часа. Очень хорошо изложено и понятно. В стиле запрос - таблица результатов, другой запрос - другая таблица результатов. А запросы можно и в job-ах Axapt-овских писать просто не все конструкции Axapta поддерживает. Чтоб руку и глаз набить. |
|
25.04.2008, 10:56 | #17 |
совсем зелен
|
ну я бы не сказал что мне не понятно что происходит RCustVendTurnoverHolder..,
|
|
25.04.2008, 11:03 | #18 |
Участник
|
Цитата:
Класс создан ради единственной цели в new закинуть входные параметры для будущего запроса, в calculate сформировать этот запрос снять данные и результат группировок и ограничевающих условий закинуть в map и через метод getMapBuff получить реультат. Ну это упращённо. |
|
25.04.2008, 11:04 | #19 |
совсем зелен
|
ну эт понятно...в мап все цифры попадают...
|
|
25.04.2008, 11:16 | #20 |
Участник
|
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Вызов метода базового класса | 15 | |||
Переменные в наследнике класса | 32 | |||
Вызов класса из другого класса | 9 | |||
передача курсора в два класса | 3 | |||
Запустить метод класса | 2 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|