Hi

Your problem might relate to the multiple use of
addRange()(not within findInvoice(), but between class
calls). Try findRange() before adding ranges:

QueryBuildRange        qbrTransporterId;
QueryBuildDataSource   qbds;
;
qbds             = reportRun.query().                

                   dataSourceNo(1);
qbrTransporterId = qbds.findRange(fieldnum(
                   CSM_CustPickingList_TBL,
                   CSM_TransporterId));

//Check if range already exists
if (!qbrTransporterId)
{
    //add only if non existent
    qbrTransporterId = qbds.addRange(fieldnum
                       (CSM_CustPickingList_TBL,
                        CSM_TransporterId));
}

//always set value
qbrTransporterId.value(queryvalue(_TransporterId));

//etc...

Best regards
Steffan Engholm

--- d_decider <[EMAIL PROTECTED]> wrote:
> hi
>
> im new to axapta n need some help regarding
> report...
>
> basically ive almost done the report, the only
> problem that i have is
> that when i use the addRange method...
>
> i hav a class that extends runbasebatch. In the
> dialog, the user can
> specify 2 criterias, the shipment date n transporter
> id which i will
> use them as the range
>
> below is the code that i write for populating the
> data i need n use
> the report run to run the report...
>
> public void findInvoice()
> {
>     ReportRun                       reportRun;
>     CSM_PickingListTemp           
> _CSM_PickingListTemp;
>     Args                            args = new
> args();
>     ;
>
>     //populate data base on shipmentdate n
> transporter id
>     CSM_PopulateData::PopulateInvoice(_ShipmentDate,
> _TransporterId);
>
>     args.name(reportstr(CSM_PackingListRep));
>
>     reportRun = classFactory.ReportRunClass(args);
>
>     //i want to add 2 ranges, the transporterid n
> shipmentdate I
>     //already taken it from the getFromDialog.
>   
> reportRun.query().dataSourceNo(1).addRange(fieldnum
> (CSM_CustPickingList_TBL,
> CSM_TransporterId)).value(queryvalue
> (_TransporterId));
>   
> reportRun.query().dataSourceNo(1).addRange(fieldNum
> (CSM_CustPickingList_TBL,
> CSM_ShipmentDate)).value(queryvalue
> (_ShipmentDate));
>
>     reportRun.run();
> }
>
> my problem is, in the dialog where we can specify
> the range, print
> settings n etc, it always shows the previousely used
> query... which
> it will use back the original ranges... how can i
> overcome this so
> that it will always taking the ranges specified by
> the user? i cannot
> let the user to everytime change the previousely
> used query to Query
> Used because if i can set the range thru the code
> above, then i will
> not prompt user the dialog to change the ranges n
> other settings,
> which is my main objective.
>
>


__________________________________
Do you Yahoo!?
Yahoo! Small Business $15K Web Design Giveaway
http://promotions.yahoo.com/design_giveaway/

Yahoo! Groups Sponsor
ADVERTISEMENT
click here


Yahoo! Groups Links

Reply via email to