Написал запрос,помогите разобраться(ЗУП 28)
07.11.2010
09:49
#1
"Всем привет,в типовом ЗУПЕ понадобилось получить количество явок по каждому сотруднику из табеля рабочего времени,сделал запрос,но почему то в итоге получаю нуль, что не так сделал?
Функция ЯвкиПоТабелю(Фио,ДатаНачала,ДатаОкончания,Организация) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| РабочееВремяРаботниковОрганизацийОбороты.Сотрудник.ФизЛицо КАК ФизЛицо,
| РабочееВремяРаботниковОрганизацийОбороты.ДнейОборот,
| РабочееВремяРаботниковОрганизацийОбороты.ЧасовОборот
|ИЗ
| РегистрНакопления.РабочееВремяРаботниковОрганизаций.Обороты(&ДатаНачала,&ДатаОкончания,,
| Организация = &парамОрганизация И ВидИспользованияРабочегоВремени=&Вид) КАК РабочееВремяРаботниковОрганизацийОбороты
|ГДЕ
| РабочееВремяРаботниковОрганизацийОбороты.Сотрудник=&Сотрудник и (РабочееВремяРаботниковОрганизацийОбороты.ЧасовОборот > 0
| ИЛИ РабочееВремяРаботниковОрганизацийОбороты.ДнейОборот > 0)
|";
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
Запрос.УстановитьПараметр("Сотрудник", Фио);
Запрос.УстановитьПараметр("Вид" , Справочники.КлассификаторИспользованияРабочегоВремени.Работа);
Запрос.УстановитьПараметр("парамОрганизация", Организация);
ЯвкиПоТабелю = 0;
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
ЯвкиПоТабелю = Результат.ДнейОборот;
КонецЦикла;
Возврат ЯвкиПоТабелю;
КонецФункции
в итоге отладчик показывает что ЯвкиПоТабелю равны нулю,подскажите в чем я ошибся?"
Функция ЯвкиПоТабелю(Фио,ДатаНачала,ДатаОкончания,Организация) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| РабочееВремяРаботниковОрганизацийОбороты.Сотрудник.ФизЛицо КАК ФизЛицо,
| РабочееВремяРаботниковОрганизацийОбороты.ДнейОборот,
| РабочееВремяРаботниковОрганизацийОбороты.ЧасовОборот
|ИЗ
| РегистрНакопления.РабочееВремяРаботниковОрганизаций.Обороты(&ДатаНачала,&ДатаОкончания,,
| Организация = &парамОрганизация И ВидИспользованияРабочегоВремени=&Вид) КАК РабочееВремяРаботниковОрганизацийОбороты
|ГДЕ
| РабочееВремяРаботниковОрганизацийОбороты.Сотрудник=&Сотрудник и (РабочееВремяРаботниковОрганизацийОбороты.ЧасовОборот > 0
| ИЛИ РабочееВремяРаботниковОрганизацийОбороты.ДнейОборот > 0)
|";
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
Запрос.УстановитьПараметр("Сотрудник", Фио);
Запрос.УстановитьПараметр("Вид" , Справочники.КлассификаторИспользованияРабочегоВремени.Работа);
Запрос.УстановитьПараметр("парамОрганизация", Организация);
ЯвкиПоТабелю = 0;
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
ЯвкиПоТабелю = Результат.ДнейОборот;
КонецЦикла;
Возврат ЯвкиПоТабелю;
КонецФункции
в итоге отладчик показывает что ЯвкиПоТабелю равны нулю,подскажите в чем я ошибся?"
07.11.2010
09:54
#2
> Организация = &парамОрганизация
Организация В Иерархии( &парамОрганизация) так будет более правильно и условие по сотруднику перенеси в параметры виртуальной таблицы
Организация В Иерархии( &парамОрганизация) так будет более правильно и условие по сотруднику перенеси в параметры виртуальной таблицы
07.11.2010
10:02
#3
насчёт ВТ можно поподробней? никогда просто с ними не работал и так и не понял в чём ошибка
07.11.2010
10:17
#4
" "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| РабочееВремяРаботниковОрганизацийОбороты.Сотрудник.ФизЛицо КАК ФизЛицо,
| РабочееВремяРаботниковОрганизацийОбороты.ДнейОборот,
| РабочееВремяРаботниковОрганизацийОбороты.ЧасовОборот
|ИЗ
| РегистрНакопления.РабочееВремяРаботниковОрганизаций.Обороты(&ДатаНачала,&ДатаОкончания,,
| Организация В Иерархии (&парамОрганизация) И Сотрудник В Иерархии (&Сотрудник) И ВидИспользованияРабочегоВремени=&Вид) КАК РабочееВремяРаботниковОрганизацийОбороты
|ГДЕ
| (РабочееВремяРаботниковОрганизацийОбороты.ЧасовОборот > 0
| ИЛИ РабочееВремяРаботниковОрганизацийОбороты.ДнейОборот > 0)
|";
Что то так!"
| РабочееВремяРаботниковОрганизацийОбороты.Сотрудник.ФизЛицо КАК ФизЛицо,
| РабочееВремяРаботниковОрганизацийОбороты.ДнейОборот,
| РабочееВремяРаботниковОрганизацийОбороты.ЧасовОборот
|ИЗ
| РегистрНакопления.РабочееВремяРаботниковОрганизаций.Обороты(&ДатаНачала,&ДатаОкончания,,
| Организация В Иерархии (&парамОрганизация) И Сотрудник В Иерархии (&Сотрудник) И ВидИспользованияРабочегоВремени=&Вид) КАК РабочееВремяРаботниковОрганизацийОбороты
|ГДЕ
| (РабочееВремяРаботниковОрганизацийОбороты.ЧасовОборот > 0
| ИЛИ РабочееВремяРаботниковОрганизацийОбороты.ДнейОборот > 0)
|";
Что то так!"
Читают тему
(гостей: 1)