Книги покупок и продаж
Материал из BiTel WiKi
Версия от 06:21, 15 апреля 2011; Pechenie (Обсуждение | вклад)
Отчет представляет собой пример реализации книги покупок и продаж.
файлы отчеты : Медиа:bill_sales_purchase_books.zip
В обоих отчетах фильтры представлены лишь периодом выборки.
Книга продаж по сути представляет собой отчет по счетам-фактурам. Книга покупок формируется по следующему алгоритму:
Формализация вычисления аванса и зачтённого аванса. 1) Формула вычисления аванса. Суммарный аванс за месяц (САМ). Если: ПЛАТЕЖИ > 0 и ПЛАТЕЖИ + ВХ. ОСТАТОК > 0 То: САМ = МИНИМУМ ( ПЛАТЕЖИ; ПЛАТЕЖИ + ВХ. ОСТАТОК ) Иначе: САМ = 0 Для создания фактур на аванс САМ должен быть положителен. Для каждого платежа месяца последовательно: Если: ВХ. ОСТАТОК + ПРЕДШ. ПЛАТЕЖИ + ЭТОТ ПЛАТЁЖ > 0 То: АВАНС = МИНИМУМ ( ВХ. ОСТАТОК + ПРЕДШ. ПЛАТЕЖИ + ЭТОТ ПЛАТЁЖ; ЭТОТ ПЛАТЁЖ ) Иначе: АВАНС = 0 Если АВАНС в результате платежа положителен - создаётся фактура на аванс на этот платёж с суммой АВАНС, 2) Формула вычисления зачтённых авансов. Суммарный зачтённый аванс за месяц (СЗА). СЗА = МИНИМУМ ( ПРЕДОПЛАТА; НАРАБОТКА ) В случае, если СЗА > 0 необходимо создать записи в книге покупок. ОИО = ИСХ. ОСТАТОК - остаток исходящего остатка :) Если: ОИО <= 0 То: ОИО = 0 - аванс зачтён полностью. ОСЗА = СЗА - остаток суммы зачтённого остатка Осуществляем перебор фактур на авансы от последней данного месяца в обратном направлении. На каждой фактуре: ОСФ = СУММА ФАКТУРЫ - остаток суммы фактуры Если: ОИО > 0 То: Если: ОИО < ОСФ То: ОСФ = ОСФ - ОИО Иначе: ОИО = ОИО - ОСФ, переход к следующей (реально предшествующей) фактуре на аванс Если: ОСЗА > 0 То: Если: ОСЗА < ОСФ То: создаём фактуру на сумму ОСЗА, прерываем перебор Иначе: ОСЗА = ОСЗА - ОСФ Иначе: прерываем перебор. Если: ОСЗА <= 0 То: прерываем перебор.
Пример конфигурации модуля Reports для работы отчетов:
#параметр договора "название организации" report.bill_sales_book.org.title.pid=1 #параметр договора "инн" report.bill_sales_book.org.inn.pid=2 #параметр договора "кпп" report.bill_sales_book.org.kpp.pid=3 #код счет-фактуры на аванс report.bill_sales_book.advance.type=123 report.bill_purchase_book.org.name=ООО "СтройИнвестСвязьПромКредитБизнесКонсалтинг" report.bill_purchase_book.org.inn=0101010101 report.bill_purchase_book.org.kpp=01010101 report.bill_purchase_book.advance.type=123