![]() |
#2 |
Member
|
Джоб
X++: static void glibs(Args _args) { TmpAccountSum tmpAccountSum1, tmpAccountSum2; Counter i; FreeText text; Counter startTime; #Define.cycles(1000) ; startTime = WinAPI::getTickCount(); for (i = 0; i <= #cycles; i++) { tmpAccountSum1.clear(); tmpAccountSum2.clear(); text = int2str(i); tmpAccountSum1.AccountNum = strrep("0", 20 - strlen(text)) + text; tmpAccountSum2.AccountNum = strrep("0", 20 - strlen(text)) + text; tmpAccountSum1.Balance01 = 999999 * 888888; tmpAccountSum2.Balance01 = 999999 * 888888; tmpAccountSum1.Balance02 = 999999 * 888888; tmpAccountSum2.Balance02 = 999999 * 888888; tmpAccountSum1.Balance03 = 999999 * 888888; tmpAccountSum2.Balance03 = 999999 * 888888; tmpAccountSum1.Balance04 = 999999 * 888888; tmpAccountSum2.Balance04 = 999999 * 888888; tmpAccountSum1.Balance05 = 999999 * 888888; tmpAccountSum2.Balance05 = 999999 * 888888; tmpAccountSum1.Balance06 = 999999 * 888888; tmpAccountSum2.Balance06 = 999999 * 888888; tmpAccountSum1.Balance07 = 999999 * 888888; tmpAccountSum2.Balance07 = 999999 * 888888; tmpAccountSum1.Balance10 = 999999 * 888888; tmpAccountSum2.Balance10 = 999999 * 888888; tmpAccountSum1.TaxCode = "XXXXXXXXXXXXXXXXXXXX"; tmpAccountSum2.TaxCode = "XXXXXXXXXXXXXXXXXXXX"; tmpAccountSum1.CurrencyCode = "XXX"; tmpAccountSum2.CurrencyCode = "XXX"; tmpAccountSum1.Posting = 1; tmpAccountSum2.Posting = 1; tmpAccountSum1.Dimension[1] = "XXXXXXXXXXXXXXXXXXXX"; tmpAccountSum2.Dimension[1] = "XXXXXXXXXXXXXXXXXXXX"; tmpAccountSum1.Dimension[2] = "XXXXXXXXXXXXXXXXXXXX"; tmpAccountSum2.Dimension[2] = "XXXXXXXXXXXXXXXXXXXX"; tmpAccountSum1.Dimension[3] = "XXXXXXXXXXXXXXXXXXXX"; tmpAccountSum2.Dimension[3] = "XXXXXXXXXXXXXXXXXXXX"; tmpAccountSum1.OperationsTax = 1; tmpAccountSum2.OperationsTax = 1; tmpAccountSum1.TransDate = today(); tmpAccountSum2.TransDate = today(); tmpAccountSum1.Txt = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; tmpAccountSum2.Txt = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; tmpAccountSum1.SortDate = today(); tmpAccountSum2.SortDate = today(); tmpAccountSum1.Balance01Cur = 999999 * 888888; tmpAccountSum2.Balance01Cur = 999999 * 888888; tmpAccountSum1.Qty01 = 999999 * 888888; tmpAccountSum2.Qty01 = 999999 * 888888; tmpAccountSum1.Qty02 = 999999 * 888888; tmpAccountSum2.Qty02 = 999999 * 888888; tmpAccountSum1.Qty03 = 999999 * 888888; tmpAccountSum2.Qty03 = 999999 * 888888; tmpAccountSum1.Voucher = "XXXXXXXXXXXXXXXXXXXX"; tmpAccountSum2.Voucher = "XXXXXXXXXXXXXXXXXXXX"; tmpAccountSum1.insert(); tmpAccountSum2.insert(); } info (strfmt("%1", (WinAPI::getTickCount() - startTime) / 1000)); startTime = WinAPI::getTickCount(); i = 0; while select tmpAccountSum1 join tmpAccountSum2 where tmpAccountSum1.AccountNum == tmpAccountSum2.AccountNum { text = tmpAccountSum1.Voucher + tmpAccountSum2.Voucher; i++; } info (strfmt("%1", i)); info (strfmt("%1", (WinAPI::getTickCount() - startTime) / 1000)); startTime = WinAPI::getTickCount(); i = 0; while select tmpAccountSum1 { while select tmpAccountSum2 where tmpAccountSum2.AccountNum == tmpAccountSum1.AccountNum { text = tmpAccountSum1.Voucher + tmpAccountSum2.Voucher; i++; } } info (strfmt("%1", i)); info (strfmt("%1", (WinAPI::getTickCount() - startTime) / 1000)); }
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: mazzy (5), sukhanchik (3), Logger (15). |