Каталог решений - Простенькая функция для определения номера пачки по правилам ПФР

Простенькая функция для определения номера пачки по правилам ПФР

Простенькая функция для определения номера пачки по правилам ПФР

В наличии

Как известно, зарплатные конфигурации 1С нумеруют пачки с нарастающим итогом, ПФР же настаивает на собственной нумерации пачек (по крайней мере, у нас в Л.О.).  Для нумерации по правилам ПФР можно использовать эту функцию.

Категория:

Описание

Эти 2 функции добавить в общий модуль "ПроцедурыПерсонифицированногоУчета"

// ----------------------------------------------------------------------------------------------
Функция ПолучитьНомерКварталаОтчетногоПериода(ДатаПериода)

НомМесяца = Месяц(ДатаПериода);
Год = Год(ДатаПериода);
НомМесяца = ?((Год=2010) и (НомМесяца=7), 4, НомМесяца);

Возврат ?(НомМесяца=1, 1, ?(НомМесяца=4, 2, ?(НомМесяца=7, 3, 4)));

КонецФункции // ПолучитьНомерКварталаОтчетногоПериода

// ———————————————————————————————-
// Параметры:
// ОтчетныйПериод — дата
//
// Возвращает:
// Число (5,0)
//
Функция ОпределитьНомерПервойПачкиПоПравиламПФР(ОтчетныйПериод) Экспорт

ГодПачки = Год(ОтчетныйПериод);

Если ГодПачки = 2010 Тогда
НомерПачки = (12 + ГодПачки — 2008) * 1000 + 1;

Иначе
Квартал = ПолучитьНомерКварталаОтчетногоПериода(ОтчетныйПериод);
НомерПачки = (16 + (ГодПачки — 2011) * 4 + (Квартал — 1)) * 1000 + 1;

КонецЕсли;

Возврат НомерПачки

КонецФункции // ОпределитьНомерПачкиПоПравиламПФР


Функцию ПолучитьСчетчикВыгруженныхФайловПФР из общего модуля «РегламентированнаяОтчетность» я изменил таким образом, чтобы она сравнивала текущий номер пачки из регистра, и номер пачки по правилам ПФР. При различии в значениях берется ПФР-номер.

Функция ПолучитьСчетчикВыгруженныхФайловПФР(Организация, Год, ОтчетныйПериод = Неопределено) Экспорт

НомерПачки = 0;

Запрос = Новый Запрос(
"ВЫБРАТЬ
| СчетчикВыгрузокПФР.Значение КАК Значение
|ИЗ
| РегистрСведений.СчетчикВыгрузокПФР КАК СчетчикВыгрузокПФР
|ГДЕ
| СчетчикВыгрузокПФР.Организация = &Организация
| И СчетчикВыгрузокПФР.Год = &Год"
);

Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Год", Год);

РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() Тогда
НомерПачки = ?(НЕ ЗначениеЗаполнено(Выборка.Значение), 0, Выборка.Значение);
КонецЕсли;
КонецЕсли;

Если ОтчетныйПериод <> Неопределено Тогда
НомерПервойПачки = ПроцедурыПерсонифицированногоУчета.ОпределитьНомерПервойПачкиПоПравиламПФР(ОтчетныйПериод);
Если Лев(НомерПервойПачки, 2) = Лев(НомерПачки, 2) Тогда // соблюдено условие нумерации ПФР
Возврат НомерПачки;
КонецЕсли;
Возврат Макс(НомерПервойПачки, НомерПачки);
КонецЕсли;

Возврат НомерПачки;

КонецФункции
Теперь вызывать функцию ПолучитьСчетчикВыгруженныхФайловПФР из документов персучета необходимо с дополнительным параметром
ОтчетныйПериод. Если новый параметр не передать, то произойдет расчет номеров по алгоритму 1С.
has been added to your cart:
Оформление заказа