helpf.pro
Регистрация
 +19 
Распечатать

Получить количество рабочих дней сотрудника

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

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

	Запрос.УстановитьПараметр("ДатаК", ДатаК);
	Запрос.УстановитьПараметр("ДатаН", ДатаН);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		ОсновноеЗначение = Выборка.Пятидневка;
	Иначе
		ОбщегоНазначенияЗК.СообщитьОбОшибке("Проверьте заполнение графика!");
		ОсновноеЗначение = 0;
	КонецЕсли;
	
	Возврат ОсновноеЗначение;
КонецФункции   
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 40172
 +19 
Распечатать
Возможно, вас также заинтересует
Cодержимое указанного ниже веб-сайта в этом приложении блокируется... Aboutsecurity_1cv8c.exe 2
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э
PostgreSQL: установка, настройка, обслуживание 12
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблиц
rphost занимает память и грузит процессор 23
У многих возникают проблемы с rphost.exe, разного вида: rphost занимает всю память rphost грузит процессор rphost жрет память причем 1С даже на запущена, а в диспетчере следующее: ежеминутно расчет на 2-3 мегабайта. Как быть и что делат
Ввести перечисление, выбор перечисления 2
// В 8-ой версии нет такой фунции, но можно сделать так: ЗначПер=Перечисления.Важность.Средняя; //Установим перечисление предлагаемое выбрать по умолчанию Если ВвестиЗначение(ЗначПер,"Выберите важность:") тогда Сообщить(ЗначПер); //обработка в
Ввод договоров ГПХ в ЗУП (счет 76) 9
Часто меня спрашивают: Как правильно отразить договор ГПХ в ЗУП? Ниже небольшая, последовательная инструкция: Прием на работу Сведения о физическом лице, выполняющем работы по договору подряда, должны быть внесены в справочник Сотрудники организ
Посмотреть все результаты поиска похожих
Комментарии
saudin
12.02.2014 10:36Комментарий: 1
saudin
Очень содержательная статья!
Узнал много нового!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!