powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Достала бухгалтерия
25 сообщений из 29, страница 1 из 2
Достала бухгалтерия
    #39631417
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Их не устраивает, что при выставлении счетов и счет-фактур происходит иногда расхождение на 1 копейку.
В базу вносят тариф в валюте 5,5$ за тонну. При пересчете на рубли с учетом курса 58,5814 получается 322,1977 руб.
Услуги в счете суммируются и выставляется итоговая сумма в рублях.
Так вот, им надо, чтобы сумма за каждую услугу выводилась с 2 знаками после запятой, итоговая сумма тоже с 2. При этом сумма всех округленных услуг сходилась с округленной итоговой суммой. А она не сходится на копейку, если суммировать неокругленные значения (и потом округлить до 2). Но если суммировать округленные и вывести итог, то он не сходится со счетом на 1 копейку.
Так как им объяснить, что нельзя и рыбку съесть, и посуду не замарать??
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631433
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad,

Округляй каждую услугу. Суммируй округленные значения. Итог считай во всех местах именно таким, одинаковым везде образом.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631457
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat Fisher,

если округлить тариф за тонну до 2 знаков, то при 1000 тоннах будет расхождение в десятки рублей.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631458
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС еще не столкнулся с НДС и возвратами :)
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631460
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробую итоговые суммы в базе сделать с 2 знаками после запятой.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631496
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все равно могут быть забавные казусы
есть сумма скажем 1.15, тебе надо разделить пополам, при решении в лоб типа 1.15/2 по итогу сумма полученных значений не будет равна исходному значению :)
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631509
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladИх не устраивает, что при выставлении счетов и счет-фактур происходит иногда расхождение на 1 копейку.
В базу вносят тариф в валюте 5,5$ за тонну. При пересчете на рубли с учетом курса 58,5814 получается 322,1977 руб.
Услуги в счете суммируются и выставляется итоговая сумма в рублях.
Так вот, им надо, чтобы сумма за каждую услугу выводилась с 2 знаками после запятой, итоговая сумма тоже с 2. При этом сумма всех округленных услуг сходилась с округленной итоговой суммой. А она не сходится на копейку, если суммировать неокругленные значения (и потом округлить до 2). Но если суммировать округленные и вывести итог, то он не сходится со счетом на 1 копейку.
Так как им объяснить, что нельзя и рыбку съесть, и посуду не замарать??

У вас точность 4 знака... Расчеты делаете с точностью в 4 знака отображается в 2 знака.. при чем сумму считается отдельно и попозиционный вывод отдельно..
т.е. 2 + 2 = 5 это норма в таком случае... вывод 2 отдельно сумма 5 отдельно...
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631528
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladCane Cat Fisher,

если округлить тариф за тонну до 2 знаков, то при 1000 тоннах будет расхождение в десятки рублей.

Не надо округлять тариф за тонну. Округляй получившуюся сумму позиции до копеек. И затем суммируй эти округленные суммы позиций.

Или о чем ты? Давай подробнее цепочку расчета.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631549
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FishersvnvladCane Cat Fisher,

если округлить тариф за тонну до 2 знаков, то при 1000 тоннах будет расхождение в десятки рублей.

Не надо округлять тариф за тонну. Округляй получившуюся сумму позиции до копеек. И затем суммируй эти округленные суммы позиций.

