При формировании Свода проводок и данных нал учета сообщение (ЗИК 7.70.319)
Показывать по
10
20
40
сообщений
- 1
- 2
19.01.2012
15:33
#11
"Эта ошибка появляется для сотрудников с нулевыми страхвзносами. Вот как я исправил:
В глобальном модуле, процедуре ЗаполнитьДанныеДляПроводок2012 начало и конец делаю следующими -
Процедура ЗаполнитьДанныеДляПроводок2012(ДоходыВычетыНалогиСотрудников, Сотрудник, Месяц, КоэффициентСотрудника, СкидкаМатпомощь, ДатаАктуальности,
ИсчисленоПФРНак,ИсчисленоПФРСтрах,ИсчисленоФСС,ИсчисленоТФОМС,ИсчисленоФФОМС,ИсчисленоДопТариф,ИсчисленоФСС_НС,
БазаДопТариф,БазаФСС_НС,ОблагаемаяБазаПФР,ОблагаемаяБазаФСС,ОблагаемаяБазаФОМС,КоэфПФР_ПоПределу,КоэфФОМС_ПоПределу,КоэфФСС_ПоПределу)
СтрокаИтоговойТаблицы="""";
НулевыеСтрахвзносы=1; //=+
ДоходыВычетыНалогиСотрудников.НайтиЗначение(глПолучитьУникальныйКодСотрудника(Сотрудник.ОсновнойЭлемент)+глДополнитьСтроку(Месяц,2),СтрокаИтоговойТаблицы,1);
Если СтрокаИтоговойТаблицы > 0 Тогда
ОблагаемаяБазаПоТекущийМесяцТаблица = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ОграниченнаяБаза");
Если ОблагаемаяБазаПоТекущийМесяцТаблица.КоличествоСтрок()>0 Тогда //=+
НулевыеСтрахвзносы=0; //=+
ВидТарифа = ОблагаемаяБазаПоТекущийМесяцТаблица.ПолучитьЗначение(1,"ВидТарифа");
.............................
КоэффициентСотрудника.ДобавитьЗначение(ИсчисленоФСС_НС / БазаФСС_НС,"ФСС_НС");
КонецЕсли;
КонецЕсли; //=+
КонецЕсли; //=+
//=-Иначе
Если НулевыеСтрахвзносы=1 Тогда //=+
КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРНак");
КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРСтрах");
КоэффициентСотрудника.ДобавитьЗначение(0,"ФФОМС");
КоэффициентСотрудника.ДобавитьЗначение(0,"ТФОМС");
КоэффициентСотрудника.ДобавитьЗначение(0,"ФСС");
КоэффициентСотрудника.ДобавитьЗначение(0,"ДопТариф");
КоэффициентСотрудника.ДобавитьЗначение(0,"ФСС_НС");
КонецЕсли;
КонецПроцедуры // ЗаполнитьДанныеДляПроводок2012
Сообственно, добавлены 6 строк с комментарием //=+ и удалена (закомментирована) 1 строка с комментарием //=-, остальные оригинальные строки от 1С приведены только для ориентировки."
В глобальном модуле, процедуре ЗаполнитьДанныеДляПроводок2012 начало и конец делаю следующими -
Процедура ЗаполнитьДанныеДляПроводок2012(ДоходыВычетыНалогиСотрудников, Сотрудник, Месяц, КоэффициентСотрудника, СкидкаМатпомощь, ДатаАктуальности,
ИсчисленоПФРНак,ИсчисленоПФРСтрах,ИсчисленоФСС,ИсчисленоТФОМС,ИсчисленоФФОМС,ИсчисленоДопТариф,ИсчисленоФСС_НС,
БазаДопТариф,БазаФСС_НС,ОблагаемаяБазаПФР,ОблагаемаяБазаФСС,ОблагаемаяБазаФОМС,КоэфПФР_ПоПределу,КоэфФОМС_ПоПределу,КоэфФСС_ПоПределу)
СтрокаИтоговойТаблицы="""";
НулевыеСтрахвзносы=1; //=+
ДоходыВычетыНалогиСотрудников.НайтиЗначение(глПолучитьУникальныйКодСотрудника(Сотрудник.ОсновнойЭлемент)+глДополнитьСтроку(Месяц,2),СтрокаИтоговойТаблицы,1);
Если СтрокаИтоговойТаблицы > 0 Тогда
ОблагаемаяБазаПоТекущийМесяцТаблица = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ОграниченнаяБаза");
Если ОблагаемаяБазаПоТекущийМесяцТаблица.КоличествоСтрок()>0 Тогда //=+
НулевыеСтрахвзносы=0; //=+
ВидТарифа = ОблагаемаяБазаПоТекущийМесяцТаблица.ПолучитьЗначение(1,"ВидТарифа");
.............................
КоэффициентСотрудника.ДобавитьЗначение(ИсчисленоФСС_НС / БазаФСС_НС,"ФСС_НС");
КонецЕсли;
КонецЕсли; //=+
КонецЕсли; //=+
//=-Иначе
Если НулевыеСтрахвзносы=1 Тогда //=+
КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРНак");
КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРСтрах");
КоэффициентСотрудника.ДобавитьЗначение(0,"ФФОМС");
КоэффициентСотрудника.ДобавитьЗначение(0,"ТФОМС");
КоэффициентСотрудника.ДобавитьЗначение(0,"ФСС");
КоэффициентСотрудника.ДобавитьЗначение(0,"ДопТариф");
КоэффициентСотрудника.ДобавитьЗначение(0,"ФСС_НС");
КонецЕсли;
КонецПроцедуры // ЗаполнитьДанныеДляПроводок2012
Сообственно, добавлены 6 строк с комментарием //=+ и удалена (закомментирована) 1 строка с комментарием //=-, остальные оригинальные строки от 1С приведены только для ориентировки."
20.01.2012
11:35
#12
"Ошибка все равно возникнет если в выборку попал работающий сотрудник, но не имеющий дохода, с которого взносы в ПФР начисляются. Когда сотрудников 30 - можно методом научного тыка выявить его и убрать из списка в предложенном решении, но если их 1500, то это проблема, а учитывая то, что проводки могут формироваться пару часов из за низкой оптимизации алгоритма, то расчетчика кондрат хватит, когда он в конце получит ругалку.
В общем, если долго не копаться и поправить алгоритм топорно, но быстро, делаем так:
в ЗаполнитьДанныеДляПроводок2012 меняем
на
В общем, если долго не копаться и поправить алгоритм топорно, но быстро, делаем так:
в ЗаполнитьДанныеДляПроводок2012 меняем
ВидТарифа = ОблагаемаяБазаПоТекущийМесяцТаблица.ПолучитьЗначение(1,"ВидТарифа");
на
Если ОблагаемаяБазаПоТекущийМесяцТаблица.КоличествоСтрок()>0 Тогда"
ВидТарифа = ОблагаемаяБазаПоТекущийМесяцТаблица.ПолучитьЗначение(1,"ВидТарифа");
Иначе
ВидТарифа="""";
КонецЕсли;
20.01.2012
11:48
#13
> но не имеющий дохода, с которого взносы в ПФР начисляются
Чаще всего это ошибка расчетчика, поэтому с выявлением такого сотрудника стоит "повозиться". Ввели новый вид расчета, не обложили его взносами (ошибочно) и начислили его сотруднику. Рано или поздно исправлять это все равно придется.
Чаще всего это ошибка расчетчика, поэтому с выявлением такого сотрудника стоит "повозиться". Ввели новый вид расчета, не обложили его взносами (ошибочно) и начислили его сотруднику. Рано или поздно исправлять это все равно придется.
20.01.2012
11:55
#14
"Так бывает, да. Но еще есть отпуска за свой счет, отпуска по уходу за ребенком и т.п. То есть, в выборку при заполнении списка они попадут, а доходов они не имеют. Попробуй их вылови в списке, если это завод какой нибудь.
Еще есть грабли во всех последних типовушках 7.7.
Добавили отчет "ПроверкаКомплектаДокументовПФР", в котором сравнивают данные собранные в пачки с данными, которые простым умножением получаются и забыли там в процедуре ЗаполнитьТарифКатегорий() о многих действующих страховых тарифах, причем не редких:
УпрощенныйНалоговыйРежим
ЕНВД
ITОрганизации
...
В итоге система данные из пачек с нулем сравнивает.
Надо в ЗаполнитьТарифКатегорий() добавлять что то такое:
Причем про УпрощенныйНалоговыйРежим забыли написать прямо в самой УСН 7.70.188, вот такая вот неприятность"
Еще есть грабли во всех последних типовушках 7.7.
Добавили отчет "ПроверкаКомплектаДокументовПФР", в котором сравнивают данные собранные в пачки с данными, которые простым умножением получаются и забыли там в процедуре ЗаполнитьТарифКатегорий() о многих действующих страховых тарифах, причем не редких:
УпрощенныйНалоговыйРежим
ЕНВД
ITОрганизации
...
В итоге система данные из пачек с нулем сравнивает.
Надо в ЗаполнитьТарифКатегорий() добавлять что то такое:
ТарифВзносов = глПолучитьСтавкуВзноса(Перечисление.ТарифыСтраховыхВзносов.УпрощенныйНалоговыйРежим,"ПФРСтрах1",ОтчетныйПериод);
ТарифКатегории.ДобавитьЗначение(ТарифВзносов,Перечисление.КатегорииЗастрахованныхЛицПФР.НР.Идентификатор());
Причем про УпрощенныйНалоговыйРежим забыли написать прямо в самой УСН 7.70.188, вот такая вот неприятность"
22.01.2012
20:13
#15
"Тоже сталкнулся с данным багом. Причем, проверил, это по сотруднику уволенному в 2010 году.
Обошел данную ошибку через:
Попытка
ВидТарифа = ОблагаемаяБазаПоТекущийМесяцТаблица.ПолучитьЗначение(1,"ВидТарифа");
Исключение
Возврат;
КонецПопытки;"
Обошел данную ошибку через:
Попытка
ВидТарифа = ОблагаемаяБазаПоТекущийМесяцТаблица.ПолучитьЗначение(1,"ВидТарифа");
Исключение
Возврат;
КонецПопытки;"
23.01.2012
09:09
#16
> а доходов они не имеют
т.е. это справедливо и для сотрудников у которых дохода нет вообще? Я то думал речь только о
> не имеющий дохода, с которого взносы в ПФР начисляются
но по ним и формировать нечего. А со списком после автозаполнения "поработать" все равно полезно. Особенно в документе начисление зарплаты.
т.е. это справедливо и для сотрудников у которых дохода нет вообще? Я то думал речь только о
> не имеющий дохода, с которого взносы в ПФР начисляются
но по ним и формировать нечего. А со списком после автозаполнения "поработать" все равно полезно. Особенно в документе начисление зарплаты.
- 1
- 2
Читают тему
(гостей: 1)