Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Отчет "Свод проводок"

v7: Отчет "Свод проводок"
Я
   BPT85
 
25.12.12 - 10:16
Назрела более глобальная проблема.
С вводом регрессивной системы неврные данные начал выдавать данный свод.
Перерыл все и вся, но по причине весьма плохонького уровня знаний предметной области и языка программирования... Не втыкаю....
Выход был один.. Долго лупиться в отладчик и не по одному разу прогонять код.
Все считается верно кроме части ПРФ страх.
Сумму, более 512т.р. обрабатывает неверно...
В глобальнике нашел процедуру: Процедура ЗаполнитьДанныеДляПроводок2010.
В которой, похоже, все это и делается. Чую, что решается где-то пустяковой допиской, хотя могу ошибаться. Наверняка поможет тот, кто сталкивался. Буду признателен. Просьба не пинать. А просто помочь, если сталкивались. Вот код:
                                           ИсчисленоПФРНак,ИсчисленоПФРСтрах,ИсчисленоПФРНакЕНВД,ИсчисленоПФРСтрахЕНВД,ИсчисленоФСС,ИсчисленоТФОМС,ИсчисленоФФОМС,ИсчисленоДопТариф,
                                           БазаДопТариф,ОблагаемаяБазаПФР,ОблагаемаяБазаФСС,ОблагаемаяБазаФОМС,ОблагаемаяБазаПФРЕНВД,КоэфПФР_ПоПределу,КоэфФОМС_ПоПределу,КоэфФСС_ПоПределу)
    СтрокаИтоговойТаблицы=""; 
    ДоходыВычетыНалогиСотрудников.НайтиЗначение(глПолучитьУникальныйКодСотрудника(Сотрудник.ОсновнойЭлемент)+глДополнитьСтроку(Месяц,2),СтрокаИтоговойТаблицы,1);
    
    Если СтрокаИтоговойТаблицы > 0 Тогда   
    
        

        
        
       //Русаков
 
        глНапечататьТЗ(ДоходыВычетыНалогиСотрудников,"ОблагаемаяБазаПФР");    
        
       //Русаков    
 
        глНапечататьТЗ(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ОграниченнаяБаза"),"ячейка");         
        
       // используем базы, не ограниченные пределом доходов ОграниченнаяБаза   
 
       //заремарил. русаков
 
        ОблагаемаяБазаПФР    = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ОграниченнаяБаза").Итог("БазаПФР");
        
        ОблагаемаяБазаФСС    = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ОграниченнаяБаза").Итог("БазаФСС");
        
        ОблагаемаяБазаФОМС   = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ОграниченнаяБаза").Итог("БазаФОМС");
        
        ОблагаемаяБазаПФРЕНВД = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ОграниченнаяБазаПФРЕНВД");
        
        
       // ПФР
 
        БазаПФР    = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаПФР");// по основному тарифу
 

        БазаПФРЕНВД = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаПФРЕНВД"); 
        
       // ФОМС
 
        БазаФОМС    = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаФОМС");// по основному тарифу
 

        БазаФОМСЕНВД = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаФОМСЕНВД");
        
       // ФСС
 
        БазаФСС    = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаФСС");// по основному тарифу
 

        БазаФССЕНВД = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаФССЕНВД");
        
       // ДопТариф
 
        БазаДопТариф = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"БазаДопТариф"); 
        
       // исчисленные взносы
 
        ИсчисленоПФРНак        = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ИсчисленоПФРНак");

        ИсчисленоПФРНакЕНВД    = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ИсчисленоПФРНакЕНВД");
        
        ИсчисленоПФРСтрах       = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ИсчисленоПФРСтрах");

        ИсчисленоПФРСтрахЕНВД    = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ИсчисленоПФРСтрахЕНВД");
        
        ИсчисленоФСС        = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ИсчисленоФСС");

        ИсчисленоФССЕНВД    = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ИсчисленоФССЕНВД");
        
        ИсчисленоТФОМС        = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ИсчисленоТФОМС");

        ИсчисленоТФОМСЕНВД    = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ИсчисленоТФОМСЕНВД");
        
        ИсчисленоФФОМС        = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ИсчисленоФФОМС");

        ИсчисленоФФОМСЕНВД    = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ИсчисленоФФОМСЕНВД");
        
        ИсчисленоДопТариф = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,"ИсчисленоДопТариф"); 
        
        СкидкаМатпомощь   = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,11)

        + ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы,11+26);
        
        Если Месяц > 1 Тогда  
            
            ОблагаемаяБазаПФР    = ОблагаемаяБазаПФР - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ОграниченнаяБаза").Итог("БазаПФР");
            ОблагаемаяБазаФСС    = ОблагаемаяБазаФСС - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ОграниченнаяБаза").Итог("БазаФСС");
            ОблагаемаяБазаФОМС   = ОблагаемаяБазаФОМС - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ОграниченнаяБаза").Итог("БазаФОМС");
            ОблагаемаяБазаПФРЕНВД = ОблагаемаяБазаПФРЕНВД - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ОграниченнаяБазаПФРЕНВД");
            
       
        
            БазаПФР           = БазаПФР -  ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаПФР");

            БазаПФРЕНВД    = БазаПФРЕНВД - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаПФРЕНВД");
            
            БазаФОМС        = БазаФОМС -  ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаФОМС");

            БазаФОМСЕНВД    = БазаФОМСЕНВД - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаФОМСЕНВД");
            
            БазаФСС           = БазаФСС -  ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаФСС");

            БазаФССЕНВД    = БазаФССЕНВД - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаФССЕНВД");
            
            БазаДопТариф   = БазаДопТариф - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"БазаДопТариф");  
            
            ИсчисленоПФРНак        = ИсчисленоПФРНак - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ИсчисленоПФРНак");

            ИсчисленоПФРНакЕНВД    = ИсчисленоПФРНакЕНВД - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ИсчисленоПФРНакЕНВД");
            
            ИсчисленоПФРСтрах       = ИсчисленоПФРСтрах - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ИсчисленоПФРСтрах");

            ИсчисленоПФРСтрахЕНВД    = ИсчисленоПФРСтрахЕНВД - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ИсчисленоПФРСтрахЕНВД");
            
            ИсчисленоФСС        = ИсчисленоФСС - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ИсчисленоФСС");

            ИсчисленоФССЕНВД    = ИсчисленоФССЕНВД - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ИсчисленоФССЕНВД");
            
            ИсчисленоТФОМС        = ИсчисленоТФОМС - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ИсчисленоТФОМС");

            ИсчисленоТФОМСЕНВД    = ИсчисленоТФОМСЕНВД - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ИсчисленоТФОМСЕНВД");
            
            ИсчисленоФФОМС        = ИсчисленоФФОМС - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ИсчисленоФФОМС");

            ИсчисленоФФОМСЕНВД    = ИсчисленоФФОМСЕНВД - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ИсчисленоФФОМСЕНВД");
            
            ИсчисленоДопТариф = ИсчисленоДопТариф - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,"ИсчисленоДопТариф");
            
            
            СкидкаМатпомощь   = СкидкаМатпомощь - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,11)

            - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,11+26);
            
        КонецЕсли; 
                                                          
        
       ///Русаков. добавил из 2012г(аналогичная процедура)
 
       //Если глРассчитыватьВзносыСБазыПревышения(ВидТарифа) = 1 Тогда
 
       //    ОблагаемаяБазаПФРСтрах = БазаПФР;    
 
       //Иначе
 
       //    ОблагаемаяБазаПФРСтрах = ОблагаемаяБазаПФР;
 
       //КонецЕсли;
 
        
       // проверим сотрудника на наличие нулевой базы 
 
        КоэфПФРСтрах_ПоПределу  = ?(БазаПФР=0,0,1);
        КоэфПФР_ПоПределу  = ?(БазаПФР=0,0,ОблагаемаяБазаПФР/БазаПФР);
        КоэфФОМС_ПоПределу = ?(БазаФОМС=0,0,ОблагаемаяБазаФОМС/БазаФОМС);
        КоэфФСС_ПоПределу  = ?(БазаФСС=0,0,ОблагаемаяБазаФСС/БазаФСС);
        
        
        
       // проверим сотрудника на наличие нулевой базы 
 
        
        КоэфПФР_ПоПределу  = ?((БазаПФР+БазаПФРЕНВД)=0,0,(ОблагаемаяБазаПФР+ОблагаемаяБазаПФРЕНВД)/(БазаПФР+БазаПФРЕНВД));
        КоэфФОМС_ПоПределу = ?(БазаФОМС=0,0,ОблагаемаяБазаФОМС/БазаФОМС);
        КоэфФСС_ПоПределу  = ?(БазаФСС=0,0,ОблагаемаяБазаФСС/БазаФСС);
        
        Если ОблагаемаяБазаПФР = 0 Тогда
            КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРНак");
            КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРСтрах");
        Иначе
            КоэффициентСотрудника.ДобавитьЗначение(ИсчисленоПФРНак / ОблагаемаяБазаПФР,"ПФРНак");
            КоэффициентСотрудника.ДобавитьЗначение(ИсчисленоПФРСтрах / ОблагаемаяБазаПФР,"ПФРСтрах");
        КонецЕсли;
        
        Если ОблагаемаяБазаПФРЕНВД = 0 Тогда
            КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРНакЕНВД");
            КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРСтрахЕНВД"); 
        Иначе
            КоэффициентСотрудника.ДобавитьЗначение(ИсчисленоПФРНакЕНВД / ОблагаемаяБазаПФРЕНВД,"ПФРНакЕНВД");
            КоэффициентСотрудника.ДобавитьЗначение(ИсчисленоПФРСтрахЕНВД / ОблагаемаяБазаПФРЕНВД,"ПФРСтрахЕНВД");    
        КонецЕсли; 
        
        Если ОблагаемаяБазаФОМС = 0 Тогда
            КоэффициентСотрудника.ДобавитьЗначение(0,"ФФОМС");
            КоэффициентСотрудника.ДобавитьЗначение(0,"ТФОМС");
        Иначе
            КоэффициентСотрудника.ДобавитьЗначение(ИсчисленоФФОМС / ОблагаемаяБазаФОМС,"ФФОМС");
            КоэффициентСотрудника.ДобавитьЗначение(ИсчисленоТФОМС / ОблагаемаяБазаФОМС,"ТФОМС");    
        КонецЕсли; 
        
        Если ОблагаемаяБазаФСС = 0 Тогда
            КоэффициентСотрудника.ДобавитьЗначение(0,"ФСС");
        Иначе
            КоэффициентСотрудника.ДобавитьЗначение(ИсчисленоФСС / ОблагаемаяБазаФСС,"ФСС");
        КонецЕсли; 
        
        Если БазаДопТариф = 0 Тогда
            КоэффициентСотрудника.ДобавитьЗначение(0,"ДопТариф");                          
        Иначе
            КоэффициентСотрудника.ДобавитьЗначение(ИсчисленоДопТариф / БазаДопТариф,"ДопТариф");
        КонецЕсли;  
        
    Иначе   
        
        КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРНак");
        КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРСтрах");
        КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРНакЕНВД");
        КоэффициентСотрудника.ДобавитьЗначение(0,"ПФРСтрахЕНВД");
        КоэффициентСотрудника.ДобавитьЗначение(0,"ФФОМС");
        КоэффициентСотрудника.ДобавитьЗначение(0,"ТФОМС");
        КоэффициентСотрудника.ДобавитьЗначение(0,"ФСС");
        КоэффициентСотрудника.ДобавитьЗначение(0,"ДопТариф"); 
        
    КонецЕсли;    
    
КонецПроцедуры // ЗаполнитьДанныеДляПроводок2010
 
 
   BPT85
 
1 - 25.12.12 - 10:24
Просьба удалить. Создано по ошибке.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует