7.7 Отчет по больничным листам не идут дни за счет ФСС и дни работодатель

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем LED82, 27 июн 2012.

  1. TopicStarter Overlay
    LED82
    Offline

    LED82 Опытный в 1С

    Регистрация:
    27 июн 2012
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура ПриОткрытии()
    
    НачДата = НачМесяца(ДобавитьМесяц(ТекущаяДата(),-1));
    КонДата = КонМесяца(ДобавитьМесяц(ТекущаяДата(),-1));  
    
    КонецПроцедуры  
    Процедура Сформировать()
    
    Перем НПП;
    ВсегоДнейРаботодатель=0;
    ВсегоДнейФСС=0;
    ВсегоСуммаРаботодатель=0;
    ВсегоСуммаФСС=0;
    
    Запрос = СоздатьОбъект("Запрос");
    Таб = СоздатьОбъект("Таблица");
    Док = СоздатьОбъект("Документ");
    Таб.ВывестиСекцию("Шапка");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с НачДата по КонДата;
    |ОбрабатыватьДокументы Проведенные;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Сотр = ЖурналРасчетов.Зарплата.Объект;
    |Расч = ЖурналРасчетов.Зарплата.ВидРасч;
    |Дни = ЖурналРасчетов.Зарплата.Дни;
    |Рез = ЖурналРасчетов.Зарплата.Результат;
    |Док = ЖурналРасчетов.Зарплата.ТекущийДокумент;
    |Функция СуммаНачисления_1 = Сумма(Рез) когда ((Расч =ВидРасчета.ОплатаБЛс2011) или
    |	    (Расч =ВидРасчета.ОтпускПоБеременностис2011) или
    |	    (Расч =ВидРасчета.ОтпускПоБеременностиВозмещаемыйФССприЕНВДс2010) или
    |	    (Расч =ВидРасчета.ОплатаБЛпоТравмес2010) или
    //
    |	    (Расч =ВидРасчета.ОплатаБЛВозмещаемаяФССприЕНВДс2010) или
    |	    (Расч =ВидРасчета.ОплатаБЛпоТравмес2010) или
    |	
    |(Расч =ВидРасчета.ОплатаБЛс2011) или
    |	   (Расч= ВидРасчета.ОплатаБЛпоТравмес2011)или
    |	    (Расч =ВидРасчета.ОтпускПоБеременностиВозмещаемыйФССприЕНВДс2010) или
    |	    (Расч =ВидРасчета.ОтпускПоБеременностис2010));
    //
    |Функция СуммаНачисления_2 = Сумма(Рез) когда ((Расч = ВидРасчета.ОплатаБЛЗаСчетРаботодателяс2010) или
    |	    (Расч = ВидРасчета.ОплатаБЛЗаСчетРаботодателяЕНВДс2010) или
    |	    (Расч = ВидРасчета.ОплатаБЛЗаСчетРаботодателяс2011)или
    |	   (Расч=  ВидРасчета.ОплатаБЛс2010));
    
    |Функция СуммаДней_1 = Сумма(Дни) когда ((Расч =ВидРасчета.ОплатаБЛс2011) или
    |	   (Расч =ВидРасчета.ОтпускПоБеременностис2011) или
    |	    (Расч =ВидРасчета.ОтпускПоБеременностиВозмещаемыйФССприЕНВДс2010) или
    |	    (Расч =ВидРасчета.ОплатаБЛпоТравмес2010) или
    |	   (Расч =ВидРасчета.ОплатаБЛВозмещаемаяФССприЕНВДс2010) или
    |	    (Расч =ВидРасчета.ОплатаБЛпоТравмес2010) или
    |	   (Расч =ВидРасчета.ОплатаБЛс2011) или
    |	   (Расч= ВидРасчета.ОплатаБЛпоТравмес2011)или
    |	    (Расч =ВидРасчета.ОтпускПоБеременностиВозмещаемыйФССприЕНВДс2010) или
    |	    (Расч =ВидРасчета.ОтпускПоБеременностис2010));
    |	
    //
    |	  
    |Функция СуммаДней_2 = Сумма(Дни) когда ((Расч = ВидРасчета.ОплатаБЛЗаСчетРаботодателяс2011) или
    |	    (Расч = ВидРасчета.ОплатаБЛЗаСчетРаботодателяЕНВДс2010) или
    |	    (Расч = ВидРасчета.ОплатаБЛЗаСчетРаботодателяс2011)или
    |	   (Расч=  ВидРасчета.ОплатаБЛс2010));
    |Группировка Сотр;
    |Группировка Док;
    |Условие (Расч.ВходитВГруппу(ГруппаРасчетов.БольничныеЛисты)=1);
    |"//}}ЗАПРОС
    ;
    
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    
    НПП = 0;
    Пока Запрос.Группировка("Сотр") = 1 Цикл
    //Если Запрос.Рез <>0 тогда
    НПП = НПП + 1;
    Таб.ВывестиСекцию("Данные");
    Пока Запрос.Группировка("Док") = 1 Цикл
    Док = Запрос.Док;
    Сер = Док.ПолучитьАтрибут("Серия");
    Нач = Док.ПолучитьАтрибут("Начало");
    Кон = Док.ПолучитьАтрибут("Окончание");
    ТБ = Док.ПолучитьАтрибут("ТипБолезни");
    Проц = Док.ПолучитьАтрибут("Процент");
    ВсегоДнейФСС=ВсегоДнейФСС+Запрос.СуммаДней_1;
    ВсегоДнейРаботодатель=ВсегоДнейРаботодатель+Запрос.СуммаДней_2;
    ВсегоСуммаФСС=ВсегоСуммаФСС+Запрос.СуммаНачисления_1;
    ВсегоСуммаРаботодатель=ВсегоСуммаРаботодатель+Запрос.СуммаНачисления_2;
    Таб.ВывестиСекцию("Расчеты");
    КонецЦикла;
    //КонецЕсли;
    КонецЦикла;
    
    Таб.ВывестиСекцию("Итоги");
    Таб.Опции(0,0,0,0);
    Таб.ТолькоПросмотр(1);
    Таб.Показать();
    Сигнал();
    КонецПроцедуры
    


    Наваял внешний отчетик , проблема в том что не показывает полностью дни за счет работодателя и фсс не пойму в чем может быть причина помогите
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Думаю в периоде. Есть понятия периода действия и периода регистрации
  3. TopicStarter Overlay
    LED82
    Offline

    LED82 Опытный в 1С

    Регистрация:
    27 июн 2012
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    а как мне вывести их в отчетик???? дело в том что у меня выводит отчет так : например человек болел 10 дней по больничному листу а в отчете выводит что он болел 8 дней непойму куда деваются дни
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    покажите РЛ где "косячит". Дни относятся к одному месяцу или нет?
  5. TopicStarter Overlay
    LED82
    Offline

    LED82 Опытный в 1С

    Регистрация:
    27 июн 2012
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    у меня в отчет попадают только рабочие дни как мне сделать чтобы попадали календарные ????
  6. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Разница м.д. началом болезни и окончанием в самом документе
  7. TopicStarter Overlay
    LED82
    Offline

    LED82 Опытный в 1С

    Регистрация:
    27 июн 2012
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    Дни = ЖурналРасчетов.Зарплата.Дни;
    а как это прописать в моем отчете непойму ????

    Дни=ЖурналРасчетов.Зарплата.Дни это отчет у меня вытаскивает рабочие дни а как календарные достать не пойму
  8. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Смотрим атрибут Документ
    объекта ЖурналРасчетов
  9. TopicStarter Overlay
    LED82
    Offline

    LED82 Опытный в 1С

    Регистрация:
    27 июн 2012
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    Нач = Док.ПолучитьАтрибут("Начало");
    Кон = Док.ПолучитьАтрибут("Окончание");
    вот атрибут вытаскивается у меня с... по а как сделать чтобы они мне выводились за счет работодателя и за счет фсс показывало
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Если напрямую из ЖР то так
    Код:
    Если ЖурналРасчета.ВидРасч=ВидРасчета.ОплатаБЛЗаСчетРаботодателя Тогда
    ВсегоДней=ВсегоДней+ЖурналРасчета.ДатаОкончания-ЖурналРасчета.ДатаНачала;
    КонецЕсли;
    
  11. TopicStarter Overlay
    LED82
    Offline

    LED82 Опытный в 1С

    Регистрация:
    27 июн 2012
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    и такеж будет вытаскиватся за счет фсс как я понимаю
  12. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    да. Только для работодателя д.б. ВР ОплатаБЛЗаСчетРаботодателяс2011
  13. TopicStarter Overlay
    LED82
    Offline

    LED82 Опытный в 1С

    Регистрация:
    27 июн 2012
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    Док = Запрос.Док;
    Сер = Док.ПолучитьАтрибут("Серия");
    Нач = Док.ПолучитьАтрибут("Начало");
    Кон = Док.ПолучитьАтрибут("Окончание");
    ТБ = Док.ПолучитьАтрибут("ТипБолезни");
    Проц = Док.ПолучитьАтрибут("Процент");
    Если ЖурналРасчета.ВидРасч=ВидРасчета.ОплатаБЛЗаСчетРаботодателя Тогда
    ВсегоДней=ВсегоДней+ЖурналРасчета.ДатаОкончания-ЖурналРасчета.ДатаНачала;
    КонецЕсли;

    это как то так будет ????

    Док = Запрос.Док;
    Сер = Док.ПолучитьАтрибут("Серия");
    Нач = Док.ПолучитьАтрибут("Начало");
    Кон = Док.ПолучитьАтрибут("Окончание");
    ТБ = Док.ПолучитьАтрибут("ТипБолезни");
    Проц = Док.ПолучитьАтрибут("Процент");
    Если ЖурналРасчета.ВидРасч=ВидРасчета.ОплатаБЛЗаСчетРаботодателя2011 Тогда
    ВсегоДней=ВсегоДней+ЖурналРасчета.ДатаОкончания-ЖурналРасчета.ДатаНачала;
    КонецЕсли;
    Если ЖурналРасчета.ВидРасч=ВидРасчета.ОплатаБЛЗаСчетФСС2011 Тогда
    ВсегоДней=ВсегоДней+ЖурналРасчета.ДатаОкончания-ЖурналРасчета.ДатаНачала;
    КонецЕсли ;
    Как то так будет я думаю
  14. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Не совсем...
    Код:
    //вместо
    //Сер = Док.ПолучитьАтрибут("Серия");
    //пишем
    Сер = Док.Серия;
    И не вижу связи с журналом расчетов
  15. TopicStarter Overlay
    LED82
    Offline

    LED82 Опытный в 1С

    Регистрация:
    27 июн 2012
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    у меня отчету первоначально в моем отчете брались за счет фсс и за счет работадателя брались из журнала расчета дни только отработанные а не календарные
  16. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Разница м.д. началом и окончанием даст КАЛЕНДАРНЫЕ дни.
  17. TopicStarter Overlay
    LED82
    Offline

    LED82 Опытный в 1С

    Регистрация:
    27 июн 2012
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    Если ЖурналРасчета.ВидРасч=ВидРасчета.ОплатаБЛЗаСчетРаботодателя Тогда
    ВсегоДней=ВсегоДней+ЖурналРасчета.ДатаОкончания-ЖурналРасчета.ДатаНачала;
    КонецЕсли;

    сейчас попробую как вы мне подсказали сделать

    ок спасибо большое сейчас попробую

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