Или о чем ты? Давай подробнее цепочку расчета.
Да, так и решил делать.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631553
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladТак как им объяснить, что нельзя и рыбку съесть, и посуду не замарать??
Обычно схема такая:
а) делаешь всю сверку в копейках.
б) округляешь все значения до рублей и считаешь невязку с итоговой суммой. Расхождения должны быть порядка корень(N/12), где N-число элементов.
в) творчески решаешь, какой элемент списка меньше всего пострадает от неправильного округления и плюсуешь к нему невязку.
...
PROFIT
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631554
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteУ вас точность 4 знака... Расчеты делаете с точностью в 4 знака отображается в 2 знака.. при чем сумму считается отдельно и попозиционный вывод отдельно..
т.е. 2 + 2 = 5 это норма в таком случае... вывод 2 отдельно сумма 5 отдельно...
Вот именно. Но попробуйте убедить в этом бухгалтеров. "Нарисуйте 7 параллельных линий, 4 из которых перпендикулярны друг-другу".
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631570
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoТС еще не столкнулся с НДС и возвратами :)
НДС по смыслу считается с оборота за период. Понятное дело, что если посчитать НДС за последний год, и просуммировать НДС за последние 365 дней отдельно (а тем более - по каждому чеку (позиции чека) - отдельно), то суммы не будут сходиться. Но это - нормально.
Что касается возвратов - то каждая касса считает их по-своему, к сожалению. И скидки тоже. Во всяком случае, при возврате недозаправленного топлива.
Реально 3 кассы - 3 алгоритма получения суммы оборотов продаж чека:
1. Продано*Цена;
2. СуммаЧека - СуммаЧека * (ОбъемЗаказа - Продано) / ОбъемЗаказа;
3. СуммаЧека - (ОбъемЗаказа - Продано) * Цена.
И это - без скидки...

ТС, не понятно, зачем тебе 4 знака. Тебе надо считать в копейках (либо 2 знака), и тогда ничего округлять не надо, включая сумму.
Если же задача требует большой точности (закупочной цены, без НДС - бывает такое), то 4 знака мало - погрешность в копейку будет появляться уже после 100 позиций.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631677
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladX-CiteУ вас точность 4 знака... Расчеты делаете с точностью в 4 знака отображается в 2 знака.. при чем сумму считается отдельно и попозиционный вывод отдельно..
т.е. 2 + 2 = 5 это норма в таком случае... вывод 2 отдельно сумма 5 отдельно...
Вот именно. Но попробуйте убедить в этом бухгалтеров. "Нарисуйте 7 параллельных линий, 4 из которых перпендикулярны друг-другу".
Насколько мне известно, главное чтобы сходилось по бумагам... подгоняете под то что выводится на бумагу и ок...
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39631912
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потом будет сюрприз, что стандартное делфи-округление округляет неправильно (и нет, я не про банковское). Надо делать так, как говорят бухи, а не как делфя выдала.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39632149
ain-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladИх не устраивает, что при выставлении счетов и счет-фактур происходит иногда расхождение на 1 копейку.
Так как им объяснить, что нельзя и рыбку съесть, и посуду не замарать??
Можно, если использовать банковское округление.

Банковское округление — округление происходит к ближайшему чётному, то есть 2,5 → 2, 3,5 → 4.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39632186
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Особенно прикольно, когда нужно выйти на точную сумму к-л внешнего документа (счет/оплата/задолженность и пр.).
Может быть ситуация, что штатным способом это невозможно - не бьют копейки. А потом эти копейки неприятно маячат в незакрытых суммах.
Приходится ручками построчно подгонять суммы и дрожать, что документ однажды не будет перепроведен с потерей всех копеечных правок. :)
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39632188
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoОсобенно прикольно, когда нужно выйти на точную сумму к-л внешнего документа (счет/оплата/задолженность и пр.).
Может быть ситуация, что штатным способом это невозможно - не бьют копейки. А потом эти копейки неприятно маячат в незакрытых суммах.
Приходится ручками построчно подгонять суммы и дрожать, что документ однажды не будет перепроведен с потерей всех копеечных правок. :)

Значит, правки пусть вносит алгоритм (пере)проведения.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39632280
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladX-CiteУ вас точность 4 знака... Расчеты делаете с точностью в 4 знака отображается в 2 знака.. при чем сумму считается отдельно и попозиционный вывод отдельно..
т.е. 2 + 2 = 5 это норма в таком случае... вывод 2 отдельно сумма 5 отдельно...
Вот именно. Но попробуйте убедить в этом бухгалтеров. "Нарисуйте 7 параллельных линий, 4 из которых перпендикулярны друг-другу".

