1С 7.7 Бух. 517 релиз. Подготовка сведений для ПФР. Заполненить суммы взносов.

Новая тема
"Собственно вот проблема:
Заполняем эту форму, сотрудники встают нормально, все как надо. Вписываем две уплаченные суммы: страховая и накопительная части, далее нажимаем "Заполнить суммы взносов" - ни чего не заполняется. Идет какой-то пересчет, но все остается нолями. Бухгалтерия ведется первичкой, все начисления стоят как надо. У бухгалтеров глаза круглые - народу много, заполнять вручную нереально. Полазил в интернете, ни чего толком не нашел.

Полез в Конфигуратор, запустил отладчик и стал смотреть что же происходит. Особо в механизм работы отчета не вникал, но заметил, что в процедуре ЗаполнитьСуммыВзносов() в последней ее части есть код с двумя циклами и примечанием:

// распределим уплатченные суммы по сотрудникам  

ТаблицаВзносов.ВыбратьСтроки();
//Цикл №1
Пока ТаблицаВзносов.ПолучитьСтроку()=1 Цикл
   
ИсчисленоСтраховая = Макс(ТаблицаВзносов.ИсчисленоСтраховая,0);
ИсчисленоНакопительная = Макс(ТаблицаВзносов.ИсчисленоНакопительная,0);
ТаблицаВзносов.ИсчисленоСтраховая     = ИсчисленоСтраховая;
ТаблицаВзносов.ИсчисленоНакопительная = ИсчисленоНакопительная;
Если ИтогоИсчисленоСтраховая<>0 Тогда
ТаблицаВзносов.УплаченоСтраховая     = Окр(ИсчисленоСтраховая * РаспределитьУплаченоСтраховая / ИтогоИсчисленоСтраховая,2);    
КонецЕсли;
Если ИтогоИсчисленоНакопительная<>0 Тогда
ТаблицаВзносов.УплаченоНакопительная = Окр(ИсчисленоНакопительная * РаспределитьУплаченоНакопительная / ИтогоИсчисленоНакопительная,2);    
КонецЕсли;

КонецЦикла;

Пачки.ВыбратьСтроки();
//Цикл №2
Пока Пачки.ПолучитьСтроку()=1 Цикл

ТипПачки = Пачки.Форма;
Если СОКРЛП(ТипПачки) = "АДВ-6-2" Тогда
Продолжить;
КонецЕсли;

КатегорияЗЛ = Пачки.КатегорияЗЛ;

ТабСоставПачки = Пачки.СоставПачки;
ТабСоставПачки.ВыбратьСтроки();
Пока ТабСоставПачки.ПолучитьСтроку()=1 Цикл

Сотрудник = ТабСоставПачки.Сотрудник;
НомСтрокиТВ ="""";  
ТаблицаВзносов.ВыбратьСтроки();
Если ТаблицаВзносов.НайтиЗначение(Сотрудник,НомСтрокиТВ,"Сотрудник")=0 Тогда
//Если ТаблицаВзносов.НайтиЗначение(ПолучитьКлючСотрудника(Сотрудник,КатегорияЗЛ),НомСтрокиТВ,"Ключ")=0 Тогда
ТабСоставПачки.ИсчисленоСтраховая = 0;
ТабСоставПачки.ИсчисленоНакопительная = 0;
ТабСоставПачки.УплаченоСтраховая = 0;
ТабСоставПачки.УплаченоНакопительная = 0;
Иначе
ТабСоставПачки.ИсчисленоСтраховая = ТаблицаВзносов.ПолучитьЗначение(НомСтрокиТВ,"ИсчисленоСтраховая");
ТабСоставПачки.ИсчисленоНакопительная = ТаблицаВзносов.ПолучитьЗначение(НомСтрокиТВ,"ИсчисленоНакопительная");
ТабСоставПачки.УплаченоСтраховая = ТаблицаВзносов.ПолучитьЗначение(НомСтрокиТВ,"УплаченоСтраховая");
ТабСоставПачки.УплаченоНакопительная = ТаблицаВзносов.ПолучитьЗначение(НомСтрокиТВ,"УплаченоНакопительная");
КонецЕсли;

КонецЦикла;

КонецЦикла;

Вот тут при отладке в мониторе видно, что в первом цикле у меня все встает как надо, есть все четыре значения - начислено страховая, накопительная и уплачено страховая, накопительная. Во втором цикле есть условие, которое в исходном состоянии выглядит так:

Если ТаблицаВзносов.НайтиЗначение(ПолучитьКлючСотрудника(Сотрудник,КатегорияЗЛ),НомСтрокиТВ,"Ключ")=0 Тогда

Вот тут у меня ни чего не находится, и по условия я перехожу в код, который всем четырем значениям присваивает ноли.
Посмотрел значения "Ключ" для ТаблицаВзносов.Ключ и ПолучитьКлючСотрудника(Сотрудник,КатегорияЗЛ), т.е. то что сравнивается - у меня они разные! (так надо или это косяк?!)
Например:

"{"B","0","0","208","0","0","       108   "}{"E","0","0","55981","0","0","     55978   "}                                                                                                                "
"{"B","0","0","208","0","0","       108   "}{"E","0","0","55981","0","0","     55980   "}                                                                                                                "

Вобщем я поправил условие, ведь если я все правильно понял, то в нем всего лишь пытаются найти взносы по конкретному сотруднику и присвоить их полям в пачке.
Получилось вместо:

Если ТаблицаВзносов.НайтиЗначение(ПолучитьКлючСотрудника(Сотрудник,КатегорияЗЛ),НомСтрокиТВ,"Ключ")=0 Тогда

вот такой вот код:

Если ТаблицаВзносов.НайтиЗначение(Сотрудник,НомСтрокиТВ,"Сотрудник")=0 Тогда

После этого изменения все работает. Бухгалтерия все проверила, вроде все сходится. Но меня мучают сомнения. Почему так? Правильно ли сделал? Что за "Ключ"?!"
Сделанное вами изменение допустимо, если сотрудник не имел доходов, полученных одновременно по разным категориям, то есть, например, "Наемный работник" и "Упрощенная система & ЕНВД". Проще говоря, если любой сотрудник в пачках отражен лишь один раз, то все будет работать нормально.
Ключ в данном случае - уникальное значение, формируемое как результат функции F(x,y), где x=сотрудник, y=категория застрахованного лица. В принципе, нужен для ускорения поиска по таблице. Почему у вас он формируется так, что его система отыскать не может, не знаю. Я ставил этот релиз не единожды (уже руки трясутся), вроде бы все заполняется нормально. 516 релиз был "умопомрачительным", а 517, вроде бы ничего.
Вообще вот странно с этим подходом по распределению удержанных сумм по начисленным.
Выходит, что если человек уволится, скажем, 13.05.2010 г., то при сдаче сведений за 2-е полугодие 2010 г. он из за отсутствия стажа и начисленных сумм взносов ни в одну пачку не попадет и так и не суммем мы сообщить государству, что удержанный то по сотруднику равен исчисленному.
Огромное спасибо за такое разъяснение. У меня все сотрудники принадлежат к одной категории, т.ч. можно быть спокойным. Остается вопрос почему так странно формируется ключ. Относительно этих вот категорий делали только вот это:
1. поставили 516 релиз.
2. пробуем добавлять сотрудников, получаем сообщение что у них нет стажа
3. идем в "Налоги на доходы" и в карточке "для персонифицированного учета" ставим стаж руками.
4. при этом на некоторых (но не на всех!) сотрудниках ошибаемся, забывая выбирать из списка сверху нужную категорию. По умолчанию там стоит Наемный работник, а нам надо было всем ставить УСН и ЕНВД.
5. при формировании пачек замечаем что есть пачки с наемными, идем и правим их карточки: очищаем, ставим нужную категорию, прописываем стаж
6. нифига не работает
7. ставим 517 релиз
8. нифига не работает

Что там еще можно было напортачить с категориями?
ну вот, надо справочник СЗВСтаж2010 привести в порядок, сделать его доступным на время, почистить толком и завести сведения о стаже как положено. Кстати, а зачем все эти данные в карточку "для персонифицированного учета" заполняют? Они и без заполнения в пачки попадают, а заполнять нужно только по тем, по кому есть какую нибудь отпуск по уходу за детьми из за того, что в типовой конфигурации это не отражается.
Не, там проблема эта была именно в 516 релизе. На многих форумах есть описание проблемы. Надо было руками заходить и проставлять стаж. А вот в 517 уже все нормально цепляется.
Про справочник понял, попробую завтра на работе посмотреть что там. Спасибо.
Вот у вас проблема и унаследовалась от 516 релиза, в общем, проверьте справочник
Читают тему
(гостей: 1)

Быстрый переход