Ошибки округления в 1с

Обновлено: 07.07.2024

Итак, первое, о чем хочется вас попросить: пожалуйста, не торопитесь отправлять отчет!

На календаре только 7 июля, срок сдачи РСВ – 30 июля. Уйма времени на то, чтобы сдать отчет!

Если же по какой-то веской причине вам необходимо сдать отчет в ближайшие дни, то ловите наш подробный инструктаж:

1. Убедитесь, что ошибки в контрольных соотношениях РСВ связаны именно с округлением копеек.

Часто причиной таких ошибок в РСВ является нарушение хронологии заполнения документов в 1С.

Приведем яркий пример в 1С: Бухгалтерии предприятия ред. 3.0: сотрудница Ларионова С.В. идет в отпуск с 11 января, бухгалтер делает расчет отпускных накануне в конце декабря.

Чтобы в 1С: Бухгалтерии предприятия декабрьская зарплата вошла в расчет среднего заработка, бухгалтер сначала делает начисление зарплаты и взносов за декабрь.

Затем также в декабре рассчитывает январские отпускные.

Что ж, методология верная, отпускные рассчитались корректно.

Но часто после таких действий бухгалтер забывает пересчитать взносы заново и формирует РСВ. Естественно, что контрольные соотношения не выполнены.

Ругать 1С в этом случае не стоит, ведь это ошибка бухгалтера.

Вернемся в начисление зарплаты за декабрь и пересчитаем взносы

В результате видим, что страховые взносы по Ларионовой С.В. у нас действительно изменились: была сумма 15100 рублей, стала 18707,50 рублей.

Ошибка в контрольных соотношениях тем самым исправлена.

Этим примером мы хотим сказать, что расчетная ошибка бухгалтера может быть в любом месяце, поэтому обязательно зайдите в ваши начисления зарплаты и взносов. Перезаполните их по кнопке «Еще» – «Пересчитать взносы», посмотрите не изменилась ли итоговая сумма.

Возвращаемся к нашей теме не заполнения РСВ за полугодие 2021 года.

2. Если вы пересчитали взносы, суммы остались те же, но РСВ за полугодие так и выдает ошибку контрольных соотношений, то сформируйте корректирующий отчет РСВ за 1 квартал 2021 года и сохраните его в 1С.

Это действие нужно для того, чтобы заставить программу пересчитать все взносы с самого начала! Отправлять этот отчет в ИФНС не надо!

После того, как сохранили корректирующий РСВ, сформируйте новый РСВ за полугодие.

Многим этот шаг поможет в исправлении контрольных соотношений!

3. Если ошибка так и осталась, то ждем исправительного патча от разработчиков 1С.

Они в курсе ситуации, знают, что у пользователей наблюдается эта ошибка, работают над этим вопросом.

P.S. Кстати, если за 1 квартал 2021 г. проблему округления копеек в РСВ вы корректировали вручную, то вам обязательно нужно сейчас создать корректирующий отчет РСВ за 1 квартал и сравнить его с тем, который вы отправили в ИФНС! Прям каждую строчку сравните, каждую цифру. Возможно, что сейчас программа автоматически заполняет отчет корректно и он не сходится с тем отчетом, который вы сдали ранее.

В этом случае корректирующий РСВ за 1 квартал обязательно нужно сдать в ИФНС, иначе РСВ за полугодие не примут!

Развязку ситуации с округлением копеек в РСВ читайте в нашей новой статье!

1С 7.7.027 неправильно округляет
в настройках стоит округлять 1.5 до 2
Если вызывать округлениее для переменной или выражения, то 1.5 округляет до 1, а если от константы, то 1.5 округляет до 2
например:
Окр("Выражение",2) = 13.51 причем "выражение" = 13.515
Окр(13.515,2) = 13.52

(0) Во задачу задал. Не знаю, что и думать.
1) Сбой в Виндах - перезгрузись
2) Вирус - сделай проверку
Потом - отпишись!

Комп и операционка скорее всего не причем т.к. 1С работает в распределенном режиме и такой результат дает в обоих офисах.

Указывал, ничего не дает, округление константы работает правильно, а округление переменной или выражения - нет.

(9) Чудес в 1С не бывает! Бывают только глюки или шаловливые ручки.
Проверь еще разок, но завтра с утра.
Есть такая пословица.

Интересная вещь, если переменной просто присвоить значение 13.515, то округляет до 13.52,

x*(1/6) не равно x/6 - прочитай про представление дробных чисел в двоичной форме

(13) Ты упорно игнорируешь (8). Смотри - напоришься когда-нибудь.
(16) 3.14159265. - все что помню.

(0)Посмотри в свойсвах конфигуратора, как у тебя идет округление по умолчанию ;)

Окр(<?>,,)
Синтаксис:
Окр(<Число1>,<Число2>,<Способ>)
Назначение:
Возвращает значение результата округления.
Параметры:
<Способ> - способ округления граничных значений: 0 - если 1.5 округляется до 1, 1 - если 1.5 округляется до 2 (не обязателен, по умолчанию принимается значение, установленное в окне свойств конфигурации: Конфигурация/Задача/Свойства страница Задача, поле Округление).

+(0)Нашел ошибку в округлении, то округляй своей функцией

(21+) Судя по всему операции, которые выполняются внутри Окр по отдельности тоже округляются, ну или как-то так

(0) А что проблема написать на 1С действия с бесконечными периодическими дробями? Это же такая проблема, что автору стоит написать. Тогда проблем у него не будет с округлением, когда будет НДС отсчитывать в сумме или сверху.

(24) ну так учитывай порядок действий. снизу - 81.9 умножаетсся на 1, затем результат делится на 6, вверху же - 1 делится на 6, затем умножается на 81,09. про представление дробных чисел в двоичной форме и погрешностях при этом ты тоже почитай

