Не знаю, как давно это появилось, я открыл это для себя буквально на днях.
Предположим, у вас имеется несколько счетов-фактур с разными суммами и несколько авансовых платежей с совершенно другими суммами. Если взять и «скопом» это всё, как говорят некоторые «замэтчить» (другие называют это «схлопнуть», я же обычно говорю «зачесть»), то раньше в платежах это всё так и повисало с суммами счетов-фактур и суммами авансов. Определить, какой счёт каким авансом и на какую сумму был закрыт не представлялось возможным, если только при зачёте счетов и авансов вы не делали это отдельными проводками по одному счёту и одному авансу. В современных версиях всё гораздо удобнее, в какой версии это появилось не знаю, но в iScala 3.2 это точно работает. Вот посмотрите сами:
Видите, счета у меня 100, 200, 300 и 400 рублей, а авансы 150, 250, 125 и вообще, с копейками
При обновлении Книги Закупок iScala сама разбивает суммы и помечает их соответствующим образом, так, что в итоге можно получить вот такой результат:
Для чего это нужно? Ну, во-первых, скорее всего для отчёта по корреспонденции счетов, а во-вторых, иногда налоговая требует расшифровку, когда и с каким счётом-фактурой был зачтён авансовый платеж.
Если кому-то интересно, могу поделиться запросом, заодно проверите, работает ли это в вашей версии:
select PL21_1.PL21001 as SupplierCode, PL21_1.PL21002 as InvoiceNo, PL21_1.PL21039 as MatchingInvoiceNo, PL21_1.PL21005 as TransactionNo, PL21_1.PL21008 as InvoiceAmount, PL21_2.PL21008 as MatchedInvoiceAmount from PL21T100 PL21_1 (nolock) join PL21T100 PL21_2 (nolock) on PL21_1.PL21001=PL21_2.PL21001 and PL21_1.PL21002=PL21_2.PL21039 and PL21_1.PL21039=PL21_2.PL21002 and PL21_1.PL21005=PL21_2.PL21005 and PL21_1.PL21001=@SupplierCode and PL21_1.PL21008>0
Код компании (у меня это «T1»), разумеется, нужно заменить на требуемый и переменную объявить и назначить, как вам надо 🙂
Последние комментарии доступны здесь: https://www.facebook.com/scalaorgru/posts/795493670896888