Загрузка корректировок уплаченных страховых взносов по данным из ПФР

Опубликовал Илья Ванчугов (Vanchez) в раздел Обмен - Обмен с другими системами

Иногда данные в пенсионном фонде расходятся с данными в программе. Обработка поможет загрузить корректировки из файла предоставляемого ПФР (xls).

Обработка загружает разницу в перечисленных суммах между данными пачек СЗВ-6 и данными из файла xls в отдельную пачку СВЗ-6 ( ее период задается в поле "Период корректировки")

Анализируются принятые в ПФР пачки с 01.01.2010 по период, указанный в поле "Период анализа" (дата начала отчетного периода, например, 01.01.2012, 01.04.2012, 01.07.2012...). Пачки начиная с 2013 года не учитываются!

Созданную обработкой пачку необходимо включить в какую-либо существующую опись АДВ-6-2 (принятую в ПФР), чтобы корректировки учитывались при последующих распределениях уплат.

Расчитана на определенный вид файла (представлен на скриншоте, названия и порядок колонок также имеют значение).

Флажок "рассчитывать по разнице "уплачено - начислено" нужен когда из ПФ присылают только данные по остатку неуплаченных/переплаченных взносов.

Скачать файлы

Наименование Файл Версия Размер
Скорректировать уплату по данным ПФР
.epf 15,70Kb
13.08.13
210
.epf 15,70Kb 210 Скачать

См. также

Комментарии
1. Алексей Саурин (as7bs) 104 27.11.12 09:59 Сейчас в теме
Скачал. Работоспособность пока не проверял но за идею плюс. Не пойму почему 1С не реализут возможность загрузки остатков из файла предоставляемого ПФР в какой-либо регистр на какую-либо дату и дальнейшее распределение с этой даты.
Приходилось пару раз делать аналогичное, через обработку "Загрузка данных из табличного документа". Сначала создавал СЗВ 6-1 в котором все обнулялось, потом - второй, в который заносил реальные остатки по отчету из ПФР.
2. Алексей Захаров (almas) 185 24.01.13 15:22 Сейчас в теме
Пожалуйста вставьте обработку строки сртахового номера, от лишних пробелов внутри строки:
ТекЗначение=СтрЗаменить(ТекЗначение," ","");

Иначе не ищет сотрудников.
SolarGard; +1 Ответить
3. SolarGard (SolarGard) 100 19.02.13 11:17 Сейчас в теме
Функция ПолучитьТЗИзФайлаПФР()

тзФайл = новый ТаблицаЗначений;

//загрузим эксель файл в таблицу значений
Если ЗначениеЗаполнено(ИмяФайла) Тогда

Попытка
Эксель = Новый COMОбъект("Excel.Application");
Эксель.WorkBooks.Open(ИмяФайла);
Эксель.Worksheets(1).Activate();
Эксель.ActiveSheet.UsedRange.Select();
//Эксель.Visible = 1;
Исключение
Сообщить("Ошибка открытия файла: проверьте, установлен ли MS Excel");
возврат тзФайл
КонецПопытки;

//СписокИменКолонок = Новый СписокЗначений;

Попытка

лВыбраннаяОбласть = Эксель.Selection;
лВсегоСтрок = лВыбраннаяОбласть.Rows.Count;
лВсегоКолонок = мин(лВыбраннаяОбласть.Columns.Count,11);
лВсегоЯч = лВсегоСтрок * лВсегоКолонок;

Если лВсегоЯч < 2 Тогда
Сообщить("Ошибка разбора структуры файла:" + Символы.ПС + "Область не выделена!!!" + Символы.ПС + "Или активный документ пуст!!!");
Возврат тзФайл;
КонецЕсли;
Сообщить("ВсегоСтрок " + Строка(лВсегоСтрок));
Для лСчетчикКолонок = 1 По лВсегоКолонок Цикл
лТекущаяЯчейка = лВыбраннаяОбласть.Cells(1, лСчетчикКолонок);
ИмяКолонки = сокрлп(лТекущаяЯчейка.Value);
ИмяКолонки = СтрЗаменить(ИмяКолонки," ","_");
тзФайл.Колонки.Добавить(ИмяКолонки);
//СписокИменКолонок.Добавить(ИмяКолонки);
КонецЦикла;
//тзФайл.Колонки.Добавить("ФИО");
//СписокИменКолонок.Добавить("ФИО");

ЧисловыеКолонки = ",1,8,9,10,11,";

Для лСчетчикСтрок = 2 По лВсегоСтрок Цикл
НоваяСтрокаТЗ = тзФайл.Добавить();
Для лСчетчикКолонок = 1 По лВсегоКолонок Цикл
ТекЗначение = лВыбраннаяОбласть.Cells(лСчетчикСтрок, лСчетчикКолонок).Value;

Если найти(ЧисловыеКолонки,","+лСчетчикКолонок+",")<>0 тогда