Здесь два вопроса перемешались.

Первый вопрос - вывод данных с уменьшенной точностью.

Пусть, например, имеем ведомость:

#СтрокаОплачено (руб)#11.30#21.30Итого2.60

И вдруг аналитик говорит: "А покажите мне ведомость в рублях (вариант: баланс предприятия в тысячах)." Мол, не хочу в копейках погрязать, мне бы орлиным взором тенденции обозреть.

Хорошо, округляем каждое число как он просит- получаем чудеса: 1 + 1 = 3.

#СтрокаОплачено (руб)#11#21Итого3

Здесь нужно понимать, что округленные таким образом данные - это уже не бухгалтерия, это аналитика. И придираться к ней бессмысленно - это все равно что столбчатую диаграмму в масштабе "1 см = 1 млн руб" распечатать, а затем линейкой ее мерять и ругаться, что копейки не сходятся.

Лепить в этом случае какие-то поправки, чтобы сходилась сумма - не имеет смысла. В самом деле, что здесь править - единичку в какую-то сроку долепить, или из итоговой тройки двойку сделать? А потом аналитик попросит эти же данные в другом разрезе, и вопросы станут еще неприятнее. Выход лишь в том, что при подготовке подобной аналитики нельзя округлять данные до порядка самих величин - если есть 2 млн 600 тыс, нельзя делать из них ни ровно 2, ни ровно 3 миллиона - надо оставлять хотя бы 2,60. Тогда подобные расхождения в итогах будут невелики по сравнению с самими данными, и не помешают аналитику обозревать его тенденции.

А другой вопрос - когда ведомость составляется с полной точностью, до копеек. Здесь уже бухгалтерия имеет право выдвинуть логичное требование, чтобы итоги сходились со строками, даже если каждая строка вычисляется с какими-то тарифами до 6-го знака. Тут основной рецепт в том, чтобы поймать момент, когда условные величины (тариф за каплю водки, 1е-06 руб/кап) становятся деньгами (стоимостью накапанного стаканчика, руб.00 коп). В этом месте деньги нужно округлить до копеек, поскольку не может быть платежа в долях копейки, и в дальнейшем складывать только округленные величины. Тогда итог в любом случае сойдется до копеек, что и требовалось.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39632296
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherЛепить в этом случае какие-то поправки, чтобы сходилась сумма - не имеет смысла.
Имеет.
Бухгалтерия периодически сдает отчеты в разные контролирующие структуры, и в каких-то случаях случаях сумма указывается в рублях, в каких-то - в тыс. рублей и т.д.
И все отчеты проходят многочисленные проверки на предмет увязок разных видов отчетности, поэтому все числа должны сходиться.

Cane Cat FisherВ самом деле, что здесь править - единичку в какую-то сроку долепить, или из итоговой тройки двойку сделать?

Есть, как минимум, два способа, как это сделать.
а). Сбрасывать ошибку округления на какую-то строку (в отчетных формах всегда есть позиции вроде "прочие", "другие" и т.д.
б) в зависимости от невязки выбирать данные, которые с наименьшей ошибкой можно округлить в другую сторону.
Оба способа легко алгоритмизируются.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39632301
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисCane Cat FisherЛепить в этом случае какие-то поправки, чтобы сходилась сумма - не имеет смысла.
Имеет.
Бухгалтерия периодически сдает отчеты в разные контролирующие структуры, и в каких-то случаях случаях сумма указывается в рублях, в каких-то - в тыс. рублей и т.д.
И все отчеты проходят многочисленные проверки на предмет увязок разных видов отчетности, поэтому все числа должны сходиться.

Cane Cat FisherВ самом деле, что здесь править - единичку в какую-то сроку долепить, или из итоговой тройки двойку сделать?

