Очень жаль что прог-ты фирмы 1С не исправили Отчет"Начисленные налоги с ФОТ" в 1с 77 УСН-177ред. В конф-ге старая таблица без колонок "ФФос","ТФОМс" и тд. Оборотка по сч. 69 не совсем хорошая
Очень жаль что прог-ты фирмы 1С не исправили Отчет"Начисленные налоги с ФОТ" в 1с 77 УСН-177ред. В конф-ге старая таблица без колонок "ФФос","ТФОМс" и тд. Оборотка по сч. 69 не совсем хорошая
Присоединяюсь! Всеми руками и ногами!
Может это то, что нужно:<br>Отчисления с ФОТ с 2011 года УСН 7.7 внешний отчет<br>
"Там есть ошибки и простые и сложные. Как наиболее актуальные два момента (это простые, про сложные потом когда нибудь напишу) (релиз 7.70.177):<br>Ошибка 1.<br>Глобальный модуль, строка 12009 (подзадача выборки периодов стажа сотрудников для подготовки сведений в ПФР):<br>ТаблицаПериодов.ВыбратьСтроки();<br>...<br>Пока ТаблицаПериодов.ПолучитьСтроку()=1 Цикл<br>....<br> ТаблицаПериодовСтажа.УдалитьСтроки();<br>....<br>КонецЦикла;<br><br>КоличествоСтрок=ТаблицаПериодовСтажа.КоличествоСтрок();<br>Для Номер = 1 по КоличествоСтрок Цикл <br>...<br><br>Что мы тут видим? Есть некое множество ТаблицаПериодов по которому идет перебор. При этом зачем то внутри этого перебора имеется сброс строк таблицы ТаблицаПериодовСтажа и ниже как результат всех этих операций идет обработка полученного результата в ТаблицаПериодовСтажа.<br>И тут две ситуации: если за отчетный период у сотрудника многократно менялось значение реквизита "СостояниеФизлица", то в результате мы получим потерю всех сведений за исключением последнего диапазона этих значений.<br>Вторая ситуация: вся эта конструкция находится внутри еще более обобщенной выборки, а именно - внутри перебора сотрудников. Так вот фокус в том, что если в выборке попался какой то сотр, у которого количество строк в ТаблицаПериодов равно нулю, то он унаследует ТаблицаПериодовСтажа от предыдущего сотрудника, так как нигде кроме как внутри перебора по ТаблицаПериодов она не сбрасывается.<br>В общем, тут, совершенно точно, ошибка, исправляется очень просто.<br>Строку ТаблицаПериодовСтажа.УдалитьСтроки(); (12020) надо убрать совсем и написать ее чуть выше, чтобы было так:<br>ТаблицаПериодовСтажа.УдалитьСтроки();<br>ТаблицаПериодов.ВыбратьСтроки();<br>ЕстьЛьготныйСтаж=0; //в переменной будет 1 - если после сбора стажа по сотруднику найдем льготный стаж<br>Пока ТаблицаПериодов.ПолучитьСтроку()=1 Цикл<br>...<br><br>Ошибка 2.<br>При автоформировании пачек для предоставления отчета в ПФР проверяется каждый сотрудник на предмет необходимости заявления сведений по нему. Делают это так:<br>Если (глСотрудникЧислитсяРаботающим(Сотрудник, ДатаНачала) = 1) <br>ИЛИ (глСотрудникЧислитсяРаботающим(Сотрудник, ДатаОкончания) = 1) Тогда<br>...<br>КонецЕсли;<br><br>То есть, если сотр работал на начало отчетного периода (например, на 01.07.2010 г.) или работает на конец отчетного периода (на 31.12.2010 г.), то в пачку его система поместит. А вот, например, если сотрудник устроился на работу в этом периоде и уволился в нем же, то он в пачку не попадет. Чтобы исправить ошибку, нужно сделать примерно так:<br>Отчет.ПодготовкаСведенийДляПФР2010<br>строка 6159, сделать чтобы было написано так:<br>История=СоздатьОбъект("Периодический");<br>Если ЗапросКСправочникам.Выполнить(ТекстЗапроса)=1 Тогда<br> Пока ЗапросКСправочникам.Группировка() = 1 Цикл<br> Если ПустоеЗначение(СтрЗаменить(ЗапросКСправочникам.СтрахНомер,"-","""")) = 1 Тогда<br> Продолжить<br> КонецЕсли;<br> Сотрудник = ЗапросКСправочникам.Сотрудник;<br> Работал=0;<br> История.ИспользоватьОбъект("ХарактерРаботы",Сотрудник);<br> История.ВыбратьЗначения(ДатаНачала,ДатаОкончания);<br> Пока История.ПолучитьЗначение()=1 Цикл<br> Если (История.Значение=Перечисление.ХарактерРаботы.ТрудовойДоговор) ИЛИ<br> (История.Значение=Перечисление.ХарактерРаботы.ДоговорГражданскоПравовогоХарактера) ИЛИ<br> (История.Значение=Перечисление.ХарактерРаботы.ДоговорГражданскоПравовогоХарактераВзносы) Тогда<br> Работал=1;<br> Прервать;<br> КонецЕсли;<br> КонецЦикла; <br> Если (глСотрудникЧислитсяРаботающим(Сотрудник, ДатаНачала) = 1) <br> ИЛИ (глСотрудникЧислитсяРаботающим(Сотрудник, ДатаОкончания) = 1)<br> ИЛИ (Работал=1) Тогда<br> Если СписокСотрудников.НайтиЗначение(Сотрудник) = 0 Тогда<br> СписокСотрудников.ДобавитьЗначение(Сотрудник); <br> КонецЕсли; <br> КонецЕсли;<br> КонецЦикла; <br>КонецЕсли;"