Имя: Пароль:
1C
1С v8
Табель сотрудников. Нужна помощь
,
0 progaoff
 
15.08.16
13:23
ВЫБРАТЬ
    ГрафикиРаботы.Объект КАК ФИО,
    ГрафикиРаботы.Объект.Должность КАК Должность,
    КОЛИЧЕСТВО(ГрафикиРаботы.Период) КАК КоличествоСмен,
    ГрафикиРаботы.Период КАК Период
ИЗ
    РегистрСведений.ГрафикиРаботы КАК ГрафикиРаботы
ГДЕ
    ГрафикиРаботы.Период МЕЖДУ &НачалоПериода И &КонецПериода
    И ГрафикиРаботы.Объект.Должность В(&Должность)

СГРУППИРОВАТЬ ПО
    ГрафикиРаботы.Объект,
    ГрафикиРаботы.Объект.Должность,
    ГрафикиРаботы.Период

УПОРЯДОЧИТЬ ПО
    Период
Помогите с проблемой. Нужно по дням расписать выходы сотрудников, даты в строку смена под каждой датой. Может есть у кого то что то похожее.
1 progaoff
 
15.08.16
13:23
Выше запрос который выводит всю необходимую мне информацию
2 piter3
 
15.08.16
13:37
График это план,расписать нужно что?когда кому в какую смену выходить или выходил по факту
3 Tateossian
 
15.08.16
13:39
(0) У тебя вот тут КОЛИЧЕСТВО(ГрафикиРаботы.Период) КАК КоличествоСмен всегда 1 будет, так как ты по этому же полю агрегируешь и группируешь.

Убрать надо из группировки ГрафикиРаботы.Период вот это
и из выборки
4 progaoff
 
15.08.16
13:50
(2) Выходил по факту
5 progaoff
 
15.08.16
14:01
01.08    02.08

Сотрудник    Х
Сотрудник2            Х
6 progaoff
 
15.08.16
14:02
1.08    02.08

Сотрудник    Х
Сотрудник2            Х
7 progaoff
 
15.08.16
14:02
Вот как то так, должен выглядеть)
8 progaoff
 
15.08.16
14:47
Поможет кто нибудь?
9 kumena
 
15.08.16
15:28
конфа какая? почему регистр ГрафикиРаботы, а не ГрафикиРаботыПоВидамВремени?
10 kumena
 
15.08.16
15:28
могу помочь, обращайся!
11 progaoff
 
15.08.16
15:41
(10) самописный регистр
12 kumena
 
15.08.16
15:55
насколько я понял то что ты хочешь делается по штатным объектам, только запрос будет посложней, чем ты написал, и он есть у меня.
13 kumena
 
15.08.16
16:00
у сотрудников есть справочник графики, у графиков есть справочник смен, по сменам можно вычислить в какие дни должен работать работник. все это сделано давно, претензий по работе ни разу не было.
14 progaoff
 
30.08.16
18:19
ТабличныйДокумент = ЭлементыФормы.ПолеТабличногоДокумента1;
    ТабличныйДокумент.Очистить();
    Макет = ПолучитьМакет("Макет");
    ОбластьШапка  = Макет.ПолучитьОбласть("Шапка");
    ОбластьДанные = Макет.ПолучитьОбласть("Данные");
    
    Запрос  =  Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |ГрафикиРаботы.Объект КАК Сотрудники,
    |ГрафикиРаботы.Период КАК День,
    |КОЛИЧЕСТВО(ГрафикиРаботы.Период) КАК КоличествоСмен,
    |ЕСТЬNULL(ПланПоВыходамНаМесяц.КоличествоСменНаМесяц, 0) КАК ПланНаМесяц
    |        ИЗ
    |РегистрСведений.ГрафикиРаботы КАК ГрафикиРаботы
    |    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПланПоВыходамНаМесяц КАК ПланПоВыходамНаМесяц
    |    ПО ГрафикиРаботы.Объект = ПланПоВыходамНаМесяц.Сотрудник
    |        ГДЕ
    |ГрафикиРаботы.Период МЕЖДУ &НачалоПериода И &КонецПериода
    |
    |        СГРУППИРОВАТЬ ПО
    |ГрафикиРаботы.Объект,
    |ПланПоВыходамНаМесяц.КоличествоСменНаМесяц,
    |ГрафикиРаботы.Период";
    Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(НачалоПериода));
    Запрос.УстановитьПараметр("КонецПериода",  КонецМесяца(КонецПериода));
          
    РезультатВыборки = Запрос.Выполнить().Выбрать();
    
    
    
    
    
    
    
    ТабличныйДокумент.Вывести(ОбластьШапка);
    ТабличныйДокумент.Вывести(ОбластьДанные);
    КонецЦикла
15 progaoff
 
30.08.16
18:19
Так выводит списком
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.