Имя: Пароль:
1C
1С v8
ЗУП, Расчет, Базовый период
,
0 maz
 
15.07.15
11:20
Народ, подскажите плиз!
Заткнулся на таком моменте:
Необходимо получить количество отработанных часов за 2 предыдущих месяца. Если запросом получать ОсновныеНачисления.ДанныеГрафика, то можно за базовый период вытянуть "ЗначениеБазовыйПериод".
НО
В нём содержится количество ВСЕГО по графику за базовый период, а если сотрудник работал, например с середины месяца, то такое значение не подходит, т.к. в нем содержится количество часов по графику, а не фактически отработанных часов.
Как правильно поступать в таком случае?
1 maz
 
15.07.15
11:23
ап
2 maz
 
15.07.15
11:24
Ёлки-палки, все ломятся на ветки с обсуждением украины))) Давайте уже поможем мне чуток покодить)))
3 ixijixi
 
15.07.15
11:28
ОсновныеНачисления.ФактическийПериодДействия
4 ХардHard
 
15.07.15
11:28
(0) Точно не помню . Есть там периоды , виртуальная таблица называется ФактическийПериодДействия . Там есть дата начала , дата конца. Вычитаешь из конца начало , складываешь и все у тебя красиво.

Если что не так , извиняй , давно это было.
5 ХардHard
 
15.07.15
11:29
(3) Опередил )
6 maz
 
15.07.15
11:30
а мне нужен фактический период действия по базе
7 maz
 
15.07.15
11:31
ну т.е. грубо говоря, командировка, для которой я определяю количество отработанных часов за 2 предыдущих месяца, имеет фактический период действия в текущем. Поэтому не соображу, как увязать с фактическим..
8 maz
 
15.07.15
11:34
Это я задачку решаю по платформе, если что))) Вдруг кто-то тоже. Задачка за нумером 3.02
9 ХардHard
 
15.07.15
11:36
(8) Посмотри как в типовой %). Наверняка , таблица виртуальная есть хитрая.
10 maz
 
15.07.15
11:39
(9) да там, прежде чем в этом болоте рыться, думал мож кто-то уже знает что к чему))
11 maz
 
15.07.15
11:42
просто получается что фактический период действия относится к командировке в текущем месяце и показывает сколько реально часов именно для неё. А фактическое время за 2 предыдущих месяца, подразумевает проверку по какому-либо конкретному виду расчета (например оклад) но как-то это всё громоздко... неужель типовым средством платформы никак...
12 ixijixi
 
15.07.15
11:48
//фактическое время за 2 предыдущих месяца
это вообще что?
13 Andrey2C
 
15.07.15
11:49
(11) А регистрсведений ГрафикиРаботПоВидамВремени если? Там нет чтоли отработанного времени? К этому регистру и делай запрос свой
14 ХардHard
 
15.07.15
11:51
(13) Он вроде заполняется Табелем , не?
Так то табеля не везде ведутся.
15 Andrey2C
 
15.07.15
11:52
(14) Не только табелем но и графиками работ
16 maz
 
15.07.15
11:54
(14) Я мысль понял. Но не то. Во первых, потому что, как я уже сказал, решаю задачку для спеца по платформе и там такого регистра соответственно нет:) ну и во вторых, если я продемонстрирую на экзамене, что фактически отработанное время храню в отдельно созданном регистре сведений, то думаю разговор со мной тут же и закончится на этом:)
17 ХардHard
 
15.07.15
11:56
(16) Если думать искать сильно не хочешь вот тебе тупорылый вариант :

Допустим тебе надо количество отработанных дней с 15.03.15 по 15.05.15

Таблица ФактПериодДейств у тебя может быть

ДатаНачала ДатаОкончания

13.03.15   17.03.15
......
13.05.15   18.05.15

Тебе нужно чтобы первая и последняя запись попали частично.
18 maz
 
15.07.15
12:15
В общем, всем спасибо за участие. Типовых возможностей платформы я не нашёл. Поэтому ничего лучше не придумал как:

Соединяю таблицу ДанныеГрафика (в которой содержится командировка) с ещё одной таблицей ДанныеГрафика, но с условием вида расчета только "Оклад". Соединяю по сотруднику и что бы вторая таблица была с периодом действия как базовый период первой таблицы. Далее беру у неё фактический период. Если кто-то использовал более оптимальное решение - сообщайте.

всем спс
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший