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

1С:Предприятие :: 1С:Предприятие 8 общая

УПП Посчитать отработанные часы сотрудника за период

УПП Посчитать отработанные часы сотрудника за период
Я
   laby1
 
26.09.16 - 16:15
Подскажите, как лучше всего посчитать, сколько по табелю часов у сторудника (включая РП).
 
 
   laby1
 
1 - 26.09.16 - 16:21
Может там есть уже что-то готовое
   kumena
 
2 - 26.09.16 - 16:30
мНомераВремени = Новый Массив;
    мНомераВремени.Добавить("Первый");
    мНомераВремени.Добавить("Второй");
    мНомераВремени.Добавить("Третий");
    мНомераВремени.Добавить("Четвертый");
    мНомераВремени.Добавить("Пятый");
    мНомераВремени.Добавить("Шестой");
    
    Текст =
    "
    |Выбрать 
    //|    &Организация КАК Организация

    |    ДанныеТабеля.Организация
    |    ,ДанныеТабеля.Сотрудник
    |    ,ДанныеТабеля.ДниПериода
    |    ,ДанныеТабеля.ВидыВремени
    |    ,ДанныеТабеля.НомерВидаВремени
    |    ,ДанныеТабеля.Документ
    |    ,ДанныеТабеля.Часы КАК Часов
    
    |
    |Поместить ОбщиеДанныеТабеля
    |
    | Из (
    |
    |";
    
    Для Каждого НомерВремени Из мНомераВремени Цикл
        
        Если НомерВремени <> "Первый" Тогда
        Текст = Текст +"
        |      ОБЪЕДИНИТЬ 
        |";
                
        КонецЕсли;
        
        Текст = Текст +"
        |      Выбрать 
        |       "+НомерВремени+"ВидВремени.Период КАК ДниПериода
        |       ,"+НомерВремени+"ВидВремени.ВидВремени КАК ВидыВремени
        |       ,"+НомерВремени+"ВидВремени.Часов КАК Часы
        |       ,"+НомерВремени+"ВидВремени.Сотрудник КАК Сотрудник
        |       ,"+НомерВремени+"ВидВремени.Организация КАК Организация
        |       ,"+НомерВремени+"ВидВремени.НомерВидаВремени КАК НомерВидаВремени
        |       ,"+НомерВремени+"ВидВремени.Документ КАК Документ
        |    
        |        Из (    
        |           Выбрать
        |             Сотрудник 
        |             ,Организация
        |             ,ПериодРегистрации КАК Период
        |             ,"+НомерВремени+"ВидВремени1 КАК ВидВремени 
        |             ,"+НомерВремени+"Часов1 КАК Часов
        |             ,1 КАК НомерВидаВремени
        |             ,Ссылка КАК Документ
        |             Из ДанныеТабеля
        |";
        
        Для Счетчик = 1 По 30 Цикл
            НомерДня = Строка(Счетчик);
            НомерРеквизита = Строка(Счетчик+1);
            Текст = Текст +
            "            Объединить
            |            
            |            Выбрать
            |             Сотрудник 
            |             ,Организация
            |             ,ДобавитьКДате(ПериодРегистрации, День,"+НомерДня+") КАК Период
            |             ,"+НомерВремени+"ВидВремени"+НомерРеквизита+" КАК ВидВремени 
            |             ,"+НомерВремени+"Часов"+НомерРеквизита+" КАК Часов
            |             ,1 КАК НомерВидаВремени
            |             ,Ссылка КАК Документ
            |             Из ДанныеТабеля
            |";
        КонецЦИкла;
        
        Текст = Текст +
        "        ) КАК "+НомерВремени+"ВидВремени ";
    КонецЦикла;
    
    Текст = Текст +
    "        ) КАК ДанныеТабеля
    |
    |
    |Где ДанныеТабеля.ВидыВремени 
    |    <> Значение(Справочник.КлассификаторИспользованияРабочегоВремени.ПустаяСсылка)
   kumena
 
3 - 26.09.16 - 16:33
если твое РП пишется в регистр рабочее время работников организаций, то можно и через регистр, а если нет то см. п.2
   laby1
 
4 - 26.09.16 - 16:35
(3) Спасибо большое, завтра пробовать буду. А почему счетчик до 30 а не 31 ?
   laby1
 
5 - 29.09.16 - 09:13
(2) Запрос не рабочий ...

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