本文整理汇总了C++中MyMoneySplit::setAccountId方法的典型用法代码示例。如果您正苦于以下问题:C++ MyMoneySplit::setAccountId方法的具体用法?C++ MyMoneySplit::setAccountId怎么用?C++ MyMoneySplit::setAccountId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MyMoneySplit
的用法示例。
在下文中一共展示了MyMoneySplit::setAccountId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testWriteXML
void MyMoneySplitTest::testWriteXML()
{
MyMoneySplit s;
s.setPayeeId("P000001");
QList<QString> tagIdList;
tagIdList << "G000001";
s.setTagIdList(tagIdList);
s.setShares(MyMoneyMoney(96379, 100));
s.setValue(MyMoneyMoney(96379, 1000));
s.setAccountId("A000076");
s.setNumber("124");
s.setBankID("SPID");
s.setAction(MyMoneySplit::ActionDeposit);
s.setReconcileFlag(MyMoneySplit::Reconciled);
QDomDocument doc("TEST");
QDomElement el = doc.createElement("SPLIT-CONTAINER");
doc.appendChild(el);
s.writeXML(doc, el);
QCOMPARE(doc.doctype().name(), QLatin1String("TEST"));
QDomElement splitContainer = doc.documentElement();
QCOMPARE(splitContainer.tagName(), QLatin1String("SPLIT-CONTAINER"));
QCOMPARE(splitContainer.childNodes().size(), 1);
QVERIFY(splitContainer.childNodes().at(0).isElement());
QDomElement split = splitContainer.childNodes().at(0).toElement();
QCOMPARE(split.tagName(), QLatin1String("SPLIT"));
QCOMPARE(split.attribute("payee"), QLatin1String("P000001"));
QCOMPARE(split.attribute("reconcileflag"), QLatin1String("2"));
QCOMPARE(split.attribute("shares"), QLatin1String("96379/100"));
QCOMPARE(split.attribute("reconciledate"), QString());
QCOMPARE(split.attribute("action"), QLatin1String("Deposit"));
QCOMPARE(split.attribute("bankid"), QLatin1String("SPID"));
QCOMPARE(split.attribute("account"), QLatin1String("A000076"));
QCOMPARE(split.attribute("number"), QLatin1String("124"));
QCOMPARE(split.attribute("value"), QLatin1String("96379/1000"));
QCOMPARE(split.attribute("memo"), QString());
QCOMPARE(split.attribute("id"), QString());
QCOMPARE(split.childNodes().size(), 1);
QVERIFY(split.childNodes().at(0).isElement());
QDomElement tag = split.childNodes().at(0).toElement();
QCOMPARE(tag.tagName(), QLatin1String("TAG"));
QCOMPARE(tag.attribute("id"), QLatin1String("G000001"));
QCOMPARE(tag.childNodes().size(), 0);
QString ref = QString(
"<!DOCTYPE TEST>\n"
"<SPLIT-CONTAINER>\n"
" <SPLIT payee=\"P000001\" reconcileflag=\"2\" shares=\"96379/100\" reconciledate=\"\" action=\"Deposit\" bankid=\"SPID\" account=\"A000076\" number=\"124\" value=\"96379/1000\" memo=\"\" id=\"\">\n"
" <TAG id=\"G000001\"/>\n"
" </SPLIT>\n"
"</SPLIT-CONTAINER>\n");
}
示例2: setPostDate
TransactionHelper::TransactionHelper( const QDate& _date, const QString& _action, MyMoneyMoney _value, const QString& _accountid, const QString& _categoryid, const QString& _currencyid, const QString& _payee )
{
// _currencyid is the currency of the transaction, and of the _value
// both the account and category can have their own currency (athough the category having
// a foreign currency is not yet supported by the program, the reports will still allow it,
// so it must be tested.)
MyMoneyFile* file = MyMoneyFile::instance();
bool haspayee = ! _payee.isEmpty();
MyMoneyPayee payeeTest = file->payeeByName(_payee);
MyMoneyFileTransaction ft;
setPostDate(_date);
QString currencyid = _currencyid;
if ( currencyid.isEmpty() )
currencyid=MyMoneyFile::instance()->baseCurrency().id();
setCommodity(currencyid);
MyMoneyMoney price;
MyMoneySplit splitLeft;
if ( haspayee )
splitLeft.setPayeeId(payeeTest.id());
splitLeft.setAction(_action);
splitLeft.setValue(-_value);
price = MyMoneyFile::instance()->price(currencyid, file->account(_accountid).currencyId(),_date).rate(file->account(_accountid).currencyId());
splitLeft.setShares(-_value * price);
splitLeft.setAccountId(_accountid);
addSplit(splitLeft);
MyMoneySplit splitRight;
if ( haspayee )
splitRight.setPayeeId(payeeTest.id());
splitRight.setAction(_action);
splitRight.setValue(_value);
price = MyMoneyFile::instance()->price(currencyid, file->account(_categoryid).currencyId(),_date).rate(file->account(_categoryid).currencyId());
splitRight.setShares(_value * price );
splitRight.setAccountId(_categoryid);
addSplit(splitRight);
MyMoneyFile::instance()->addTransaction(*this);
ft.commit();
}
示例3: testReplaceId
void MyMoneySplitTest::testReplaceId()
{
MyMoneySplit s;
bool changed;
s.setPayeeId("P000001");
s.setAccountId("A000076");
changed = s.replaceId("X0001", "Y00001");
QVERIFY(changed == false);
QVERIFY(s.payeeId() == "P000001");
QVERIFY(s.accountId() == "A000076");
changed = s.replaceId("P000002", "P000001");
QVERIFY(changed == true);
QVERIFY(s.payeeId() == "P000002");
QVERIFY(s.accountId() == "A000076");
changed = s.replaceId("A000079", "A000076");
QVERIFY(changed == true);
QVERIFY(s.payeeId() == "P000002");
QVERIFY(s.accountId() == "A000079");
QString ref_ok = QString(
"<!DOCTYPE TEST>\n"
"<SPLIT-CONTAINER>\n"
" <SPLIT payee=\"P000001\" reconciledate=\"\" shares=\"-125000/100\" action=\"Transfer\" bankid=\"A000076-2010-03-05-b6850c0-1\" number=\"\" reconcileflag=\"1\" memo=\"UMBUCHUNG\" value=\"-125000/100\" id=\"S0001\" account=\"A000076\" >\n"
" <KEYVALUEPAIRS>\n"
" <PAIR key=\"kmm-match-split\" value=\"S0002\" />\n"
" <PAIR key=\"kmm-matched-tx\" value=\"&lt;!DOCTYPE MATCH>\n"
" &lt;CONTAINER>\n"
" &lt;TRANSACTION postdate="2010-03-05" memo="UMBUCHUNG" id="" commodity="EUR" entrydate="2010-03-08" >\n"
" &lt;SPLITS>\n"
" &lt;SPLIT payee="P000010" reconciledate="" shares="125000/100" action="Transfer" bankid="" number="" reconcileflag="0" memo="UMBUCHUNG" value="125000/100" id="S0001" account="A000087" />\n"
" &lt;SPLIT payee="P000011" reconciledate="" shares="-125000/100" action="" bankid="A000076-2010-03-05-b6850c0-1" number="" reconcileflag="0" memo="UMBUCHUNG" value="-125000/100" id="S0002" account="A000076" />\n"
" &lt;/SPLITS>\n"
" &lt;KEYVALUEPAIRS>\n"
" &lt;PAIR key="Imported" value="true" />\n"
" &lt;/KEYVALUEPAIRS>\n"
" &lt;/TRANSACTION>\n"
" &lt;/CONTAINER>\n"
"\" />\n"
" <PAIR key=\"kmm-orig-memo\" value=\"\" />\n"
" </KEYVALUEPAIRS>\n"
" </SPLIT>\n"
"</SPLIT-CONTAINER>\n"
);
QDomDocument doc;
QDomElement node;
doc.setContent(ref_ok);
node = doc.documentElement().firstChild().toElement();
try {
s = MyMoneySplit(node);
QVERIFY(s.payeeId() == "P000001");
QVERIFY(s.replaceId("P2", "P1") == false);
QVERIFY(s.matchedTransaction().splits()[0].payeeId() == "P000010");
QVERIFY(s.matchedTransaction().splits()[1].payeeId() == "P000011");
QVERIFY(s.replaceId("P0010", "P000010") == true);
QVERIFY(s.matchedTransaction().splits()[0].payeeId() == "P0010");
QVERIFY(s.matchedTransaction().splits()[1].payeeId() == "P000011");
QVERIFY(s.replaceId("P0011", "P000011") == true);
QVERIFY(s.matchedTransaction().splits()[0].payeeId() == "P0010");
QVERIFY(s.matchedTransaction().splits()[1].payeeId() == "P0011");
} catch (const MyMoneyException &) {
QFAIL("Unexpected exception");
}
}