Имя: Пароль:
1C
1C 7.7
v7: Украина. Рег.отчет ЕСВ (пенсионный) 1 кв. 2013 №2. Бух.296
0 Mister-X07
 
04.03.13
16:26
Если в месяце были начислены отпускные, то в колонку 2.1.1 таблицы 1 в базу для ЕСВ эти отпускные не попадают - там какое то пропорциональное распределение идет (за счет него база для ЕСВ получается меньше). Так должно быть или это недоработки абивцов?
 
Вот код:

Перем ВыделятьЕСВДляОтпускных;

Процедура ИндДанныеСотр(Знач Сотр)
...
//вычтем из дохода отпускные

Если (ВыделятьЕСВДляОтпускных = 1) и (СуммаОтп<>0) Тогда
//разобьем базу пропорционально

КоефОтп = ?((СуммаДохода = 0) или (СуммаОтп=СуммаДохода),1,СуммаОтп/СуммаДохода);
базаОтп = БазаОбложен*КоефОтп;
ЕСВОтп = СуммаВзноса*КоефОтп;
БазаОбложен = БазаОбложен-базаОтп;
СуммаВзноса = СуммаВзноса-ЕСВОтп;
СуммаДохода = СуммаДохода - СуммаОтп;
Иначе
СуммаДохода = СуммаДохода - СуммаОтп;
базаОтп = БазаОбложен;
ЕСВОтп = СуммаВзноса;
КонецЕсли;
...


Процедура ПриОткрытии()
...
ВыделятьЕСВДляОтпускных = 1;
...
1 Mister-X07
 
04.03.13
16:27
поправка песионный = пенсионный ))
2 Mister-X07
 
04.03.13
16:27
бух. 296 - ох уж этот копипаст ))
3 Classic
 
04.03.13
16:34
Этот код никак не соотносится с тем, что написано выше него
4 Mister-X07
 
04.03.13
16:36
вот продолжение:

МесяцРасч = Формат(ДатаМесяц(ДатаМес),"Ч(0)2");
           ГодРасч = ДатаГод(ДатаМес);
           КодТипаРасч = "";
           //заполним таблицу 6  
           МесяцРасч = Формат(ДатаМесяц(ДатаМес),"Ч(0)2");
           ГодРасч = ДатаГод(ДатаМес);
           //количество отработанных дней
           КолОтрДней = 0; НомСтр = 0;
           Если тОтрабДни.НайтиЗначение(Сотр.Код,НомСтр,"Сотрудник") = 1 Тогда
               тОтрабДни.ПолучитьСтрокуПоНомеру(НомСтр);
               КолОтрДней = тОтрабДни.ОтрабДней;
           Иначе
               КолОтрДней = КолДнейМесяц;
           КонецЕсли;;
           Если СуммаДохода <> 0 Тогда  
               АвтозаполнениеСтрокТаблицы6(Нерезидент, ПолСотр, ИННСотр, Фамилия, Имя, Отчество,
                                           КодКатегорииСотрудника, МесяцРасч, ГодРасч,
                                             КодТипаРасч, СуммаДохода, БазаОбложен, СуммаВзноса,
                                           ТрудКниж, "0", КолОтрДней,"П6С");            
               Застрахованный = 1;
               КодТипаРасч = "";
               Если ВыделятьЕСВДляОтпускных = 0 Тогда
                   базаОтп = 0; ЕСВОтп = 0;
               КонецЕсли;
               КолОтрДней = 0;
           КонецЕсли;
           Если СуммаОтп <> 0 Тогда
               //отпускные  
               АвтозаполнениеСтрокТаблицы6(Нерезидент, ПолСотр, ИННСотр, Фамилия, Имя, Отчество,
                                           КодКатегорииСотрудника, МесяцРасч, ГодРасч,
                                             "10", СуммаОтп, базаОтп, ЕСВОтп,
                                           ТрудКниж, "0", КолОтрДней, "П6С");            
               Застрахованный = 1;
               КолОтрДней = 0;
           КонецЕсли;
           Если СуммаБолФСС + СуммаБольПр <> 0 Тогда
               //лікарняні  
               КодКатегорииСотрудника = ?(ЭтоИнвалид=1,"36","29");
               АвтозаполнениеСтрокТаблицы6(Нерезидент, ПолСотр, ИННСотр, Фамилия, Имя, Отчество,
                                           КодКатегорииСотрудника, МесяцРасч, ГодРасч,
                                             КодТипаРасч, СуммаБолФСС + СуммаБольПр, БазаБольн, БолВзнос,
                                           ТрудКниж, "0", КолОтрДней, "П6С");            
               Застрахованный = 1;
           КонецЕсли;
           ИтБазаОбложен = ИтБазаОбложен + БазаОбложен;
           ИтСуммаДохода = ИтСуммаДохода + СуммаДохода + СуммаОтп;
           ИтСуммаВзноса = ИтСуммаВзноса + СуммаВзноса;
           ИтБазаБол = ИтБазаБол + БазаБольн;
           ИтСуммаБол = ИтСуммаБол + СуммаБолФСС + СуммаБольПр;
           ИтБолВзнос = ИтБолВзнос + БолВзнос;
           ИтСуммаБолФСС = ИтСуммаБолФСС + СуммаБолФСС;
           ИтСуммаБолПр = ИтСуммаБолПр + СуммаБольПр;
       КонецЦикла;
       П1_1  = П1_1  + ИтСуммаДохода;
       П1_3  = П1_3  + ИтСуммаБолПр;
       П1_4  = П1_4  + ИтСуммаБолФСС;  
       Если ЭтоИнвалид =1  Тогда
           П2_14 = П2_14 + ИтБазаОбложен;
       Иначе    
           П2_11 = П2_11 + ИтБазаОбложен;
       КонецЕсли;
5 Mister-X07
 
04.03.13
16:41
+(4) процедуры ИндДанныеСотр
6 Mister-X07
 
04.03.13
17:20
получил ифно - ошибка Киева, будет исправлена в релизе 1 кв. 2013 №3 ))
7 Mister-X07
 
04.03.13
17:20
инфо ))
8 Mister-X07
 
04.03.13
17:24
вопрос закрыт