AddRange với QueryBuildDataSource


22/09/2020- duocnt    786 Views    

MỤC ĐÍCH.

- Phương thức AddRange của QueryBuildDataSource trong X++ được sử dụng tương tự như mệnh đề WHERE trong câu lệnh T-SQL.


CÁC HÌNH THỨC SỬ DỤNG.

  1. AddRange với  Enum.
  2. AddRange với điều khiện không empty.
  3. AddRange với điều kiện như Like trong T-SQL.
  4. AddRange với điều kiện FromDate ToDate.

CODE X++.

1 - AddRange với  Enum.

 _queryBuildDataSource.addRange(fieldNum(ProductInternalTransferBookHeader,Posted))
                                        .value(queryValue(NoYes::No));


2 - AddRange với điều khiện không empty.

 _queryBuildDataSource.addRange(fieldNum(LogisticsElectronicAddress,Locator))
                                        .value(SysQuery::valueNotEmptyString());


3 - AddRange với điều kiện như Like trong T-SQL.

 _queryBuildDataSource.addRange(fieldNum(LogisticsElectronicAddress,Locator))
                                        .value(SysQuery::valueLike("*@*"));


4 - AddRange với điều kiện FromDate ToDate.

        QueryBuildDataSource  qbdsSubTask;
        qbdsTask = query.addDataSource(tableNum(Task));
        qbdsTask.unionType(UnionType::UnionAll); //Include duplicate records
        qbdsTask.fields().dynamic(false);
        qbdsTask.fields().clearFieldList();
        qbdsTask.fields().addField(fieldNum(Task, TaskId));
        qbdsTask.fields().addField(fieldNum(Task, taskname));
        qbdsTask.fields().addField(fieldNum(Task, startdate));
        qbdsTask.fields().addField(fieldNum(Task, enddate));
        qbdsTask.fields().addField(fieldNum(Task, TaskId));
        qbdsSubTask.addRange(fieldNum(Task,EndDate)).value(queryRange(_fromdate,_todate));

Góp ý kiến

;
;