(24) А если 81.09 разбить на слагаемые по 0.01 и каждое из них *(1/6) или разделить на 6 - тоже весело получится. Тут нужен МатКад или МатЛаб!

(25,26) Я то это понимаю (где-то глубоко внутри), но мне, как программисту на языке аля Бейсик - это непонятно и даже просто нелогично.

(26) кстати, в институте вроде как проводили подобные эксперименты и выяснили, что с числами типа n/m маткад работает без погрешностей.

Округление результатов арифметических операций в запросах

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

Методическая рекомендация (полезный совет)

1. Если в операции деления заранее известны порядки числителя и знаменателя, то следует по возможности избегать выполнения деления числа заведомого маленького порядка на число заведомо большого порядка. Например, вместо:

0.02 / 28346 * 9287492

0.02 * 9287492 / 28346

2. При выполнении арифметических операций в запросах к базе данных платформа 1С:Предприятия поддерживает точность вычислений до 8 разрядов дробной части. Однако, из-за особенностей работы различных СУБД в некоторых ситуациях точность результатов может отличаться от 8. Более подробно о вычислении разрядности результатов можно почитать в статье ИТС Разрядность результатов выражений и агрегатных функций в языке запросов.

Если точность результата выполнения запроса к базе данных, содержащего

  • арифметические операции деления,
  • агрегатные функции СРЕДНЕЕ ,
  • арифметические операции умножения, если каждый из множителей может иметь дробную часть,

различается на различных СУБД, то рекомендуется к операндам и/ или результатам этих операций применять оператор явного приведения разрядности и точности числовых данных:

ВЫРАЗИТЬ(. КАК Число(m, n))

Оператор ВЫРАЗИТЬ следует применять к операндам, если на какой-нибудь СУБД точность получаемого результата недостаточна. Например, требуется 10 разрядов после запятой, а получается 6.

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

Важно иметь в виду, что на разных СУБД имеются различные ограничения на максимальную разрядность десятичных чисел. Самое жесткое ограничение - это 31 разряд в целой и дробной частях. Чем меньшее значение разрядности будет указано для операндов, тем выше сможет быть точность результата. Например, если в результате требуется не менее 10 разрядов дробной части, первый операнд заведомо помещается в 15 разрядов целой части, а второй операнд заведомо помещается в 5 знаков целой части, то выражение может быть записано так:

ВЫБРАТЬ
ВЫРАЗИТЬ(Таблица.Множитель * Таблица.Числитель КАК Число(25,10)) / ВЫРАЗИТЬ(Таблица.Знаменатель КАК Число(15,10)) КАК Результат
ИЗ Таблица КАК Таблица

Оператор ВЫРАЗИТЬ следует применять к результату, если точность вычислений на всех СУБД достаточна, но на некоторых она больше, а на других меньше. При этом указанная общая разрядность результата должна быть минимальной, но не меньше той, которая достаточна для представления значений результата. Если в приведенном примере известно, что Знаменатель не может быть меньше 0.00001, то для представления результата достаточно 20 разрядов целой части. В этом случае выражение может быть записано так:

ВЫБРАТЬ
ВЫРАЗИТЬ(Таблица.Множитель * Таблица.Числитель / Таблица.Знаменатель КАК Число(30,10)) КАК Результат
ИЗ Таблица КАК Таблица

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

ВЫБРАТЬ
ВЫРАЗИТЬ(ВЫРАЗИТЬ(Таблица.Множитель * Таблица.Числитель КАК Число(25,10)) / ВЫРАЗИТЬ(Таблица.Знаменатель КАК Число(15,10)) КАК Число(30,10)) КАК Результат
ИЗ Таблица КАК Таблица

Друзья, эта публикация точно для вас! Ведь у большинства налогоплательщиков сейчас контрольные соотношения в РСВ за полугодие выдают ошибку в несколько копеек! Что делать? Ждать ли исправительный патч от разработчиков 1С? Всё расскажем здесь и сейчас!

Итак, кто впервые столкнулся с этой ситуацией и не читал нашу предыдущую статью, в которой мы подробно рассказали, как попытаться устранить эту ошибку, то обязательно ее прочтите! Есть большая вероятность, что те рекомендации спасут ваш отчет!

Однако, если инструкция из предыдущей статьи не помогла, то вот план ваших дальнейших действий!

Когда аналогичная проблема была в первом квартале, то разработчиками 1С был выпущен исправительный патч.

Сейчас же ситуация иная: патча не будет!

Пояснения разработчиков следующие: 1С округляет копейки верно, в данном случае проблема на стороне ФНС, именно их контрольные соотношения неверные!

Уточним, что речь идет именно о КС 1.84 и КС 1.138.

Если у вас аналогичная ошибка в базе, не соблюдены именно эти контрольные соотношения и разница составляет буквально пару-тройку копеек, то отправляйте отчет как есть! Да да, вы не ослышались, отправляем отчет с ошибками в КС 1.84 и 1.138.

На данный момент РСВ с аналогичными ошибками благополучно принимают в большинстве ФНС. Выше как раз приведен пример отчета, получившего положительный протокол, не смотря на ошибки в контрольных соотношениях.

Сразу предупредим, что далее вам могут прислать требование об уточнении цифр в РСВ. Не пугайтесь, составьте письмо в произвольной форме, что в программе все верно, расчет корректен.

Чем больше таких прецедентов мы создадим, тем быстрее ФНС поправит эти КС на своей стороне.

Вот еще один из вариантов контрольных соотношений РСВ, получивший положительный протокол.


Коллеги, делитесь своими историями в комментариях! Какие КС в вашем отчете показывают ошибку? Сколько копеек составляет расхождение? Каков результат сдачи?

Читайте также: