» Казахстанский Бухгалтерский форум www.balans.kz

Требуется функция для определения нормы часов работника, 1С 8.X

 
Показать сообщения:
Начиная со старых .::. Начиная с новых


Автор: xBaguMx
Добавлено: #1  Ср Май 05, 2010 16:40:05
Заголовок сообщения: Требуется функция для определения нормы часов работника, 1С 8.X

Требуется функция для определения нормы часов работника для кое-каких вычислений (например, нормаЧас/отработаноЧас). Как это реализовать? Конфигурация не важна. Или в каком регистре сведений брать данные?


Автор: jonni_jonni
Добавлено: #2  Ср Май 05, 2010 16:46:19
Заголовок сообщения:

xBaguMx

Запрос = Новый Запрос("ВЫБРАТЬ
| КОЛИЧЕСТВО(РегламентированныйПроизводственныйКалендарь.Пятидневка) КАК Пятидневка
|ИЗ
| РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
|ГДЕ
| РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаНач И &ДатаКон
| И РегламентированныйПроизводственныйКалендарь.Пятидневка = 1");
Запрос.УстановитьПараметр("ДатаНач",НачалоМесяца(Дата));
Запрос.УстановитьПараметр("ДатаКон",КонецМесяца(Дата));
Рез = Запрос.Выполнить().Выбрать();
Если Рез.Следующий() Тогда
НормаЧасов = Рез.Пятидневка;
КонецЕсли;



Автор: xBaguMx
Добавлено: #3  Ср Май 05, 2010 17:04:03
Заголовок сообщения:

В корне не верно. Для каждого сотрудника установлен свой график. И кол-во часов у всех разное


Автор: jonni_jonni
Добавлено: #4  Ср Май 05, 2010 17:26:59
Заголовок сообщения:

xBaguMx говорит:
В корне не верно. Для каждого сотрудника установлен свой график. И кол-во часов у всех разное

Ну я предлагал один из вариантов.
У Вас ЗУП или БухУчет?



Автор: xBaguMx
Добавлено: #5  Ср Май 05, 2010 22:20:37
Заголовок сообщения:

У нас ЗУП


Автор: jonni_jonni
Добавлено: #6  Чт Май 06, 2010 09:36:04
Заголовок сообщения:

Если ЗУП, есть еще вариант:

"ВЫБРАТЬ
ОсновныеНачисленияРаботниковОрганизацийДанныеГрафика.ФизЛицо,
ОсновныеНачисленияРаботниковОрганизацийДанныеГрафика.НормаЧасов
ИЗ
РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ДанныеГрафика(
ПериодДействияНачало = &ДатаНач
И ПериодДействияКонец = &ДатаКон
И ФизЛицо = &ФизЛицо) КАК ОсновныеНачисленияРаботниковОрганизацийДанныеГрафика"
Но есть условия. Должны быть заполнени регистр сведений "Регламентированный производственный календарь" за этот период и должны быть записи по регистру расчета по этому сотруднику за этот период



Автор: xBaguMx
Добавлено: #7  Чт Май 06, 2010 09:52:03
Заголовок сообщения:

Хм... Фигня какая то. В РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.НормаЧасов равна кол-ву отработанных часов для любого сотрудника. Не знаешь в чем косяк?


Автор: jonni_jonni
Добавлено: #8  Чт Май 06, 2010 09:56:06
Заголовок сообщения:

Там есть два показателя, для нормы часов- "РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.НормаЧасов", для отработанных часов- "РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ОтработаноЧасов",


Автор: xBaguMx
Добавлено: #9  Чт Май 06, 2010 10:10:13
Заголовок сообщения:

Так вот эти показатели равны

Добавлено спустя 28 минут 41 секунду:

Блин, уже 1С доставать начинает. Элементарную вещь "Запросить кол-во нормы-часов" не реал нормально сделать.



Автор: jonni_jonni
Добавлено: #10  Чт Май 06, 2010 10:55:12
Заголовок сообщения:

1. В документе начисления при нажатии кнопки "Расчет с комментариями" посмотрите, какая норма часов? Такая же, как отработанное?
2. Через обработку "Групповая обработка справочников и документов" с флажком "Показыват табличные часты" и "Показывать все колонки" посмотрите, там тоже эти показатели равны?

Если они равны, значить надо покопаться в коде алгоритма расчета нормы часов посмотреть. Оттуда можно найти ответ



Автор: xBaguMx
Добавлено: #11  Чт Май 06, 2010 11:21:57
Заголовок сообщения:

Там тоже равны. Проблемы решил через камчатку,но решил. Может кому пригодится. Завел глобальную переменную и изменил модуль формы графика, так что при открытии он выдает кол-во часов не только в последнюю строку таблицы, но и в глобальную переменную. И когда нужно узнать норму часов для графика, я просто программно открываю и закрываю форму графика. В результате бухгалтер видит быстро появляющееся и сразу же исчезающее окно, а я - норму часов в глобальной переменной. Но совет начинающим кодерам 1С: НЕ ДЕЛАЙТЕ ТАК НИКОГДА :D


  

Служба поддержки WWW.BALANS.KZ