18.12.2001, 15:14 | #1 |
Участник
|
сопоставление открытых проводок - 'коррекция' в основной валюте фирмы
<pre><b><font face = arial>Форма – сопоставление открытых проводок.
Откуда брать курс валюты при отображении колонки ‘Коррекция’ в основной валюте фирмы.</b> Имееться ввиду форма Заказы, кнопка функции –> сопоставление открытых проводок. Скорее всего, действовать необходимо следующим образом: - Проверить, есть ли курс валюты в данных первичного документа, на основе которого была сформирована запись. - Если нет в первичных документах, то взять из таблицы курса валют, курс на дату проводки. Первичные документы: - Подтверждающий документ, привязанный к проводке (Voucher) - Счет, привязанный к проводке (Invoice) Итак, исходная таблица, из которой берется информация для формы сопоставления открытых проводок это CustTransOpen, но лучше прейти к более полной таблице CustTrans: 1. Ищем курс в подтверждающем документе привязанном к проводке (CustTrans.Voucher). Информацию о подтверждающем документе ищем в таблице строк журнала главной книги (LedgerJournalTrans). Сопоставление по полю Номер документа (LedgerJournalTrans.Voucher). Смотрим задан ли курс в поле курс обмена (LedgerJournalTrans.ExchRate). Если не задан, то ищем дальше… 2. Пробуем узнать курс из документа Счет, привязанного к проводке (CustTrans.Invoice). Информацию о счете берем из журнала счетов (CustInvoiceJour). Сопоставление по полю Номер счета (CustInvoiceJour.InvoiceId). Курс в поле курс обмена (CustInvoiceJour.ExchRate), если нет то далее… 3. Используем таблицу курсов валют (Currency), у нее есть статический метод для конвертирования валюты (CurAmount2CurAmount). Дата на которую смотрится курс это дата проводки (CustTransOpen.TransDate). В одном из этих 3 шагов будет содержаться курс, который можно использовать для пересчета в основную валюту фирмы. Аналогично для формы Закупок. Но вместо префикса Cust надо подставить префикс Vend в названии всех таблиц данного документа.</font> </pre>
__________________
Гурьев Сергей |
|
|
За это сообщение автора поблагодарили: Poleax (1). |