В работе с программой «1С:Зарплата и кадры государственного учреждения 1.0» (архитектура которой идентична «1С:ЗУП 2.5») пользователи часто сталкиваются с ситуацией, когда в документе начисления суммы рассчитаны с копейками, но при переходе к выплате или анализе регистров накопления копейки исчезают. Это может вызвать серьезные расхождения в учете и отчетности. В рамках данной статьи мы подробно разберем причины такого поведения системы и способы исправления настроек округления.
Первым делом нам необходимо проверить глобальные настройки системы, которые могут принудительно отсекать копейки во всех документах, связанных с выплатой денежных средств. Для этого проанализируем настройки параметров учета.
Рассмотрим порядок действий:
Если этот флаг установлен и выбрана точность «до рубля», программа будет автоматически применять это правило ко всем новым документам. Важно понимать, что изменение этой настройки повлияет только на будущие операции, а уже созданные документы могут потребовать перезаполнения или ручной корректировки.
Одной из наиболее вероятных причин округления является настройка в справочнике СпособыВыплатыЗарплаты. В конфигурации 1.0 именно здесь задается логика того, как суммы из начисления должны «трансформироваться» в суммы к выплате.
Проанализируем ситуацию по шагам:
Если там указано значение «До 1 рубля» или иное, отличное от «Без округления», то при проведении документа начисления (особенно в режиме первой половины месяца) система запишет в регистры суммы без копеек. Это делается для того, чтобы ведомости на выплату через банк или кассу заполнялись «красивыми» числами согласно учетной политике организации.
Разберем, почему данные в регистре ЗарплатаЗаМесяц или ВзаиморасчетыСРаботниками могут отличаться от того, что мы видим в табличной части документа НачислениеЗарплатыРаботникам. В старой версии ЗКГУ документ начисления выполняет двойную роль: он фиксирует само начисление и одновременно планирует выплату.
При проведении документа система обращается к алгоритмам формирования движений. Если в настройках способа выплаты стоит округление, копейки будут отброшены или округлены именно в момент записи в регистры. Чтобы проверить, как именно формируются движения, программисту стоит обратить внимание на процедуру ЗаместитьДанныеДляПроведения в модуле документа.
Рассмотрим пример того, как программно может выглядеть проверка округления (условный пример логики системы):
// Условный фрагмент кода определения суммы к выплате
Если СпособВыплаты.Округление = Справочники.СпособыВыплатыЗарплаты.ОкруглятьДоРубля Тогда
СуммаКВыплате = Окр(Строка.Результат, 0, РежимОкругления.ВМеньшуюСторону);
Иначе
СуммаКВыплате = Строка.Результат;
КонецЕсли;
Если вы видите, что в регистр Зарплата за месяц (за первую половину) суммы попадают округленными, значит, сработал именно этот механизм. Система считает, что аванс — это фиксированная выплата, которая должна соответствовать правилам округления, установленным для данного способа выплаты.
Поскольку мы работаем с бюджетной конфигурацией ЗКГУ, важно учитывать влияние статей финансирования. Программа обязана распределить начисленную сумму по источникам. Иногда алгоритм распределения при наличии копеек сталкивается с погрешностями округления.
Выясним причину через проверку распределения:
В бюджетном учете часто используется правило, по которому определенные виды выплат не могут содержать дробных частей, и система 1С жестко следует этим правилам, если они заданы в учетной политике.
Если все визуальные настройки проверены, но суммы продолжают округляться, проанализируем ситуацию с помощью отладки. В ЗКГУ 1.0 (на базе обычных форм) код более линейный, чем в версии 3.1, что упрощает задачу.
Рассмотрим план действий для программиста:
НачислениеЗарплатыРаботникамОрганизаций в процедуре ДвиженияПоРегистрам (название может варьироваться в зависимости от релиза).Зарплата за месяц.Число теряет точность.Часто в коде можно встретить использование функции ОкруглитьПоЗаданнымПравилам(), которая берет настройки из упомянутого выше справочника «Способы выплаты зарплаты». Проверьте, какой именно способ выплаты подтягивается в контекст формирования движений.
Подводя итог, можно сказать, что «исчезновение» копеек в 1С:ЗКГУ 1.0 — это не ошибка программы, а следствие работы механизмов округления выплат. Для решения проблемы необходимо проверить настройки справочника «Способы выплаты зарплаты» и «Параметры учета».
Если ваша организация обязана выплачивать зарплату и аванс с точностью до копейки, убедитесь, что во всех настройках округления установлено значение «Без округления». После изменения настроек не забудьте перепровести документы начисления, чтобы данные в регистрах обновились и ведомости на выплату начали заполняться корректно.