jueves, 7 de marzo de 2013

Ax 2012 LookUp Multi select ssrs

////////////////////Contract

[
DataContractAttribute,
SysOperationContractProcessingAttribute(classstr(GsCobranzaPonderadosUIBuilder))

]
Public class GsCobranzaPonderadosContract
{
    Str1260    Division;
    Str1260    Sucursal;
}


////////////////////////////////////////

 [

    DataMemberAttribute('Division'),

   // AifCollectionTypeAttribute('Division', Types::String),

    SysOperationLabelAttribute("Division")

]
public Str1260 parmDivision(Str1260 _disivion=division)
{
   Division=strReplace(_disivion,";",",");

    return Division;
}

/////////////////////////////////////////////

[

    DataMemberAttribute('Sucursal'),

  // AifCollectionTypeAttribute('Sucursal', Types::String),

    SysOperationLabelAttribute("Sucursal")

]
public Str1260 parmSucursal(Str1260 _Sucursal=Sucursal)
{
   Sucursal=strReplace(_Sucursal,";",",");

    return Sucursal;
}

/////////////////////////////////UIBuilder

class GsCobranzaPonderadosUIBuilder  extends SysOperationAutomaticUIBuilder
{
    DialogField                   DivisionC;
    DialogField                   SucursalC;

   // DialogField                   AccountNum;

    FormRun fr;
    GsCobranzaPonderadosContract contract;
}

 /////////////////////////////////////////////77

public void Divisionlookup(FormStringControl accountNumLookup)///division

{
  //  Object control = dialog.formRun().controlCallingMethod();

    Query query = new Query(queryStr(GsLookUpDivisionViewQ));

    container   cnt;
    ;
    SysLookupMultiSelectGrid::lookup(query, accountNumLookup, accountNumLookup, cnt);

}


/////////////////////////////////77

public void Sucursallookup(FormStringControl accountNumLookup)///division

{


    Query query = new Query(queryStr(GsLookUpSucursalViewQ));

    container   cnt;
    ;
    SysLookupMultiSelectGrid::lookup(query, accountNumLookup, accountNumLookup, cnt);

}



////////////////////////////

public void postRun()
{
    str nombre;
    FormDesign fd;
     DialogField dialogField;
    DialogField dialogFieldS;
    ;
     contract = this.dataContractObject();

    super();

     dialog.dialogForm().formRun().controlMethodOverload(false);

     dialogField = this.bindInfo().getDialogField(this.dataContractObject(), methodstr(GsCobranzaPonderadosContract, parmDivision));
     dialogField.lookupButton(2);
     dialogField.registerOverrideMethod(methodstr(FormStringControl, lookup), methodstr(GsCobranzaPonderadosUIBuilder,  Divisionlookup), this);


     dialogFieldS = this.bindInfo().getDialogField(this.dataContractObject(), methodstr(GsCobranzaPonderadosContract, parmSucursal));
     dialogFieldS.lookupButton(2);
     dialogFieldS.registerOverrideMethod(methodstr(FormStringControl, lookup), methodstr(GsCobranzaPonderadosUIBuilder,  Sucursallookup), this);

    //AccountNum.registerOverrideMethod(methodstr(FormStringControl, lookup), methodstr(GsCobranzaPonderadosUIBuilder,  Divisionlookup), this);
    // dialog.dialogForm().formRun().controlMethodOverloadObject(this);



}
////////////////////////////////////////////

public void getFromDialog()

{
     contract = this.dataContractObject();


    super();

   // contract.parmDivision();
    //contract.parmSucursal();


}
/////////////////////////////////////////////7

public void initializeFields()

{

 contract = this.dataContractObject();

}



//////////////////////////////////DP
 [
  SRSReportQueryAttribute('GsCobranzaPonCustTransCustSettlement'),
   SRSReportParameterAttribute(classStr(GsCobranzaPonderadosContract))
  ]
class GsCobranzaPonderadosDP  extends SRSReportDataProviderBase
{

    GsCobranzaPonderadosTMP GsCobranzaPonderadosTMP;
}

Ya lo demas es lo mismo de un reporte normal processReport,etc..........