Есть, как минимум, два способа, как это сделать.
а). Сбрасывать ошибку округления на какую-то строку (в отчетных формах всегда есть позиции вроде "прочие", "другие" и т.д.
б) в зависимости от невязки выбирать данные, которые с наименьшей ошибкой можно округлить в другую сторону.
Оба способа легко алгоритмизируются.
чет я не понял.
Если округление идет по позициям, то расхождений быть не может, как ни крути.
Проблема может возникнуть только при пересчете по кросс-курсам. Например: рубли перегоняются в доллары, а затем обратно в рубли.
Но в этом случае, при совпадении валют, просто не нужно делать пересчет по кросс-курсу.
С бухгалтерией работаю давно: приведенных ошибок не возникало. (тьфу-тьфу-тьфу через левое плечо)
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39632310
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Бориса). Сбрасывать ошибку округления на какую-то строку (в отчетных формах всегда есть позиции вроде "прочие", "другие" и т.д.
б) в зависимости от невязки выбирать данные, которые с наименьшей ошибкой можно округлить в другую сторону.


Все это хорошо, до тех пор, пока эта позиция, в которую свалилась поправка, не встретится в другом отчете, в котором округление не потребовалось.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39632313
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gerasimenkoчет я не понял.
Если округление идет по позициям, то расхождений быть не может, как ни крути.

Еще как может. Ошибка округления обязательно где-то проявится - либо в позициях, либо в итоге. В идеале нужно добавлять виртуальную позицию "ошибка округления", но авторы отчетных форм такой мелочью обычно не заморачиваются. Поэтому и приходится выкручиваться.

GerasimenkoС бухгалтерией работаю давно: приведенных ошибок не возникало. (тьфу-тьфу-тьфу через левое плечо)
Я, как раз, давно не работаю, но помню что раньше возникало постоянно, когда в бух. отчетности нужны были тыс.р., а в налоговой - просто р.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39632318
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherВсе это хорошо, до тех пор, пока эта позиция, в которую свалилась поправка, не встретится в другом отчете, в котором округление не потребовалось. Это не проблема. Если нужно сравнивать показатели в разных единицах (рубли vs рубли с копейками) просто делается поправка в увязке - модуль разности значения не больше единицы.
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39632322
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисGerasimenkoчет я не понял.
Если округление идет по позициям, то расхождений быть не может, как ни крути.

Еще как может. Ошибка округления обязательно где-то проявится - либо в позициях, либо в итоге. В идеале нужно добавлять виртуальную позицию "ошибка округления", но авторы отчетных форм такой мелочью обычно не заморачиваются. Поэтому и приходится выкручиваться.

GerasimenkoС бухгалтерией работаю давно: приведенных ошибок не возникало. (тьфу-тьфу-тьфу через левое плечо)
Я, как раз, давно не работаю, но помню что раньше возникало постоянно, когда в бух. отчетности нужны были тыс.р., а в налоговой - просто р.
1) Не может. Если есть расхождение, значит не верна методология расчета, которая должна быть согласованна с бухгалтерией, либо прописана в соответствующей инструкции.
2) Представление рассчитанной информации в разных форматах не влияет на сам итог расчетов
...
Рейтинг: 0 / 0
Достала бухгалтерия
    #39632375
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисCane Cat FisherВсе это хорошо, до тех пор, пока эта позиция, в которую свалилась поправка, не встретится в другом отчете, в котором округление не потребовалось. Это не проблема. Если нужно сравнивать показатели в разных единицах (рубли vs рубли с копейками) просто делается поправка в увязке - модуль разности значения не больше единицы.

Нет, я не о том, неточно выразился. Все это хорошо, до тех пор, пока эта позиция, в которую свалилась поправка, не встретится в другом отчете, в котором поправка в нее не сваливалась (например, не требовалась, либо свалилась в другую, более подходящую в том наборе данных позицию).

Например, в ведомости выше, в "1+1 = 3", в строке #1 тихонько делаем из 1 миллиона 2, чтобы сошлось "2 + 1 = 3". А затем оказывается, что существует отдельный отчет "Ведомость по #1 развернутая", где позиция #1 расшифровывается на #1.1, #1.2 и т.д., и в ней в итоге ясно видно, что миллион-таки один.
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Достала бухгалтерия
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]