Представим у нас есть два документа и регистр накопления, по которым они делают движения. Колонки: Курс, сумма, сумма валютная. Курс имеет 4 знака после запятой, а суммы - два. Курс за все время не менялся.
Представим, что документ Д1 сделал движение в регистр первый, а документ Д2 - второй:
Естественно сумма считается как валютная * курс. В случае первого документа округления не было. В случае второго сумма получилась -428.655, которая округлилась как -428.66 по всем правилам (5 в большую сторону).
Теперь посчитаем остатки:
Цитата
Остаток: / 4.1820 / 1025.14 / 4287.13
Однако: 4.1820 * 1025.14 = 4287,13548 = 4287,14
Как же так получилось? Оказывается что мы неправильно округлили в первом случае. Так значит когда мы имеем расход, или приход с "-" (сторно), тогда 5 нужно округлять не к большому значению, а к меньшему? Кто как считает? И как выйти из ситуации?
Я когда учился в аспирантуре, мне мой руководитель рассказывал, что самое точное округление - это когда 5 округляется в большую или меньшую сторону случайным образом.
Так всетаки. Что Вы скажете о том, чтобы округлять 5 в меньшую сторону, когда движение есть "расход" или сторно?
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 13962
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7
vbi, что касаемо приколов с округлениями НДС, в типовых есть функция ПересчитатьНДСсУчетомПогрешностиОкругления в модуле ОбработкаТабличныйЧастей. В её описании сказано:
Цитата
Процедура корректирует построчные ошибки округления НДС так, чтобы итоговый НДС по ставке совпадал с расчитанным НДС по базе
Как-то я хотел разобраться как она работает, но посидев и покумекав над ней - я бросил эту затею. А разобраться хотел, потому что при пересчете оно всеравно в некоторых случаях считает не так как надо. Что в итоге?
Старейшина
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0
Я для учета бензина в баках автомобилей при сохранении дока Путевой лист вычислял расход по пробегу за день и за месяц, после чего корректировал расход за день, чтобы он совпадал с месячным.
Правильно поставленный вопрос содержит до 90% ответа.
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 13962
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7
Цитата(Vofka @ 19.06.13, 14:36)
А разобраться хотел, потому что при пересчете оно всеравно в некоторых случаях считает не так как надо.
Так вот. Делает нам покупатель заказ на 3 позиции какого-то товара, цена которого, включая НДС, составляет 5 грн. Отгружаем ему 3 расходными накладными, в каждой по 1 штуке, соответственно. В каждом из них по НДС будет такая проводка:
Дт 702 - Кт 6432 - Сумма 0,83
Итого по 3 документам получается НДС-а на сумму 2,49
Делаем возврат всех 3 позиций одним возвратом. Набиваем каждуюу позицию отдельной строкой, указываем документ партии, все как положено. Но когда проводим документ, эта функция (ПересчитатьНДСсУчетомПогрешностиОкругления которая) делает ход конем и понимает, что т.к. сумма общая получается 15 грн., то НДС должен быть 2.5 грн., в результате чего добавляет 1 копейку к НДС-у какой-то позиции и даже скажет нам
Цитата
После исправления погрешностей округления сумма НДС табличной части Товары изменилась (было 2,49 грн, стало 2,50 грн)
Проводка в этом случае по НДС получается такая:
Дт 702 - Кт 6432 - Сумма -2,5
И снова у нас на 6432 висит копейка. Какой мы делаем вывод? Правильно:
Живет на форуме
Группа: Местный
Сообщений: 2907
Из: Київ, Україна
Спасибо сказали: 1148 раз
Рейтинг: 1230.2
Что касается округления, связанного с валютой, правильно делать следующим образом. 1. Вычисляем конечный остаток в валюте. 2. Вычисляем конечный остаток в эквиваленте по курсу со стандартным округлением. 3. Вычисляем сумму движения в эквиваленте как разницу между начальным и конечным остатками.
Цитата(vbi @ 19.06.13, 13:55)
Я когда учился в аспирантуре, мне мой руководитель рассказывал, что самое точное округление - это когда 5 округляется в большую или меньшую сторону случайным образом.
Существует т.н. финансовый (или банковский) метод округления, когда пятерка округляется до большего числа, если перед ней нечетная цыфра, и отбрасывается, если перед ней - четная.
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!