Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> редактирование таблицы НДФЛ в НачЗП          
EritikWoW Подменю пользователя
сообщение 13.09.15, 18:43
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 53
Спасибо сказали: 1 раз
Рейтинг: 0

Кто может помочь со строками в таблице ? В ТабНДФЛ есть старые строки у сотрудников которых их нужно (либо удалить и добавить новую , либо помнять Результат, но тогда нужно будет добавить недостоющие)
Функция РасчетНДФЛ()
    
    Ставка = РегистрыСведений.СтавкиНДФЛ.Выбрать(Дата(01,01,0001),КонецГода(Дата));
    ТабНДФЛ = НДФЛПроводки.Выгрузить();
    ТабНач = НачисленияПроводки.Выгрузить();
    ТабВзнос = ВзносыПроводки.Выгрузить();
    ТабОтрВБУ = ОтражениеВРеглУчете.Выгрузить();
    
Для Каждого Строчка из ТабНач Цикл
Работник = Строчка.Сотрудник;        
Если Строчка.СчетКт.Ссылка =  ПланыСчетов.Хозрасчетный.РасчетыПоДругимВыплатам.Ссылка Тогда

    Для каждого Строка из ТабНДФЛ Цикл
                СумБоль         = 0;
                СумНДФЛ         = 0;
                СумВС             = 0;
                СуммВзн661        = 0;
                СуммВзн663         = 0;
                СуммНач         = 0;        
        Если Строка.Сотрудник = Работник Тогда
            Для Каждого Стр Из ТабВзнос цикл
                Если Стр.Сотрудник = Работник И НЕ Стр.Результат = 0 и
                    //Стр.СчетДТ.Ссылка =  ПланыСчетов.Хозрасчетный.РасчетыПоДругимВыплатам.Ссылка Тогда
                    Стр.СтатьяНалоговойДекларации.Ссылка = Справочники.СтатьиНалоговыхДеклараций.ЕСВ_Больничные.Ссылка Тогда
                    СумВзн663 = Стр.Результат;                                                                                                                
                    СуммВзн663 = СуммВзн663 + СумВзн663;                                                                                                            
                    СуммаВзн663 = СуммВзн663                                                                                                                        
                ИначеЕсли Стр.Сотрудник = Работник И НЕ Стр.Результат = 0 и
                    //Стр.СчетДТ.Ссылка =  ПланыСчетов.Хозрасчетный.РасчетыПоЗаработнойПлате.Ссылка Тогда
                    Стр.СтатьяНалоговойДекларации.Ссылка = Справочники.СтатьиНалоговыхДеклараций.ЕСВ_Работники.Ссылка Тогда
                    СумВзн661 = Стр.Результат;                                                                                                                
                    СуммВзн661 = СуммВзн661 + СумВзн661;                                                                                                            
                    СуммаВзн661 = СуммВзн661;                                                                                                                            
                КонецЕсли;                                                                                                                                  
            КонецЦикла;                                                                                                                                

            Для Каждого Строк из ТабОтрВБУ Цикл
                Если Строк.СубконтоКт1 = Работник Тогда                                                                                                
                    СумНач = Строк.Сумма;                                                                                                                   
                    СуммНач = СуммНач + СумНач;                                                                                                            
                    СуммаНач = СуммНач                                                                                                                      
                КонецЕсли;
            КонецЦикла;
        
            Для каждого Ст из ТабНач Цикл
                Если Строчка.СчетКт.Ссылка =  ПланыСчетов.Хозрасчетный.РасчетыПоДругимВыплатам.Ссылка и Ст.Сотрудник = Работник Тогда
                    СуммБоль = ст.Результат;
                    СумБоль = СумБоль + СуммБоль;
                    СуммаБоль = СумБоль;
                КонецЕсли;
                                
                Если Ст.Сотрудник = Работник Тогда
                    Если  НЕ Строка.ДоходНДФЛ.Ссылка = Справочники.ВидыДоходовНДФЛ.ВоенныйСбор.Ссылка Тогда
                        СуммНДФЛ = Строка.Результат;
                        СумНДФЛ = СумНДФЛ + СуммНДФЛ;
                        СуммаНДФЛ = СумНДФЛ;
                    КонецЕсли;
                    
                    Если  Строка.ДоходНДФЛ.Ссылка = Справочники.ВидыДоходовНДФЛ.ВоенныйСбор.Ссылка Тогда
                        СуммВС = Строка.Результат;
                        СумВС = СумВС + СуммВС;
                        СуммаВС = СумВС;
                    КонецЕсли;                
                КонецЕсли;            
            КонецЦикла;
            
            Если НЕ СуммаБоль = 0 И НЕ СуммаНДФЛ = 0 И НЕ СуммаВС = 0 И
                НЕ СуммаБоль = Неопределено и НЕ СуммаНДФЛ = Неопределено И НЕ СуммаВС = Неопределено Тогда
                
                СуммаНач661  = СуммаНач - СуммаБоль;
                СуммаНач663  = СуммаБоль;
                
                СуммаНачБезВзн663 = СуммаНач663-СуммаВзн663;
                СуммаНачБезВзн661 = СуммаНач661-СуммаВзн661;
                
                ПроцентБольничных = (СуммаНачБезВзн663*100)/(СуммаНачБезВзн661);
                
                СуммаНДФЛ663 = СуммаНДФЛ/ПроцентБольничных;
                СуммаНДФЛ661 = СуммаНДФЛ - СуммаНДФЛ663;                
                СуммаВС663 = СуммаВС/ПроцентБольничных;
                СуммаВС661 = СуммаВС - СуммаВС663;
            КонецЕсли;
            
    КонецЕсли;
    КонецЦикла;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            Если СуммаНДФЛ663 > 0 Тогда
            НовСтрока                        = ТабНДФЛ.Добавить();            
            НовСтрока.БазаВзноса            = Строка.БазаВзноса;
            НовСтрока.БазовыйПериодНачало     = Строка.БазовыйПериодНачало;
            НовСтрока.ВидРасчетаБазы        = Строка.ВидРасчетаБазы;
            НовСтрока.ДоходНДФЛ             = Справочники.ВидыДоходовНДФЛ.Код01.Ссылка;
            НовСтрока.НомерСтроки           = Строка.НомерСтроки;
            НовСтрока.Результат             = СуммаНДФЛ663;
            НовСтрока.РезультатТочный         = Строка.РезультатТочный;
            НовСтрока.Сотрудник             = Работник;
            НовСтрока.СубконтоДт1           = Работник;
            НовСтрока.СубконтоКт1           = Строка.СубконтоКт1;
            НовСтрока.СчетДт                = ПланыСчетов.Хозрасчетный.РасчетыПоДругимВыплатам.Ссылка;
            НовСтрока.СчетКт                = Строка.СчетКт;
            КонецЕсли;

            Если СуммаВС663 > 0 Тогда
            НовСтрока                        = ТабНДФЛ.Добавить();            
            НовСтрока.БазаВзноса            = Строка.БазаВзноса;
            НовСтрока.БазовыйПериодНачало     = Строка.БазовыйПериодНачало;
            НовСтрока.ВидРасчетаБазы        = Строка.ВидРасчетаБазы;
            НовСтрока.ДоходНДФЛ             = Справочники.ВидыДоходовНДФЛ.ВоенныйСбор.Ссылка;
            НовСтрока.НомерСтроки           = Строка.НомерСтроки;
            НовСтрока.Результат             = СуммаВС663;
            НовСтрока.РезультатТочный         = Строка.РезультатТочный;
            НовСтрока.Сотрудник             = Работник;
            НовСтрока.СубконтоДт1           = Работник;
            НовСтрока.СубконтоКт1           = Строка.СубконтоКт1;
            НовСтрока.СчетДт                = ПланыСчетов.Хозрасчетный.РасчетыПоДругимВыплатам.Ссылка;
            НовСтрока.СчетКт                = Строка.СчетКт;
            КонецЕсли;            
                        
            Если СуммаНДФЛ661 > 0 Тогда
            НовСтрока                        = ТабНДФЛ.Добавить();            
            НовСтрока.БазаВзноса            = Строка.БазаВзноса;
            НовСтрока.БазовыйПериодНачало     = Строка.БазовыйПериодНачало;
            НовСтрока.ВидРасчетаБазы        = Строка.ВидРасчетаБазы;
            НовСтрока.ДоходНДФЛ             = Справочники.ВидыДоходовНДФЛ.Код01.Ссылка;
            НовСтрока.НомерСтроки           = Строка.НомерСтроки;
            НовСтрока.Результат             = СуммаНДФЛ661;
            НовСтрока.РезультатТочный         = Строка.РезультатТочный;
            НовСтрока.Сотрудник             = Работник;
            НовСтрока.СубконтоДт1           = Работник;
            НовСтрока.СубконтоКт1           = Строка.СубконтоКт1;
            НовСтрока.СчетДт                = ПланыСчетов.Хозрасчетный.РасчетыПоЗаработнойПлате.Ссылка;
            НовСтрока.СчетКт                = Строка.СчетКт;
            КонецЕсли;

            Если СуммаВС661 > 0 Тогда
            НовСтрока                        = ТабНДФЛ.Добавить();            
            НовСтрока.БазаВзноса            = Строка.БазаВзноса;
            НовСтрока.БазовыйПериодНачало     = Строка.БазовыйПериодНачало;
            НовСтрока.ВидРасчетаБазы        = Строка.ВидРасчетаБазы;
            НовСтрока.ДоходНДФЛ             = Справочники.ВидыДоходовНДФЛ.ВоенныйСбор.Ссылка;
            НовСтрока.НомерСтроки           = Строка.НомерСтроки;
            НовСтрока.Результат             = СуммаВС661;
            НовСтрока.РезультатТочный         = Строка.РезультатТочный;
            НовСтрока.Сотрудник             = Работник;
            НовСтрока.СубконтоДт1           = Работник;
            НовСтрока.СубконтоКт1           = Строка.СубконтоКт1;
            НовСтрока.СчетДт                = ПланыСчетов.Хозрасчетный.РасчетыПоЗаработнойПлате.Ссылка;
            НовСтрока.СчетКт                = Строка.СчетКт;
        КонецЕсли;
        
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////        
КонецЕсли;
КонецЦикла;

НДФЛПроводки.Очистить();
НДФЛПроводки.Загрузить(ТабНДФЛ);

КонецФункции


Сообщение отредактировал Vofka - 13.09.15, 19:00

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 15:16
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!