При выполнении процедуры Закрытие месяца в программах «1С:Управление торговлей 11», «1С:ERP» или «1С:Комплексная автоматизация» пользователи часто сталкиваются с назойливой ошибкой: «Обнаружены курсовые разницы по регистрам учета денежных средств» — исправить проблемы поможет обработка исправления ошибок учета в 1С. Система предлагает выполнить переоценку, но стандартные действия — перепроведение документов и повторный расчет — не приносят результата. Ситуация осложняется тем, что в справке-расчете суммы «висят», но документы переоценки не создают по ним движений.
В этой статье мы подробно разберем, почему возникает эта проблема и какими методами ее можно победить, пройдя путь от простых проверок до глубокой отладки регистров.
Рассмотрим механизм работы системы. Программа не пересчитывает всё подряд каждый раз; она ориентируется на специальные таблицы — задания. Если в этих таблицах накопились старые, некорректные или «битые» записи за прошлые периоды, процедура закрытия может выдавать ошибку, даже если в текущем месяце всё верно.
Проанализируем алгоритм действий для очистки заданий:
Это одна из самых коварных причин. В регистре накопления ДенежныеСредстваБезналичные или ДенежныеСредстваУПодотчетныхЛиц остаток может быть нулевым в валюте, но иметь копеечный остаток в валюте регламентированного учета (рублях). Это часто происходит из-за разной аналитики. В таких случаях может потребоваться обнуление / списание остатков по регистру накопления.
Разберем ситуацию на примере:
У подотчетного лица висит сумма. При формировании Универсального отчета по регистру Денежные средства у подотчетных лиц мы можем увидеть две строки:
Для системы это разные остатки. Она пытается начислить разницу, но не может «схлопнуть» их. Чтобы решить эту проблему, выполним следующие шаги:
Корректировка регистров (здесь может помочь универсальная корректировка и чтение остатков) — для этого подойдёт обработка автозаполнения корректировки регистров.ДенежныеСредстваБезналичные).Проанализируем проблему округления. В документах типа Поступление безналичных денежных средств или Списание безналичных ДС сумма может быть разбита на множество строк (оплата по разным заказам или накладным). При пересчете каждой строки по курсу возникают погрешности округления.
Например, сумма документа 12900,83 рубля. При распределении по 5 строкам сумма копеек в регламентированном учете может дать 12900,82. Эта разница в 1 копейку будет бесконечно преследовать вас в закрытии месяца.
Что можно сделать:
Валюты дублей (так называемых «сиамских близнецов»), где одна валюта заведена дважды с разными кодами или историей курсов.Иногда корень зла кроется в коде самой программы. Фирма «1С» периодически выпускает исправления для подсистемы взаиморасчетов. Рассмотрим список критических ошибок, которые могут вызывать зависание курсовых разниц:
Корректировку регистров для выравнивания суммы в регл. валюте в регистре ДенежныеСредстваБезналичные.Если визуальный анализ регистров не помогает, выясним виновника через отладчик. Для этого проделаем следующие действия:
РасчетКурсовыхРазниц.ТребуетсяПереоценка.НЕ РезультатЗапроса.Пустой().РезультатЗапроса.Выгрузить().В выгруженной таблице вы четко увидите: по какому банковскому счету, кассе или подотчетнику система «видит» необходимость доначисления. Это позволит точечно исправить данные, не перелопачивая весь учет за год.
Ошибка по курсовым разницам в регистрах ДС — это почти всегда признак «разъехавшейся» аналитики или ошибки округления. Для решения задачи:
Корректировку регистров или автоматическое закрытие остатков любого регистра накопления для схлопывания этих остатков.