Подготовка сведений для ПФР 2011 с расчетом уплаченных НЕ через коэффициент
Разработка - Практика программирования
Использует файл сохраненный настроек отчета за прошлый период (например - "_1_ИСХОДНАЯ_12010.pf")
Сделан для себя (НЕ ДЛЯ УПРОЩЕНКИ).
Старался минимизировать свои изменения, они помечены "// новое начало" и "// новое конец"
Для исправления предыдущего отчета или создания нового, но с учетом доплаты или переплаты в прошлом отчете, поставить флажок "в прошлом периоде"
Для создания нового без исправлений, с расчетом не коэффициентом, и с условием, что прошлый период был рассчитан не коэфф. и не требуется доплата/удержание за него, оба флажка: "в этом периоде" и "в прошлом периоде" НЕ ставить.
По сути изменения:
Добавил процедурку:
// Новое начало СосчитатьВыплатыЧерезНачисленияСоЗдвигомНаМесяц()
//******************************************************************************
// СосчитатьВыплатыЧерезНачисленияСоЗдвигомНаМесяц()
//Описание:
//процедура заполняет суммы уплаченных взносов пересчитав начисленные
//по сотрудникам за тот-же период со сдвигом на месяц назад
//
Процедура СосчитатьВыплатыЧерезНачисленияСоЗдвигомНаМесяц()
ТабПоУплатамПредПериод = СоздатьОбъект("ТаблицаЗначений");
ТабПоУплатамПредПериод.НоваяКолонка("Объект");
ТабПоУплатамПредПериод.НоваяКолонка("Период");
ТабПоУплатамПредПериод.НоваяКолонка("УплачСтрах");
ТабПоУплатамПредПериод.НоваяКолонка("УплачНакоп");
ТабПоУплатамТекПериод = СоздатьОбъект("ТаблицаЗначений");
ТабПоУплатамПредПериод.Выгрузить(ТабПоУплатамТекПериод);
// вычислим период, за который начисленные СтрахВзносы входили в уплату по текущему периоду
ТекущийОтченыйПериод= ПолучитьДатуНачала();
НачОтсчТекПериодаРасчета= НачМесяца(ТекущийОтченыйПериод - 1);
КонОтсчТекПериодаРасчета= КонМесяца((Мин(глПолучитьДатуОкончанияОтчетногоПериодаСЗВ(ТекущийОтченыйПериод),ДатаОтчета))-32);
// вычислим период, за который начисленные СтрахВзносы входили в уплату по предыдущему периоду
// что-бы узнать остатки с прошлого периода. Если Сотр был уволен в середине предыдущего периода
ДатаСоЗдвигом= ПолучитьОтчетныйПериодПоДате(НачОтсчТекПериодаРасчета);
ВременОтчетныйПериод= ОтчетныйПериод;
ОтчетныйПериод= ДатаСоЗдвигом;
ПредыдущийОтченыйПериод= ПолучитьДатуНачала();
ОтчетныйПериод = ВременОтчетныйПериод;
ТекущийОтченыйПериод= ПолучитьДатуНачала(); // возможно лишнее обращение и можно удалить
НачОтсчПредПериодаРасчета= НачМесяца(ПредыдущийОтченыйПериод - 1);
КонОтсчПредПериодаРасчета= КонМесяца((Мин(глПолучитьДатуОкончанияОтчетногоПериодаСЗВ(ПредыдущийОтченыйПериод),ДатаОтчета))-32);
// Сообщить("ТекущийОтченыйПериод");
// Сообщить(ТекущийОтченыйПериод);
// Сообщить("НачОтсчТекПериодаРасчета");
// Сообщить(НачОтсчТекПериодаРасчета);
// Сообщить("КонОтсчТекПериодаРасчета");
// Сообщить(КонОтсчТекПериодаРасчета);
// Сообщить("ПредыдущийОтченыйПериод");
// Сообщить(ПредыдущийОтченыйПериод);
// Сообщить("НачОтсчПредПериодаРасчета");
// Сообщить(НачОтсчПредПериодаРасчета);
// Сообщить("КонОтсчПредПериодаРасчета");
// Сообщить(КонОтсчПредПериодаРасчета);
ТабПоУплатам = СоздатьОбъект("ТаблицаЗначений");
ЗапросПоВзносам=СоздатьОбъект("Запрос");
ТекстЗапроса="//{{ЗАПРОС(ЗапросПоВзносам)
|С НачОтсчПредПериодаРасчета по КонОтсчТекПериодаРасчета;
|Объект = ЖурналРасчетов.СтраховыеВзносы.Объект;
|ВР = ЖурналРасчетов.СтраховыеВзносы.ВидРасч;
|Результат = ЖурналРасчетов.СтраховыеВзносы.Результат;
|Регистрация = ЖурналРасчетов.СтраховыеВзносы.ДатаОкончания;
|Группировка Объект Без Групп Без Упорядочивания;
|Группировка ВР Без Групп Без Упорядочивания;
|Группировка Результат Без Групп;
|Без Итогов;
|Группировка Регистрация;
|Условие((Результат <> 0) И ((ВР = ВидРасчета.ПФРСтраховаяЧастьс2010) ИЛИ (ВР = ВидРасчета.ПФРНакопительнаяЧастьс2010)));
|"//}}ЗАПРОС
;
Если ЗапросПоВзносам.Выполнить(ТекстЗапроса)=0 Тогда
Сообщить("Не удалось обработать журнал взносов");
КонецЕсли;
ЗапросПоВзносам.Выгрузить(ТабПоУплатам);
ТабПоУплатам.Сортировать("Объект,Регистрация");
ТабПоУплатам.НоваяКолонка("ПериодОплаты");
ТабПоУплатам.ВыбратьСтроки();
Пока ТабПоУплатам.ПолучитьСтроку()=1 Цикл
Если ТабПоУплатам.Регистрация>=НачОтсчТекПериодаРасчета Тогда
ТабПоУплатамТекПериод.НоваяСтрока();
ТабПоУплатамТекПериод.Период = ТекущийОтченыйПериод;
ТабПоУплатамТекПериод.Объект = ТабПоУплатам.Объект; // удалить
ТабПоУплатам.ПериодОплаты = ТекущийОтченыйПериод;
Если ТабПоУплатам.ВР = ВидРасчета.ПФРСтраховаяЧастьс2010 Тогда
ТабПоУплатамТекПериод.УплачСтрах = ТабПоУплатам.Результат;
ТабПоУплатамТекПериод.УплачНакоп = 0;
ТабПоУплатам.ПериодОплаты = ТекущийОтченыйПериод; // удалить
Иначе
ТабПоУплатамТекПериод.УплачНакоп = ТабПоУплатам.Результат;
ТабПоУплатамТекПериод.УплачСтрах = 0;
КонецЕсли;
Иначе
ТабПоУплатамПредПериод.НоваяСтрока();
ТабПоУплатамПредПериод.Период = ПредыдущийОтченыйПериод;
ТабПоУплатамПредПериод.Объект = ТабПоУплатам.Объект;
ТабПоУплатам.ПериодОплаты = ПредыдущийОтченыйПериод; // удалить
Если ТабПоУплатам.ВР = ВидРасчета.ПФРСтраховаяЧастьс2010 Тогда
ТабПоУплатамПредПериод.УплачСтрах = ТабПоУплатам.Результат;
ТабПоУплатамПредПериод.УплачНакоп = 0;
Иначе
ТабПоУплатамПредПериод.УплачНакоп = ТабПоУплатам.Результат;
ТабПоУплатамПредПериод.УплачСтрах = 0;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ТабПоУплатамТекПериод.Свернуть("Объект,Период","УплачСтрах,УплачНакоп");
ТабПоУплатамТекПериод.Сортировать("Объект,Период");
//ТабПоУплатамТекПериод.ВыбратьСтроку(,"ТабПоУплатамТекПериод_3_ВнутриПроцедуры");
ТабПоУплатамПредПериод.Свернуть("Объект,Период","УплачСтрах,УплачНакоп");
ТабПоУплатамПредПериод.Сортировать("Объект,Период");
//ТабПоУплатамПредПериод.ВыбратьСтроку(,"ТабПоУплатамПредПериод_3_ВнутриПроцедуры");
// ------------------------------------------------------------------------------------------
// получим из файла настроек
ОтчетныйПериодВременный= ОтчетныйПериод ;
ОтчетныйПериод = ПредыдущийОтченыйПериод;
ДатаПериода = ОтчетныйПериод;
ИмяФайла = ПолучитьИмяФайлаНастроек();
УплатыПредПериод= СоздатьОбъект("ТаблицаЗначений");
Если ФС.СуществуетФайл(ИмяФайла) =1 Тогда
ФайлНастр = СоздатьОбъект("Текст");
ФайлНастр.Открыть(ИмяФайла);
Иначе Возврат;
КонецЕсли;
// список документов в 3-й строке
СтрокаСписокДокументов = СтрЗаменить(ФайлНастр.ПолучитьСтроку(3), констКод1, констКод10);
УплатыПредПериод= ЗначениеИзСтрокиВнутр(СтрокаСписокДокументов);
//УплатыПредПериод.ВыбратьСтроку(,"СписокДокументов УплатыПредПериод");
// очистим и восстановим переменные
ОтчетныйПериод = ОтчетныйПериодВременный;
ДатаПериода = ОтчетныйПериод;
ИмяФайлаНастроек = ПолучитьИмяФайлаНастроек();
ТаблицаПачки= "";
СтрокаСписокДокументов = "";
ТабПоУплатам = "";
КонецПроцедуры // СосчитатьВыплатыЧерезНачисленияСоЗдвигомНаМесяц()
// новое конец // СосчитатьВыплатыЧерезНачисленияСоЗдвигомНаМесяц()
ну и в процедуре ЗаполнитьСуммыВзносов() добавил:
ТабИсчисленоВзносов.ВыбратьСтроки();
Пока ТабИсчисленоВзносов.ПолучитьСтроку()=1 Цикл
КоэффициентСтраховая = 0;
КоэффициентНакопительная = 0;
ДатаПериода = ТабИсчисленоВзносов.ОтчетныйПериод;
НомСтроки = "";
Если ТабУплатыВзносов.НайтиЗначение(ДатаПериода,НомСтроки,"ОтчетныйПериод")=1 Тогда
КоэффициентСтраховая = ТабУплатыВзносов.ПолучитьЗначение(НомСтроки,"КоэффициентСтраховая");
КоэффициентНакопительная = ТабУплатыВзносов.ПолучитьЗначение(НомСтроки,"КоэффициентНакопительная");
КонецЕсли;
ТабИсчисленоВзносов.Ключ = ПолучитьКлючСотрудника(ТабИсчисленоВзносов.Сотрудник,ТабИсчисленоВзносов.КатегорияЗЛ);
// новое начало
НомСтрок1 = 0;
НомСтрок2 = 0;
НомСтрок3 = 0;
НовУплачСтрах = 0;
НовУплачНакоп = 0;
Если (КоэфДА=0) И (ДатаПериода=ТекущийОтченыйПериод) Тогда // это начислен/удерж тек периода и по новому
ТабПоУплатамТекПериод.НайтиЗначение(ТабИсчисленоВзносов.Сотрудник,НомСтрок1,"Объект");
Если (НомСтрок1=0) Тогда// не найдена, значт не было начислений и они будут состоять только из остатков с пр периода
ТабИсчисленоВзносов.УплаченоСтраховая = 0;
ТабИсчисленоВзносов.УплаченоНакопительная = 0;
Иначе // нашли, плюсуем
ТабПоУплатамТекПериод.ПолучитьСтрокуПоНомеру(НомСтрок1);
ТабИсчисленоВзносов.УплаченоСтраховая = ТабПоУплатамТекПериод.УплачСтрах;
ТабИсчисленоВзносов.УплаченоНакопительная = ТабПоУплатамТекПериод.УплачНакоп;
КонецЕсли;
ИначеЕсли (КоэфДА=0) И (ДатаПериода<>ТекущийОтченыйПериод) Тогда //это начислен\удерж прошл периода и по новому
Если (КоэфДА1=0) Тогда// прошлый период был посчитан по новому
ТабИсчисленоВзносов.УплаченоСтраховая = 0;
ТабИсчисленоВзносов.УплаченоНакопительная = 0;
ИначеЕсли (КоэфДА1=1) Тогда // прошлый период был посчитан по старому
ТабПоУплатамПредПериод.НайтиЗначение(ТабИсчисленоВзносов.Сотрудник,НомСтрок2,"Объект");
УплатыПредПериод.НайтиЗначение(ТабИсчисленоВзносов.Сотрудник,НомСтрок3,"Сотрудник");
Если (НомСтрок2=0) и (НомСтрок3<>0) Тогда// значт были начисления, но не должны были быть ????????????
// нашли, считываем начисления прошлого периода старым способом, полученные из файла
УплатыПредПериод.ПолучитьСтрокуПоНомеру(НомСтрок3);
ТабИсчисленоВзносов.УплаченоСтраховая = УплатыПредПериод.УплаченоСтраховая;
ТабИсчисленоВзносов.УплаченоНакопительная = УплатыПредПериод.УплаченоНакопительная;
Сообщить(Строка(ТабИсчисленоВзносов.Сотрудник) + " были начисления, но не должны были быть ????? НЕДОУПЛАТА");
// реальная недоуплата должна быть разницей (Правильно - ЧерезКоэф)
ТабИсчисленоВзносов.УплаченоСтраховая = 0 - ТабИсчисленоВзносов.УплаченоСтраховая;
ТабИсчисленоВзносов.УплаченоНакопительная = 0 - ТабИсчисленоВзносов.УплаченоНакопительная;
ИначеЕсли (НомСтрок2<>0) и (НомСтрок3=0) Тогда// значт не было начислений, но должны были быть ????????????
// сколько должны были начислить, еслиб считали не коэффициентом
ТабПоУплатамПредПериод.ПолучитьСтрокуПоНомеру(НомСтрок2);
ТабИсчисленоВзносов.УплаченоСтраховая = ТабПоУплатамПредПериод.УплачСтрах;
ТабИсчисленоВзносов.УплаченоНакопительная = ТабПоУплатамПредПериод.УплачНакоп;
Сообщить(Строка(ТабИсчисленоВзносов.Сотрудник) + " не было начислений, но должны были быть ПЕРЕПЛАТА ???????");
ИначеЕсли (НомСтрок2=0) и (НомСтрок3=0) Тогда// значт не было начислений, и не должно было быть
ТабИсчисленоВзносов.УплаченоСтраховая = 0;
ТабИсчисленоВзносов.УплаченоНакопительная = 0;
Иначе
// нашли, считываем начисления прошлого периода старым способом, полученные из файла
УплатыПредПериод.ПолучитьСтрокуПоНомеру(НомСтрок3);
ТабИсчисленоВзносов.УплаченоСтраховая = УплатыПредПериод.УплаченоСтраховая;
ТабИсчисленоВзносов.УплаченоНакопительная = УплатыПредПериод.УплаченоНакопительная;
// сколько должны были начислить, еслиб считали не коэффициентом
ТабПоУплатамПредПериод.ПолучитьСтрокуПоНомеру(НомСтрок2);
НовУплачСтрах = ТабПоУплатамПредПериод.УплачСтрах;
НовУплачНакоп = ТабПоУплатамПредПериод.УплачНакоп; // 2222222222222222222222222
// реальная недоуплата должна быть разницей (Правильно - ЧерезКоэф)
ТабИсчисленоВзносов.УплаченоСтраховая = НовУплачСтрах - ТабИсчисленоВзносов.УплаченоСтраховая;
ТабИсчисленоВзносов.УплаченоНакопительная = НовУплачНакоп - ТабИсчисленоВзносов.УплаченоНакопительная;
КонецЕсли;
КонецЕсли;
ИначеЕсли (КоэфДА=1) и (КоэфДА1=1) Тогда // всё считаем по старому
// новое конец
ТабИсчисленоВзносов.УплаченоСтраховая = ОКР(ТабИсчисленоВзносов.ИсчисленоСтраховая * КоэффициентСтраховая,2);
ТабИсчисленоВзносов.УплаченоНакопительная = ОКР(ТабИсчисленоВзносов.ИсчисленоНакопительная * КоэффициентНакопительная,2);
// новое начало
КонецЕсли;
// новое конец
Если ДатаПериода<>ТекущийОтченыйПериод Тогда
ТабИсчисленоВзносов.ИсчисленоСтраховая = 0;
ТабИсчисленоВзносов.ИсчисленоНакопительная = 0;
КонецЕсли;
КонецЦикла;
Это из крупных изменений =) остальное так... по мелочи =)
Исходник: //infostart.ru/public/84659/
Удачи в борьбе с 1С.
ИСПРАВЛЕНИЯ:
Поправил немного, были пара-тройка уволенных невовремя) сотров потеряны правил в спешке, но теперь НОВЫЙ отчет без ошибок!
Специальные предложения
См. также
Новый раздел на Инфостарте - Electronic Software Distribution Промо
Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.
- Низкие цены, без скрытых платежей и наценок
- Оперативная отгрузка
- Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
- Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)
Подготовка сведений в ПФР за 2013 год с распределением суммы уплаченных взносов, превышающих начисленные 41
1 стартмани
20.04.2013 21666 425 mirrr 65
Подготовка сведений для ПФР - исправление некорректного формирования отрицательных сумм взносов с сумм превышения максимального предела. Конфигурация: ЗИК 7.70.328 10
1 стартмани
22.10.2012 15677 49 u_n_k_n_o_w_n 9
1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо
СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.
Расчет Страховых Взносов 2012 (РСВ-1 для ПФР) (Выгрузка из ЗиК - Загрузка в Бухгалтерию) 43
1 стартмани
03.05.2012 22269 298 b-dm 42
Онлайн-интенсив "Бизнес-процессы для подготовки к экзамену 1С:Специалист по платформе" 12 декабря 2019 г. Промо
На интенсиве будут рассмотрены все теоретические вопросы, связанные с устройством механизма бизнес-процессов – это необходимо для успешной сдачи экзамена 1С:Специалист по платформе. Также, в качестве практического примера, будет решена задача, аналогичная экзаменационной.
777 рублей
Свод проводок с детализацией по сотрудникам и видам расчетов 37
1 стартмани
12.04.2012 22287 269 alx300 17
Сверка НДФЛ начисленного, удержанного и перечисленного в программе "1C:Зарплата и кадры 7.7" 18
1 стартмани
27.03.2012 25953 231 bb1962 20
Программы для исполнения 54-ФЗ Промо
С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.
Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо
Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.
29700 руб.
Вывод и перенумерация отчета с заранее неизвестным количеством группировок. 20
1 стартмани
21.03.2012 23830 20 unichkin 11
Программы для исполнения 488-ФЗ: Маркировка товаров Промо
1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.
Автоматическое создание документов "Перечисление НДФЛ в бюджет" для ЗиК 7.7 27
1 стартмани
05.03.2012 19872 95 Krasnyj 44
Алгоритм распределения перечисленного НДФЛ в ЗиК 7.7 и вариант его улучшения 46
1 стартмани
28.02.2012 15407 243 sam41 75
Cashback 35% при покупке 1С лицензий на счет INFOSTART.RU с 27.11 по 04.12 Промо
Оформляете заказ на 1С лицензии или конфигурации. Получаете 35% от стоимости на счет в профиле INFOSTART.RU. Выбираете сервисы и продукты на сумму кэшбэка.
Свод проводок + страховые взносы (в разрезе видов расчета) 14
1 стартмани
24.02.2012 18632 202 kondrp 11
Расчет компенсации за неиспользованный отпуск при увольнении, а также расчет причитающегося сотруднику отпуска на выбранную дату 104
3 стартмани
23.02.2012 24669 222 Krasnyj 38
Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо
Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.
29700 руб.
1С:Предприятие через Интернет. 1С:Fresh Промо
Ведение бухгалтерского и налогового учет, сдача отчетности, управление бизнесом из любой точки мира. Привычные программы «1С» через Интернет без приобретения коробочных программ.
Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо
Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).
от 11000 до 29000 рублей
Справки по НДФЛ 2011: сделаем перечисленный равным удержанному (ЗиК 7.7, Бух 7.7) 35
1 стартмани
01.02.2012 15899 200 Antia 22
Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо
Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Предоставляем техподдержку по всем вопросам данного обмена. Можем подключиться к вам удаленно для разбора ситуаций. Оперативно обновляем при выходе новых релизов 1С. Бесплатные обновления в течение полугода.
19700 руб.
Исправленный и улучшенный отчет 2НДФЛ (318 релиз ЗиК) 60
1 стартмани
25.12.2011 16466 251 Kapitan911 46
Проверка соответствия НДФЛ удержанного/перечисленного (ЗиК) 63
1 стартмани
17.11.2011 20556 374 legioner 97
С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо
Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.
Сверка начисленных, уплаченных и перечисленных сумм НДФЛ для ЗиК 43
1 стартмани
16.11.2011 12609 269 Livsi 47
Плагин для лечения выгрузки и загрузки больших баз в 1С 7.7 (портирование под Win7) 61
1 стартмани
31.10.2011 50347 572 avgreen 90