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