В отчете не отображаются данные - PullRequest
0 голосов
/ 27 марта 2020

Я работаю над D365FO. Я создал отчет и добавил в набор данных запрос, основанный на таблице tmp. Теперь, когда я пытаюсь сгенерировать отчет, я получаю только точность дизайна. В нем нет данных. Как я могу это исправить ? Я думаю, что это проблема где-то вне моего кода, потому что я попытался сгенерировать уже созданный отчет, и у меня возникла та же проблема.

[SrsReportParameterAttribute(classStr(ProductionStatusContract))]
class ProductionStatusDP extends SrsReportDataProviderBase
{
ProductionStatusTmp ProductionStatusTmp;
ProdTable prodtable;
SalesTable salestable;
InventDim inventdim;
SalesLine salesline;

public void processReport()
{
    ProductionStatusContract                    contract            = this.parmDataContract() as 
ProductionStatusContract;
    date                                        FromDate;
    date                                        ToDate;
    boolean                                     DateBetween         = false;

    if(contract.parmToDate() && contract.parmFromDate())
    {
        ToDate = contract.parmToDate();
        FromDate = contract.parmFromDate();
        DateBetween = true;
    }

    super();

    delete_from ProductionStatusTmp;
    ProductionStatusTmp.clear();

    while select prodtable where prodtable.CollectRefLevel == 0 
       join inventdim where prodtable.InventDimId == inventdim.inventDimId
        join salesline where prodtable.InventRefType == salesline.InventRefType
        && prodtable.InventRefId == salesline.SalesId
        && prodtable.InventRefTransId == salesline.InventTransId
        && prodtable.InventRefType == inventreftype::Sales

    {

        ProductionStatusTmp.clear();
        Info(strFmt("%1", prodtable.ProdId));
        ProductionStatusTmp.AcceptedDate = prodtable.CreatedDateTime;
        ProductionStatusTmp.ProdWeek = wkOfYr(prodtable.CreatedDateTime) + year(prodtable.CreatedDateTime);
        ProductionStatusTmp.ExternalNum = salesline.ExternalItemId;
        ProductionStatusTmp.Progress = ((prodtable.qtycalc * 100) / prodtable.QtySched);
        ProductionStatusTmp.Quantity = prodtable.QtyCalc;
        ProductionStatusTmp.AcceptedBy = prodtable.CreatedBy;
        ProductionStatusTmp.ProdItemId = InventDim.InventLocationId;
        ProductionStatusTmp.Ware = prodtable.Name;
        ProductionStatusTmp.ProductionStatus = prodtable.ProdStatus;
        ProductionStatusTmp.Produced = prodtable.QtySched;

        ProductionStatusTmp.insert();

    }
}

[SrsReportDataSetAttribute(tableStr(ProductionStatusTmp))]
public ProductionStatusTmp getProductionStatusTmp()
{

    select ProductionStatusTmp;
    return ProductionStatusTmp;

}
}

1 Ответ

0 голосов
/ 27 марта 2020

Вам нужно будет убедиться, что ваш отчет действительно отображает данные, которые вы предоставляете.

Вы можете сделать это, предоставив фиксированные данные c поставщику данных, чтобы увидеть, отображается ли он в отчете SSRS. Предварительный просмотр.

См. это видео , чтобы узнать, как это сделать.

...