kow1976, если посмотреть на условие задачи, то " .. каждая накладная может быть выставлена в своей валюте". В отчете: расх. накл. № 3 .. нач. ост. 500 - оплачено 500 (рубли) .. Аванс - нач.ост - 500 .. отгружено 500. Видимо, это оплата как раз для расх. накл № 3. То есть, был на 01.01.2010 остаток в долларах, например, 10 $ (по курсу 1$ - 50 руб.), пришла оплата 500 руб., его списали. Потом по этой же накладной опять что нибудь отгрузили .. 800$ .. и оплатили .. 200 $ .. Так что ли получается!? Одно не понятно - как можно по одной и той же расх. накл. № 3 несколько раз что-нибудь отгрузить? Документ то один! А насчет определения курса на каждый день, то почему бы не хранить рублевые суммы на даты движений, тогда и сложности с вычислениями отпадают.