Источник:
http://axaptacorner.blogspot.com/201...s-on-form.html
==============
Method on Form button click:
Table:pocVehicle
Class:POCVehicleMasterClass
ManuItem:POCVehicleMasterClass
void clicked()
{
MenuFunction mf;
//POCVehicle pocVehicle;
Args args=new Args();
;
args.record(pocVehicle);
mf= new MenuFunction(identifierStr(POCVehicleMasterClass), MenuItemType::Action);
mf.run(args);
}
Methods on Class POCVehicleMasterClass :
Public static void main(Args _args)
{
POCVehicle pocVehicle;
POCVehicleMasterClass myClass;
FormDataSource formdatasource;
Common common;
;
myClass= new POCVehicleMasterClass();
if(_args.record().TableId==tableNum(POCVehicle))
{
//Buffer selected records
common=_args.record();
//formdatasource=_args.record().dataSource();
//Records datasource
formdatasource=common.dataSource();
//Passing parameter to class
myClass.UpdateRecord(formdatasource,_args);
}
}
Public void UpdateRecord(FormDataSource datasource, Args args)
{
POCVehicle pocvehicle;
FormDataSource formDataSource;
int recordCount, recorUpdated;
;
formDataSource= datasource;
//Count selected records
RecordCount= formDataSource.recordsMarked().lastIndex();
recorUpdated=0;
//Update all records
for(pocvehicle=formDataSource.getFirst(true)? formDataSource.getFirst(true): formDataSource.cursor() ; pocvehicle ;pocvehicle=formDataSource.getNext())
{
ttsBegin;
pocvehicle.Insurence= NoYes::No;
pocvehicle.update();
ttsCommit;
recorUpdated++;
}
//Refresh caller form datasource with same pointer
formDataSource.research(true);
info(strFmt('%1 records selected and %2 records updated ', RecordCount,recorUpdated));
}
Источник:
http://axaptacorner.blogspot.com/201...s-on-form.html