Как получить отработанные часы????
Показывать по
10
20
40
сообщений
- 1
- 2
29.06.2006
09:17
#1
Подскажите, кто знает!!!!!
Как в конфигураторе получить количество отработанных работником часов?
Как в конфигураторе получить количество отработанных работником часов?
30.06.2006
14:16
#2
"Подскажите, что я делаю неправильно?
Выдает сообщение - деление на ноль! Получается, что Часы равны 0.
ПОМОГИТЕ!!!!!!!
ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ДатаНач = ЖР.НачалоТекущегоПериода();
ДатаКон = ЖР.КонецТекущегоПериода();
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать1)
|Период с ДатаНач по ДатаКон;
|Объект = ЖурналРасчетов.Зарплата.Объект;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|Часы = ЖурналРасчетов.Зарплата.Часы;
|"//}}ЗАПРОС
;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Часы=0;
Пока ЖР.ПолучитьЗапись()>0 Цикл
Часы=Часы + ЖР.Часы;
КонецЦикла;
Часов = Документ.КолвоРабочихЧасов;
Результат = БазаРасчета * Часов / Часы ;
"
Выдает сообщение - деление на ноль! Получается, что Часы равны 0.
ПОМОГИТЕ!!!!!!!
ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ДатаНач = ЖР.НачалоТекущегоПериода();
ДатаКон = ЖР.КонецТекущегоПериода();
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать1)
|Период с ДатаНач по ДатаКон;
|Объект = ЖурналРасчетов.Зарплата.Объект;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|Часы = ЖурналРасчетов.Зарплата.Часы;
|"//}}ЗАПРОС
;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Часы=0;
Пока ЖР.ПолучитьЗапись()>0 Цикл
Часы=Часы + ЖР.Часы;
КонецЦикла;
Часов = Документ.КолвоРабочихЧасов;
Результат = БазаРасчета * Часов / Часы ;
"
30.06.2006
14:27
#3
Добавьте в запрос Сумма(Часы) и берите из запроса. Пример можно посмотреть в Отчет.РасчетнаяВедомость.
30.06.2006
16:14
#4
"Сделал вот так вот...... Но все равно Часы=0
ДатаНач = ЖР.НачалоТекущегоПериода();
ДатаКон = ЖР.КонецТекущегоПериода();
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать1)
|Период с ДатаНач по ДатаКон;
|Объект = ЖурналРасчетов.Зарплата.Объект;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|ЧасыВЖурнале = ЖурналРасчетов.Зарплата.Часы;
|Функция Часы = Сумма(ЧасыВЖурнале);
|"//}}ЗАПРОС
;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Часы= Запрос.Часы;
"
ДатаНач = ЖР.НачалоТекущегоПериода();
ДатаКон = ЖР.КонецТекущегоПериода();
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать1)
|Период с ДатаНач по ДатаКон;
|Объект = ЖурналРасчетов.Зарплата.Объект;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|ЧасыВЖурнале = ЖурналРасчетов.Зарплата.Часы;
|Функция Часы = Сумма(ЧасыВЖурнале);
|"//}}ЗАПРОС
;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Часы= Запрос.Часы;
"
30.06.2006
17:40
#6
"А теперь Часы = 9999.99 !!!!!!!!!!!!!!!!!!!!
Что-то не получается........
ДатаНач = ЖР.НачалоТекущегоПериода();
ДатаКон = ЖР.КонецТекущегоПериода();
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать1)
|с ДатаНач по ДатаКон;
|Объект = ЖурналРасчетов.Зарплата.Объект;
|ЧасыВЖурнале = ЖурналРасчетов.Зарплата.Часы;
|Группировка Объект;
|Группировка ПериодЖурнала;
|Функция Часы = Сумма(ЧасыВЖурнале);
|"//}}ЗАПРОС
;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Часы= Запрос.Часы;
"
Что-то не получается........
ДатаНач = ЖР.НачалоТекущегоПериода();
ДатаКон = ЖР.КонецТекущегоПериода();
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать1)
|с ДатаНач по ДатаКон;
|Объект = ЖурналРасчетов.Зарплата.Объект;
|ЧасыВЖурнале = ЖурналРасчетов.Зарплата.Часы;
|Группировка Объект;
|Группировка ПериодЖурнала;
|Функция Часы = Сумма(ЧасыВЖурнале);
|"//}}ЗАПРОС
;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Часы= Запрос.Часы;
"
30.06.2006
19:57
#7
"Советую также почитать про использование "Период с" и "С" в запросе.
Должно работать:
ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");
НачДата = ЖР.НачалоТекущегоПериода();
КонДата = ЖР.КонецТекущегоПериода();
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с НачДата по КонДата;
|Сотрудник = ЖурналРасчетов.Зарплата.Объект;
|ФизЛицо = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
|Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
|ЧасыВЖурнале = ЖурналРасчетов.Зарплата.Часы;
|Функция Часы = Сумма(ЧасыВЖурнале) когда (ФизЛицо = Сотрудник);
|Группировка ФизЛицо без групп;
//|Условие(Сотрудник = ВыбСотрудник); !!! условие, если по сотруднику
|Условие(Расчет.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления)=1);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Сообщить("Часы по всем "+Запрос.Часы);
Пока Запрос.Группировка(1) = 1 Цикл
Сообщить("Часы по каждому "+Запрос.Часы);
КонецЦикла;
P.S. А кстати, в журнале зарплаты по этому сотруднику часы рассчитаны?"
Должно работать:
ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");
НачДата = ЖР.НачалоТекущегоПериода();
КонДата = ЖР.КонецТекущегоПериода();
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с НачДата по КонДата;
|Сотрудник = ЖурналРасчетов.Зарплата.Объект;
|ФизЛицо = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
|Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
|ЧасыВЖурнале = ЖурналРасчетов.Зарплата.Часы;
|Функция Часы = Сумма(ЧасыВЖурнале) когда (ФизЛицо = Сотрудник);
|Группировка ФизЛицо без групп;
//|Условие(Сотрудник = ВыбСотрудник); !!! условие, если по сотруднику
|Условие(Расчет.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления)=1);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Сообщить("Часы по всем "+Запрос.Часы);
Пока Запрос.Группировка(1) = 1 Цикл
Сообщить("Часы по каждому "+Запрос.Часы);
КонецЦикла;
P.S. А кстати, в журнале зарплаты по этому сотруднику часы рассчитаны?"
03.07.2006
11:34
#8
Ошибка: Переменная ВыбСотрудник не определена.
Совсем не шарю в запросах!!!!!!!!!!!
Мож я ваще все неправильно делаю.....
Я делаю новое начисление: сделал документ, вид расчета, в котором и делаю запрос...
А как я понял, ВыбСотрудник работала бы, если бы запрос проводился в самом документе (отчете).
Совсем не шарю в запросах!!!!!!!!!!!
Мож я ваще все неправильно делаю.....
Я делаю новое начисление: сделал документ, вид расчета, в котором и делаю запрос...
А как я понял, ВыбСотрудник работала бы, если бы запрос проводился в самом документе (отчете).
03.07.2006
11:43
#9
ВыбСотрудник - сотрудник по которому делается отбор.
Начисление от каких видов расчетов зависит?
Начисление от каких видов расчетов зависит?
03.07.2006
12:29
#10
"С видами расчетов то все нормально: я сделал группу расчетов, а в "моем" новом виде расчетов прописал:
БазаРасчета = глПолучитьБазуВР(Объект, ВидРасч, НачалоТекущегоПериода(),КонецТекущегоПериода(), ГруппаРасчетов.БазаРасчета);
Результат = БазаРасчета / Часы * Часов ;
где Часы - отработанное работником время.
Проблема в том, чтобы получить эти самые часы..."
БазаРасчета = глПолучитьБазуВР(Объект, ВидРасч, НачалоТекущегоПериода(),КонецТекущегоПериода(), ГруппаРасчетов.БазаРасчета);
Результат = БазаРасчета / Часы * Часов ;
где Часы - отработанное работником время.
Проблема в том, чтобы получить эти самые часы..."
- 1
- 2
Читают тему
(гостей: 1)