Требуется функция для определения нормы часов работника, 1С 8.X
|
xBaguMx
Нерезидент Баланса
|
|
|
|
#1 Ср Май 05, 2010 16:40:05
|
Сообщить модератору
|
|
Требуется функция для определения нормы часов работника для кое-каких вычислений (например, нормаЧас/отработаноЧас). Как это реализовать? Конфигурация не важна. Или в каком регистре сведений брать данные?
|
|
За помощь кликните ′Спасибо′ →
|
|
|
jonni_jonni
Нерезидент Баланса
|
|
|
|
#2 Ср Май 05, 2010 16:46:19
|
Сообщить модератору
|
|
xBaguMx
Запрос = Новый Запрос("ВЫБРАТЬ
| КОЛИЧЕСТВО(РегламентированныйПроизводственныйКалендарь.Пятидневка) КАК Пятидневка
|ИЗ
| РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
|ГДЕ
| РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаНач И &ДатаКон
| И РегламентированныйПроизводственныйКалендарь.Пятидневка = 1");
Запрос.УстановитьПараметр("ДатаНач",НачалоМесяца(Дата));
Запрос.УстановитьПараметр("ДатаКон",КонецМесяца(Дата));
Рез = Запрос.Выполнить().Выбрать();
Если Рез.Следующий() Тогда
НормаЧасов = Рез.Пятидневка;
КонецЕсли;
|
|
За помощь кликните ′Спасибо′ →
|
|
|
xBaguMx
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
jonni_jonni
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
xBaguMx
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
jonni_jonni
Нерезидент Баланса
|
|
|
|
#6 Чт Май 06, 2010 09:36:04
|
Сообщить модератору
|
|
Если ЗУП, есть еще вариант:
"ВЫБРАТЬ
ОсновныеНачисленияРаботниковОрганизацийДанныеГрафика.ФизЛицо,
ОсновныеНачисленияРаботниковОрганизацийДанныеГрафика.НормаЧасов
ИЗ
РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ДанныеГрафика(
ПериодДействияНачало = &ДатаНач
И ПериодДействияКонец = &ДатаКон
И ФизЛицо = &ФизЛицо) КАК ОсновныеНачисленияРаботниковОрганизацийДанныеГрафика"
Но есть условия. Должны быть заполнени регистр сведений "Регламентированный производственный календарь" за этот период и должны быть записи по регистру расчета по этому сотруднику за этот период
|
|
За помощь кликните ′Спасибо′ →
|
|
|
xBaguMx
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
jonni_jonni
Нерезидент Баланса
|
|
|
|
#8 Чт Май 06, 2010 09:56:06
|
Сообщить модератору
|
|
Там есть два показателя, для нормы часов- "РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.НормаЧасов", для отработанных часов- "РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ОтработаноЧасов",
|
|
За помощь кликните ′Спасибо′ →
|
|
|
xBaguMx
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
jonni_jonni
Нерезидент Баланса
|
|
|
|
#10 Чт Май 06, 2010 10:55:12
|
Сообщить модератору
|
|
1. В документе начисления при нажатии кнопки "Расчет с комментариями" посмотрите, какая норма часов? Такая же, как отработанное?
2. Через обработку "Групповая обработка справочников и документов" с флажком "Показыват табличные часты" и "Показывать все колонки" посмотрите, там тоже эти показатели равны?
Если они равны, значить надо покопаться в коде алгоритма расчета нормы часов посмотреть. Оттуда можно найти ответ
|
|
За помощь кликните ′Спасибо′ →
|
|
|
xBaguMx
Нерезидент Баланса
|
|
|
|
#11 Чт Май 06, 2010 11:21:57
|
Сообщить модератору
|
|
Там тоже равны. Проблемы решил через камчатку,но решил. Может кому пригодится. Завел глобальную переменную и изменил модуль формы графика, так что при открытии он выдает кол-во часов не только в последнюю строку таблицы, но и в глобальную переменную. И когда нужно узнать норму часов для графика, я просто программно открываю и закрываю форму графика. В результате бухгалтер видит быстро появляющееся и сразу же исчезающее окно, а я - норму часов в глобальной переменной. Но совет начинающим кодерам 1С: НЕ ДЕЛАЙТЕ ТАК НИКОГДА
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|