Что лучший способ состоит в том, чтобы распечатать столбцы от различных таблиц на той же строке с помощью инструмента создания отчетов Axapta?

Возможно, я ошибаюсь, но два отношения принадлежат для меня ничего не значат ... Вот что я бы сделал вместо этого:

В KartParticipation.json:

"clientParticipation": {  //starts the included relation with a lowerCase might be best practice, tho
      "type": "belongsTo",
      "model": "ClientParticipation",
      "foreignKey": "" //you don't need to precise a custom foreign if you use the classic one (easiest to read, imo)
    }

В ClientParticipation.json:

"kartParticipation": {
      "type": "hasOne",
      "model": "KartParticipation",
      "foreignKey": ""
    }

Затем, чтобы добавить отношение:

ClientParticipation.findOne({where: {id: 'your_id'}}, function (err, clientParticipation) {
                if (err)
                    return cb(err, null);

                if (clientParticipation && clientParticipation.id) {
                    var newKartParticipation = {'object_with': 'your_datas'};
                    clientParticipation.kartParticipation.add(newKartParticipation); // this is the code you were seeking, tho
                }
            });

Наконец, вы можете проверить, существует ли отношение, запросив

[113 ]

или программно:

ClientParticipation.findOne({where: {id: 'your_id'}, include : 'kartParticipation'}, function (err, clientParticipation) {
    console.log(clientParticipation.kartParticipation);
});
5
задан Jay Hofacker 17 July 2009 в 16:07
поделиться

1 ответ

Должно быть возможно сделать это, существует несколько отчетов в основной системе, которые прокладывают себе путь. Посмотрите на отчет SalesContractShipment в 4,0 как пример.

На Вашем отчете создайте источник данных для SalesLine, и под этим создают источник данных каждый для InventTable и CustTable. На InventTable и CustTable, удостоверьтесь, что FetchMode установлен на 1:1. При создании пользовательского метода выборки удостоверьтесь, что Вы звоните, отправляют () в правильном порядке. Необходимо отправить CustTable сначала, затем InventTable, затем SalesLine в последний раз. На дизайне отчета создайте уединенное тело для SalesLine. Необходимо затем смочь использовать поля от любой из этих трех таблиц в том теле.

Если Вы все еще испытываете затруднения, я могу думать два, работают arounds. Нужно создать представление на основе тех трех таблиц и создать отчет на основе того представления. Другой должен создать отчет на основе SalesLine и использовать displayMethods для поиска любые поля, в которых Вы нуждаетесь от InventTable или CustTable.

4
ответ дан 14 December 2019 в 13:51
поделиться