7.7 Зарплата

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем змейкин, 29 апр 2013.

  1. TopicStarter Overlay
    змейкин
    Offline

    змейкин Опытный в 1С

    Регистрация:
    25 мар 2013
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Народ ни как не могу высчитать ЕСВ и НДФЛ уже замучался(((Формулу написал правильно но не считает хоть тресни(А почему не пойду вроде по коду нахожу ЕСВ и НДФЛ и делаю с ними расчет но в отладчике ничего не находит
    Код:
    Перем КвоДнейНач, КвоДнейРаб;	 Перем ноЕСВСотр,стЕСВ;
    Перем ноНДФЛ;
    Перем НачалоПериода, КонецПериода;
    
    Процедура ИзмВид()
    
    Если ВидВыплат = Перечисление.ВидыВыплат.Аванс Тогда
    Форма.Оклад.Видимость(0);
    Форма.Больничные.Видимость(0);
    Форма.Отпускные.Доступность(0);
    Форма.Безработица.Видимость(0);
    Форма.Безработица.Видимость(0);
    Форма.Начислено.Видимость(0);
    Форма.ЕдСоцВзнос.Видимость(0);
    Форма.НДФЛ.Видимость(0);
    Форма.Удержано.Видимость(0);
    Иначе
    Форма.Оклад.Видимость(1);
    Форма.Больничные.Видимость(1);
    Форма.Отпускные.Доступность(1);
    Форма.Безработица.Видимость(1);
    Форма.Безработица.Видимость(1);
    Форма.Начислено.Видимость(1);
    Форма.ЕдСоцВзнос.Видимость(1);
    Форма.НДФЛ.Видимость(1);
    Форма.Удержано.Видимость(1);
    КонецЕсли;
    
    КонецПроцедуры
    //*************************************************************************************************************
    Процедура ВычНачислено()
    Начислено = Оклад + Больничные + Отпускные +Безработица;
    КВыплате = Начислено - Удержано;
    КонецПроцедуры
    //***************************************************************************************************************
    Процедура ИзмДней()
    КвоДнейНач = 0;
    КонецПроцедуры
    //***************************************************************************************************************
    Процедура ВычВторичныеНачисления()
    ВычНачислено();
    Начислено = Начислено;
    КВыплате = Начислено - Удержано;
    КонецПроцедуры
    //***************************************************************************************************************
    Процедура ИзмСотрудник()
    Если Сотрудник.Выбран() = 0 Тогда
    Возврат;
    КонецЕсли;
    Если ВидВыплат = Перечисление.ВидыВыплат.Аванс Тогда
    КВыплате = Сотрудник.Аванс;
    ИначеЕсли ВидВыплат = Перечисление.ВидыВыплат.ЗП Тогда
    Оклад = Сотрудник.Оклад.Получить(КонМесяца(ДатаДок))*ОтрабДни/Дни;
    ВычНачислено();
    КонецЕсли;
    КонецПроцедуры
    //***************************************************************************************************************
    Процедура ИзмОтработаноДней()
    ИзмСотрудник();		
    КонецПроцедуры
    //***************************************************************************************************************
    Процедура ИзмНомерСтроки()
    ОтрабДни = Дни;
    ИзмОтработаноДней();
    КонецПроцедуры
    //***************************************************************************************************************
    Процедура ВычУдержано()
    
    Удержано = НДФЛ + ЕдСоцВзнос;
    
    КВыплате = Начислено - Удержано;
    КонецПроцедуры
    //***************************************************************************************************************
    Процедура ПриОткрытии()
    ПриЗаписиПерепроводить(1);
    
    Форма.Подразделение.ВыборГруппы(0);
    
    ИзмВид();		 
    
    КвоДнейРаб = Дни;
    КонецПроцедуры
    Процедура ВводНового(ПризнакКопирования)
    Фирма = глВосстановитьЗначение(,"БазФирма");
    Дни = 22;
    ВидВыплат = Перечисление.ВидыВыплат.ЗП;
    Подразделение = глВосстановитьЗначение(Контекст,"Подразделение",СчетПоКоду("66.1"));
    КонецПроцедуры
    //***************************************************************************************************************
    Процедура РассчитатьАванс()
    
    КонецПериода = КонМесяца(ДатаДок);
    
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
    Если Дни <> 0 Тогда
    Оклад = Сотрудник.Оклад.Получить(КонецПериода)*ОтрабДни/Дни;
    Начислено = Оклад; 
    Иначе
    Оклад = 0;
    Начислено = 0; 
    КонецЕсли;
    КонецЦикла;
    
    КонецПроцедуры
    //***************************************************************************************************************
    Процедура РассчитатьПоСтроке()
    СпрНиО = СоздатьОбъект("Справочник.НалогиОтчисления");
    СпрНиО.НайтиПоКоду("ЕСВ",0);
    СтЕСВ = СпрНиО.ТекущийЭлемент();
    ОблагаемоеЕСВ = Оклад+Отпускные+Больничные+Безработица;
    ЕдСоцВзнос = ОблагаемоеЕСВ * СтЕСВ;
    
    СпрНиО.НайтиПоКоду("НДФЛОсн",0);
    ноНДФЛ = СпрНиО.ТекущийЭлемент();
    ОблагаемыйНДФЛ = Оклад+Отпускные+Больничные+Безработица-ЕдСоцВзнос;
    НДФЛ = ОблагаемыйНДФЛ*ноНДФЛ;
    ВычУдержано();
    КонецПроцедуры
    //---------------------------------------------------------------------------------------------
    Процедура Рассчитать()
    ТребуемоеДействие = 0;
    Если ВидВыплат = Перечисление.ВидыВыплат.Аванс Тогда
    Иначе
    МенюРассчитать = СоздатьОбъект("СписокЗначений");
    МенюРассчитать.ДобавитьЗначение(3,"Вторичные начисления текущего сотрудника");
    МенюРассчитать.ДобавитьЗначение(2,"Вторичные начисления всех сотрудников");
    МенюРассчитать.ДобавитьЗначение(1,"Удержания текущего сотрудника");
    МенюРассчитать.ДобавитьЗначение(0,"Удержания всех сотрудников");
    Если МенюРассчитать.ВыбратьЗначение(ТребуемоеДействие,"Выберите тип расчета",3,2,0,1) = 0 Тогда
    Возврат;
    КонецЕсли;
    КонецЕсли;
    Если глПолучитьНиО(ноНДФЛ,"НДФЛОсн","о налоге на доходы физ. лиц (1 предел)!") = 0 Тогда
    Возврат;
    КонецЕсли;
    Если ТребуемоеДействие = 1 Тогда
    РассчитатьПоСтроке();
    ИначеЕсли ТребуемоеДействие = 0 Тогда
    //удержание по всем
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
    //РассчитатьПоСтроке();
    КонецЦикла;
    ИначеЕсли ТребуемоеДействие = 3 Тогда	
    //вторичные по строке
    //ВычВторичныеНачисления()
    ИначеЕсли ТребуемоеДействие = 2 Тогда	
    //вторичные по всем
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
    //ВычВторичныеНачисления()
    КонецЦикла;
    КонецЕсли;
    
    КонецПроцедуры
    //******************************************************************************
    
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Думаю что все же не правильно........
    Код:
    СпрНиО.НайтиПоКоду("ЕСВ",0);
    СтЕСВ = СпрНиО.ТекущийЭлемент();
    ОблагаемоеЕСВ = Оклад+Отпускные+Больничные+Безработица;
    ЕдСоцВзнос = ОблагаемоеЕСВ * СтЕСВ; //число умножаете на элемент справочника... бедная 1с. Писали бы скажем на Delphi - получили бы кучу нецензурщины. 
    
    Похоже как то так

    Код:
    ЕдСоцВзнос = ОблагаемоеЕСВ * СтЕСВ.КакойТоРеквизит;
    
  3. TopicStarter Overlay
    змейкин
    Offline

    змейкин Опытный в 1С

    Регистрация:
    25 мар 2013
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура РассчитатьПоСтроке()
    СпрНиО = СоздатьОбъект("Справочник.НалогиОтчисления");
    СпрНиО.НайтиПоКоду("ЕСВ",0);
    СтЕСВ = СпрНиО.ТекущийЭлемент();
    ОблагаемоеЕСВ = Оклад+Отпускные+Больничные+Безработица;
    ЕдСоцВзнос = ОблагаемоеЕСВ * СтЕСВ.Ставка;
    СпрНиО.НайтиПоКоду("НДФЛОсн",0);
    ноНДФЛ = СпрНиО.ТекущийЭлемент();
    ОблагаемыйНДФЛ = Оклад+Отпускные+Больничные+Безработица-ЕдСоцВзнос;
    НДФЛ = ОблагаемыйНДФЛ*ноНДФЛ.Ставка;
    ВычУдержано();
    КонецПроцедуры
    
    всеравно чет не находит((((
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    А ставка это не периодический реквизит?
  5. TopicStarter Overlay
    змейкин
    Offline

    змейкин Опытный в 1С

    Регистрация:
    25 мар 2013
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    переодичесский)
  6. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Тогда пишите:
    Код:
    СтЕСВ.Ставка.Получить(НужнаяВамДата)
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    так об этом нужно говорить сразу. Почему из вас все нужно клещами тянуть... Телепатов тут нет. Делайте как сказал rshakiro
  8. TopicStarter Overlay
    змейкин
    Offline

    змейкин Опытный в 1С

    Регистрация:
    25 мар 2013
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Фух)получилось)чтоб я без вас делал )
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
Похожие темы
  1. Hexus
    Ответов:
    6
    Просмотров:
    2.468
  2. cdiamond
    Ответов:
    1
    Просмотров:
    431
  3. KingX
    Ответов:
    3
    Просмотров:
    762
  4. Ирина Петровна
    Ответов:
    2
    Просмотров:
    427
Загрузка...

Поделиться этой страницей