Попытка
ТекЗначение = окр(число(ТекЗначение),2);
Исключение
Если сокрЛП(ТекЗначение)="" тогда
ТекЗначение = 0;
Иначе
Сообщить("В строке "+лСчетчикСтрок+", колонке "+лСчетчикКолонок+" должно быть число!");
КонецЕсли;
КонецПопытки;
Иначе
ТекЗначение = СтрЗаменить(ТекЗначение," ",""); //%%%%%%%%%%%%%%%%%%%
КонецЕсли;
//ИмяТекКолонки = лВыбраннаяОбласть.Cells(1, лСчетчикКолонок).Value;
НоваяСтрокаТЗ[лСчетчикКолонок-1] = ТекЗначение;
КонецЦикла;
//НоваяСтрокаТЗ.ФИО = ВРЕГ(НоваяСтрокаТЗ.Фамилия+" "+НоваяСтрокаТЗ.Имя+" "+НоваяСтрокаТЗ.Отчество);
КонецЦикла;

исключение
Сообщить(ОписаниеОшибки());
Эксель.Quit();
возврат тзФайл
КонецПопытки;

Если НЕ Эксель = Неопределено Тогда
//Эксель.Save();
Эксель.Quit();
КонецЕсли;

КонецЕсли;

возврат тзФайл

КонецФункции
4. SolarGard (SolarGard) 100 19.02.13 11:18 Сейчас в теме
И со страховым номером проблемы были. Я так подправил
5. Илья Ванчугов (Vanchez) 171 19.02.13 21:02 Сейчас в теме
(4) SolarGard,
Исходные данные у всех разные - у меня, например, уже без пробелов были стр. номера. Ну в любом случае вставил такую проверку.
6. Анна Код (annkod) 12.04.13 10:29 Сейчас в теме
ничего не понимаю - у меня почему-то СтрЗаменить не отрабатывает, и ТекЗначение остается с пробелами. бред...
7. Анна Код (annkod) 12.04.13 11:45 Сейчас в теме
кому интересно, проблема была в разделении разрядов чисел. решила так:
ТекЗначение = СокрЛП(Формат(ТекЗначение, "ЧН=; ЧГ=0"));
ТекЗначение = СтрЗаменить(ТекЗначение," ","");
8. Сергей Викторович (Loader_1C) 02.05.13 00:08 Сейчас в теме
Спасибо! и комментарии полезные, значит сработает, проверим.
9. Vit Hammer (VitHammer) 26 04.05.13 07:37 Сейчас в теме
Спасибо, хоршошая штука. Избавила меня от необходимости возиться с "загрузкой из табличного документа". С Вашего позволения еще пару своих идей добавлю:
1. Если внести небольшие изменения со строки 33 модуля объекта, то подготовка файла сведется к простому удалению из него 2-х первых строк.
Для лСчетчикКолонок = 1 По лВсегоКолонок Цикл
лТекущаяЯчейка = лВыбраннаяОбласть.Cells(1, лСчетчикКолонок);
ИмяКолонки = сокрлп(лТекущаяЯчейка.Value);
ИмяКолонки = СтрЗаменить(ИмяКолонки,"№","Номер");
ИмяКолонки = СтрЗаменить(ИмяКолонки," ","_");
ИмяКолонки = СтрЗаменить(ИмяКолонки,"/","");
тзФайл.Колонки.Добавить(ИмяКолонки);
//СписокИменКолонок.Добавить(ИмяКолонки);
КонецЦикла;
2. Неплохо было бы сделать выбор организации, так как бывает несколько организаций в одной базе, у которых физлица пересекаются.
3. Если просто открыть обработку и закрыть ее, она попросит поставить плюсик. Она безусловно заслуживает плюс, и не один. Но логичнее было бы спрашивать мнение пользователя, если было хотя бы одно нажатие на "Выполнить" (а еще лучше - с положительным результатом). Но это чисто мое мнение.
4. Удалить пробелы из числа можно еще одним методом (см комент от annkod):
ТекЗначение = СтрЗаменить(ТекЗначение,Символы.НПП,"");
5. В одной из моих баз нашлись люди, по которым не было сведений по взносам ПФР, но они были в справочнике физлиц и были в файле ПФР. И они были должны! Тогда я в запрос по документам СЗВ добавил запрос по справочнику физлиц. В этом добавочном запросе все суммы я поставил нулевыми. Метод добавления - "Объединить все". И у меня все загрузилось!
10. Виталий Виноградов (Vital0604) 03.07.13 09:50 Сейчас в теме
Скиньте пожалуйста обработку на почту vital-tula@mail.ru, с меня плюс. Очень нужна!!!
11. Виталий Виноградов (Vital0604) 05.07.13 13:13 Сейчас в теме
Подскажите пожалуйста, обработка не находит по номеру ни одного сотрудника, в чём может быть причина?
12. Vit Hammer (VitHammer) 26 05.07.13 13:22 Сейчас в теме
(11) Vital0604, найди в модуле строчку
ТекЗначение = СтрЗаменить(ТекЗначение," ","");
и замени ее на две строки
ТекЗначение = СтрЗаменить(ТекЗначение,Символы.НПП,"");
ТекЗначение = СтрЗаменить(ТекЗначение," ","");
13. Виталий Виноградов (Vital0604) 05.07.13 13:35 Сейчас в теме
Пробовал, не помогает, всё равно пишет, что в файле не найден номер
14. Михаил Бирюков (m19b) 25.07.13 14:18 Сейчас в теме
Появляется сообщение: "Из базы не получены данные!"
Файл ПФР, номера без пробелов. Период правильно выбран...
Что не так? Подскажите, пожалуйста.
15. Илья Ванчугов (Vanchez) 171 25.07.13 22:02 Сейчас в теме
Или пачек СЗВ-4 нет, или они не проведены, или не стоит признак "Принято ПФР"
16. Гость 26.07.13 07:12 Сейчас в теме
Пачки СЗВ-6-4 проведены. Признак принятия ПФР стоит. Вы упомянули пачки СЗВ-4.
В этом,наверно,все дело. Можно ли это исправить. Буду Вам материально благодарен.
С уважением, Михаил
Прикрепленные файлы:
Пачки в ЗИУП 8.2 редакция 2.5.docx
17. Илья Ванчугов (Vanchez) 171 26.07.13 09:02 Сейчас в теме
(16) Михаил,
Я имел в виду документы СЗВ-6-1 и СЗВ-6-2, которые использовались до 2013 г (СЗВ-4 они назывались еще раньше). Если их нет, то обработка не поможет. Вы можете загрузить их из ранее принятых файлов (Подготовка данных для ПФР - Добавить - Принятые в ПФР комплекты прошлых периодов).
Если остались вопросы, задавайте их в личку.
18. Гость 26.07.13 09:19 Сейчас в теме
Спасибо Вам за внимание. Я уже 3 сутки пытаюсь ввести сальдо по взносам в ПФР - задолженность
на 1 апреля 2013 г. по 300 сотрудникам. Отчетность до этого сдавалась в программе ПФР. 1С запущена, данных за прошлые периоды нет или они неправильные. Пачки не проведены. Я их поудалял до 2013 г.
Сделал отчет за 1 и 2 квартал 2013 г.при 0 задолженности. А как выйти на сальдо ПФР не знаю. Пробую сейчас изменять суммы уплаты прямо в пачках 1 квартала, но это так долго. Может быть, что-нибудь посоветуете? Просто ставить задолженность в Исходных данных без начислений не получается - пачки не проводятся. А начисления есть не по всем сотрудникам, некоторые уже не работают. Корректировку за 1 квартал делать нельзя.
С уважением, Михаил.
19. Леопольд Роскошный (ЛеваРоскошный) 32 31.07.13 12:53 Сейчас в теме
{ВнешняяОбработка.ПФР_СкорректироватьУплатуПоДаннымПФР.МодульОбъекта(37)}: Ошибка при вызове метода контекста (Добавить): Неверное имя колонки
Из файла не была получена информация!

такая вот ошибочка.
что делать ?
20. Илья Ванчугов (Vanchez) 171 31.07.13 21:30 Сейчас в теме
(19) ЛеваРоскошный,
Названия и порядок колонок должны быть такими же, как на скриншоте
21. Марина Чирина (chmv) 06.08.13 15:58 Сейчас в теме
Лучше все-таки грузить из xls. ПФР не хочет, но дает
22. vlad kan (truba) 09.08.13 16:28 Сейчас в теме
плохо что многофирменности нет, добавляется же двумя ходами ;)
23. Аktrc Новоселецкий (kkprps) 15.10.13 16:08 Сейчас в теме
{ВнешняяОбработка.ПФР_СкорректироватьУплатуПоДаннымПФР.МодульОбъекта(37)}: Ошибка при вызове метода контекста (Добавить): Неверное имя колонки
Из файла не была получена информация!
Файл xls получен из ПФ, колонки совпадают
24. program program (prodines) 103 07.11.13 17:16 Сейчас в теме
(23) kkprps, возможно, надо удалить первые 2 строки экселевского файла - предшествующие синему заголовку. У меня есть такие, по крайней мере.
25. Виталий Виноградов (Vital0604) 26.11.13 13:31 Сейчас в теме
{ВнешняяОбработка.ПФР_СкорректироватьУплатуПоДаннымПФР.МодульОбъекта(270)}: Поле объекта не обнаружено (разница_усч_нсч)
Если РазницаСтр<>НайденнаяСтрока.разница_усч_нсч или РазницаНак<>НайденнаяСтрока.разница_унч_ннч Тогда
Такое поле есть. Файл из ПФР только с данными по остатку неуплаченных/переплаченных взносов, галку установил. В чём может быть проблема?
26. Дима Путин (dimasikus31) 42 12.02.14 17:27 Сейчас в теме
Здравствуйте! Можно ли доработать обработку, что на учитывала и 2013 год. Потому что есть файл ексель с данными на начало 4 кв. 2013 года. Спасибо