|   |   | 
| 
 | Как получить количество рабочих дней по графику? | ☑ | ||
|---|---|---|---|---|
| 0
    
        iceborn 12.02.13✎ 16:40 | 
        Есть график, как проще всего по нему получить количество рабочих дней?     | |||
| 1
    
        ale-sarin 12.02.13✎ 16:42 | 
        из регистра сведений соответствующего. это если ЗУП, УПП, КА.     | |||
| 2
    
        smitru 12.02.13✎ 16:46 | 
        (0) конечно же запросом :-)     | |||
| 3
    
        iceborn 12.02.13✎ 17:00 | 
        Есть регистр РегламентированныйПроизводственныйКалендарь с него я легко могу получить кол-во рабочих дней, а мне надо получить количество дней именно по определенному графику так как по некоторые графика рабочий день суббота.     | |||
| 4
    
        ale-sarin 12.02.13✎ 17:01 | 
        (3) А кто сказал по РеглКалендарь? Я про другое. Ищите лучше.     | |||
| 5
    
        smitru 12.02.13✎ 17:02 | 
        (3) запросом и это вытаскивается. Там есть "разблюдавка" и для пятидневки и для шестидневки, а можно привязать сменный график и это тоже посчитать - я как-то пару лет назад этой фигнёй занимался :-)     | |||
| 6
    
        iceborn 12.02.13✎ 17:12 | 
        Есть регистр ещё Графики работы по видам времени. Там можно циклом пройти на тек. месяц и просчитать кол-во. А правильно ли так?)     | |||
| 7
    
        smitru 12.02.13✎ 17:13 | 
        Цикл зло.. Юзай запросы... Через регистр всё достаётся     | |||
| 8
    
        ale-sarin 12.02.13✎ 17:13 | 
        (6) Вот об этом регистре и речь. Только не циклом, а запросом.     | |||
| 9
    
        iceborn 12.02.13✎ 17:31 | 
        Функция ЧислоРабочихДней(ДатаНач, ДатаКон, ГрафикРаботы) Экспорт
  Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДатаНач", ДатаНач); Запрос.УстановитьПараметр("ДатаКон", ДатаКон); Запрос.УстановитьПараметр("ГрафикРаботы", ГрафикРаботы); Запрос.УстановитьПараметр("Месяц", ДатаНач); Запрос.Текст = "ВЫБРАТЬ | ГрафикиРаботыПоВидамВремени.ГрафикРаботы, | ГрафикиРаботыПоВидамВремени.ВидУчетаВремени, | НАЧАЛОПЕРИОДА(ГрафикиРаботыПоВидамВремени.Дата, МЕСЯЦ) КАК Месяц, | СУММА(ГрафикиРаботыПоВидамВремени.ОсновноеЗначение) КАК Дни |ИЗ | РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени |ГДЕ | НАЧАЛОПЕРИОДА(ГрафикиРаботыПоВидамВремени.Дата, МЕСЯЦ) = &Месяц | И ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням) | И ГрафикиРаботыПоВидамВремени.ГрафикРаботы = &ГрафикРаботы | |СГРУППИРОВАТЬ ПО | ГрафикиРаботыПоВидамВремени.ГрафикРаботы, | ГрафикиРаботыПоВидамВремени.ВидУчетаВремени, | НАЧАЛОПЕРИОДА(ГрафикиРаботыПоВидамВремени.Дата, МЕСЯЦ)"; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Возврат Выборка.Дни; КонецЕсли; Возврат 0; КонецФункции | |||
| 10
    
        iceborn 12.02.13✎ 17:31 | 
        Во!     | |||
| 11
    
        ale-sarin 12.02.13✎ 17:44 | 
        (10) Сам написал? А где в запросе датанач и датакон? Или всегда за один и целый месяц понадобится?     | |||
| 12
    
        iceborn 12.02.13✎ 19:10 | 
        (11) Неа, нашел в типовой функцию обращение к этому регистру, я добавил отбор по месяцу и графику.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |