Загрузка пачек раздела 6 РСВ-1

Загрузка пачек раздела 6 РСВ-1. У организации есть филиал в другом городе, в отдельной базе рассчитывается зарплата филиала и все налоги и взносы тоже. Но выделенного баланса у филиала нет, поэтому отчетность сдается централизованно. После окончания 1 квартала 2014 встала необходимость загружать их пачки раздела 6 РСВ-1. Пришлось изучать документы и писать загрузку. Может кому-то пригодится. Для нашей организации очень атуальный вопрос.

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

Далее создана обработка ЗагрузкаПачекРаздела6РСВ1. Данная обработка требует указания организации и пути к файлу пачки, анализирует файл и загружает данные, при это открыватся документ Пачка раздела 6 РСВ-1, заполненный данными из файла XML.

Данная обработка содержит строку:

Возврат Наши_ПолныеПрава.НовоеЗастрахованноеЛицоПолныеПрава(Фамилия, Имя, Отчество, СтраховойНомерПФР, ПериодДанных);

Здесь идет обращение к общему модулю. Надо создать общий модуль Наши_ПолныеПрава, у него в свойствах  поставить галочку Привилегированный. И добавить функцию

Функция НовоеЗастрахованноеЛицоПолныеПрава(Фамилия, Имя, Отчество, СтраховойНомерПФР, ПериодДанных) Экспорт

 ФизЛицоОбъект = Справочники.ФизическиеЛица.СоздатьЭлемент();
  
 ФизЛицоОбъект.Наименование = Фамилия + » » + Имя + » » + Отчество;
 ФизЛицоОбъект.СтраховойНомерПФР = СтраховойНомерПФР;
 ФизЛицоОбъект.Родитель = Справочники.ФизическиеЛица.ФилиалФ; // это наша папка для ФЛ филиала
 ФизЛицоОбъект.ФилиалОтчетность = Истина; //Это наш реквизит для ФЛ филиала
  ФизЛицоОбъект.Записать();
  
 ФизЛицо = ФизЛицоОбъект.Ссылка;
  
 Набор = РегистрыСведений.ФИОФизЛиц.СоздатьНаборЗаписей();
 Набор.Отбор.ФизЛицо.Установить(ФизЛицо);
  
 Запись = Набор.Добавить();
 Запись.Фамилия  = Фамилия;
 Запись.Имя   = Имя;
 Запись.Отчество = Отчество;
 Запись.ФизЛицо  = ФизЛицо;
 Запись.Период = ПериодДанных;
  
 ОбщегоНазначенияЗК.ЗаписатьНабор(Набор);
 
 
 ПараметрыОтчетаФизЛицо = ЗначениеВСтрокуВнутр(ФизЛицо.Ссылка);
 
 Возврат ПараметрыОтчетаФизЛицо;

КонецФункции // СоздатьФизЛицо()

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

 

И последнее, что в нашем случае надо сделать Изменить условие в модуле менеджера Документа ПачкаРазделов6РасчетаРСВ_1, Процедура ПроверитьПравильностьЗаполненияДокументов стр. 107

Если Не ВыборкаПоРаботникам.ФизЛицоРаботаетВОрганизации

 И НЕ ВыборкаПоРаботникам.ФизЛицо.ФилиалОтчетность тогда  //добавили, так как сотрудники филиала в базе не создаются, а только ФЛ

——

Загрузка проходит довольно быстро, пробовали загружать пачки обычных сотрудников, инвалидов, льготников. Загрузка проходит успешно. Только сам документ довольно долго для больших пачек сохраняется. И, конечно, после загрузки пачек, их необходимо добавить в опись АДВ-2, и подправить РСВ-1, так как она заполняется по данным регистров а не пачек. У нас после всех этих манипуляций нормально прошла  проверка пачек и выгрузка из 1С. Сейчас ждем протокол от ПФР.

Добавила архив с двумя файлами ArhivXDTO&Zagruzka.zip

 

3 Comments

  1. xxx90

    Если в пачке у человека в заработке нули то появляется ошибка . Как обойти? Как проверить, что строки дохода нулевые?

    Reply
  2. the1

    Спасибо, загружает!

    Единственно, не понял, зачем XDTO-пакет в конфе. Я изменил модуль (перенес ф-ию общего модуля в обработку) и не включал XDTO-пакет в конфигурацию. Получилась вполне себе работоспособная внешняя обработка.

    Reply
  3. the1

    (1) xxx90, заменить модуль формы

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *