For a certain transaction structure the GUI does not show all transactions that occurred.

Perform the following transaction structure to reproduce the bug:

Input: Any owned coins
Output 1: Address not owned by the wallet
Output 2: Address owned by the wallet (generated using the receive payment feature, so it's not a change address)

So there is a payment to someone else and a payment to self. The payment to self is missing in the GUI. Normally, the GUI does list payments to self.

`listtransactions` lists 3 transactions here: The send to the foreign address and a send/receive pair for the payment to self. I don't know if this is correct. I'm mentioning this so that the devs can make sure this is intended.

See transaction `5299f198919d6bd5b9f6d7a5f256b23417cb49ea663828f51cfc1b4d7e69822d` on testnet.

{
        auto tx = wallet.getTx(rec->hash);
        if (tx) {
            std::string strHex = EncodeHexTx(*tx);
            return QString::fromStdString(strHex);
        }
        return QString();
    }
};
TransactionTableModel::TransactionTableModel(const PlatformStyle *_platformStyle, WalletModel *parent):
        QAbstractTableModel(parent),
        walletModel(parent),
        priv(new TransactionTablePriv(this)),
        fProcessingQueuedTransactions(false),
        platformStyle(_platformStyle)
{
    columns << QString() << QString() << tr("Date") << tr("Type") << tr("Label") << BitcoinUnits::getAmountColumnTitle(walletModel->getOptionsModel()->getDisplayUnit());
    priv->refreshWallet(walletModel->wallet());
    connect(walletModel->getOptionsModel(), &OptionsModel::displayUnitChanged, this, &TransactionTableModel::updateDisplayUnit);
    subscribeToCoreSignals();
}
TransactionTableModel::~TransactionTableModel()
{
    unsubscribeFromCoreSignals();
    delete priv;
}
void TransactionTableModel::updateAmountColumnTitle()