|
|
Получить "фактически отработано дней" из регистра расчета |
☑ |
|
0
oxanka
29.03.12
✎
17:16
|
Помогите, пожалуйста! Совсем зашла в тупик. Надо реализовать отзыв из отпуска в самописной конфигурации. Создала такой документ, который возьмет все движения первичного документа "Отпуск" и сделает их с минусом, а потом запишет новые движения, но уже с плюсом и по новому периоду отпуска. В итоге получается, что в регистре расчета "Основные начисления" в определенный период действия три записи:
1. Период действия 01.03.12; Дата начала 01.03.12; Дата окончания 25.03.12; Результат 1000; Отработано 24 дня; Регистратор "Отпуск"
2. Период действия 01.03.12; Дата начала 01.03.12; Дата окончания 25.03.12; Результат -1000; Отработано -24 дня; Регистратор "Отзыв из отпуска"
3. Период действия 01.03.12; Дата начала 01.03.12; Дата окончания 13.03.12; Результат 700; Отработано 12 дней; Регистратор "Отзыв из отпуска"
Проблема возникла при расчете фактически отработанных дней. Запрос
Запрос.Текст = "ВЫБРАТЬ
| СУММА(ОсновныеНачисленияРаботниковОрганизацийДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия) КАК ГрафикФакт,
| СУММА(ОсновныеНачисленияРаботниковОрганизацийДанныеГрафика.ОсновноеЗначениеПериодДействия) КАК ГрафикНорм,
| ОсновныеНачисленияРаботниковОрганизацийДанныеГрафика.ВидУчетаВремени
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ДанныеГрафика(
| НомерСтроки = &НомерСтроки
| И Регистратор = &Регистратор) КАК ОсновныеНачисленияРаботниковОрганизацийДанныеГрафика
|
|СГРУППИРОВАТЬ ПО
| ОсновныеНачисленияРаботниковОрганизацийДанныеГрафика.ВидУчетаВремени";
выдает, что отработано 5 дней, т.е. как будто отпуск длился 24 дня, а не 12.
Как можно показать, что надо брать период действия последней записи?
|
|
|
1
GROOVY
29.03.12
✎
17:21
|
1. Старый отпуск я бы сторнировал.
2. Не понятно что расчитывается в запросе и какие настройки в вида расчета запись которого расчитывается.
|
|
|
2
oxanka
29.03.12
✎
17:48
|
В нашей конфигурации нет документа "Сторно", поэтому мы решили делать такое искусственное сторнирование.
А в запросе рассчитывается количество дней (или часов) по графику по норме и количество фактически отработанных часов. А как оно рассчитывается - я не могу понять:( Берется виртуальная таблица "Данные графика" регистра расчета, оттуда что-то считывается и выдается результат, а какой механизм этого расчета я никак не могу догнать.
|
|
|
3
GROOVY
29.03.12
✎
18:16
|
При чем здесь документ, сторно - это признак записи регистра расчета.
"Что то считывается, как то рассчитывается..." - ну я думаю Вы понимаете что при таком начальном наборе данных Вам вряд ли помогут советом.
|
|
|
4
oxanka
29.03.12
✎
18:24
|
Я пыталась поставить признак "сторно" - тогда в начислении з/п записи по отпуску стали задваиваться. Или недостаточно просто установить признак, чтобы записи регистра расчетов "сворачивались"?
|
|
|
5
oxanka
29.03.12
✎
18:29
|
А на совет я все-таки рассчитываю. У меня-то и вся проблема в том, что я не могу понять механизм этого запроса, текст которого приведен. Берется виртуальная таблица "Данные графика" регистра расчета "Основные начисления". А откуда собираются данные в эту виртуальную таблицу?
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший