---
title: Учет рабочего времени
slug: zup/учет-рабочего-времени
---


## ЗарегистрироватьРабочееВремяСотрудников
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Регистрирует рабочее время в переданной коллекции движений.
//
// 	Параметры:
//		Движения - коллекция движений, обязательно содержащая набор записей
//				   регистра накопления ДанныеОперативногоУчетаРабочегоВремениСотрудников.
//		ДанныеОВремени - таблица значений с колонками.
//			Дата  - конкретная дата на которую регистрируется время или любая
//					(например, первое число) дата месяца в том случае, если
//					регистрируются данные в целом за месяц (ВЦеломЗаПериод - истина).
//			Сотрудник
//			ВидВремени (не обязательно) - если колонки нет, то считается, что это - Явка.
//			Дней (не обязательно) - требуется только если ВЦеломЗаПериод - истина.
//			Часов (не обязательно)
//			План (не обязательно) - булево, признак того, что регистрируется плановое время
//									если колонки нет, то считается, что регистрируется
//									фактическое время.
//			Внутрисменное (не обязательно) - булево, признак того, что регистрируется
//											 внутрисменное время. Если колонки нет, то
//											 считается, что регистрируется целосменное время.
//			ВЦеломЗаПериод (не обязательно) - булево, признак того, что регистрируется время в
//							 				  целом за месяц. Если колонки нет, то регистрируются
//											  данные на переданную дату. Если ВЦеломЗаПериод
//											  не передано или Ложь, то колонка Дней не может быть больше 1.
//		ПериодРегистрации - месяц в котором регистрируются данные, если не указан то считается что данные
//							регистрируются в том же месяце за который вводятся.
//    	Записывать - Булево - Если Истина, то наборы будут записаны сразу.
//					          Если Ложь - наборам будет установлен признак Записывать = Истина.
//                            По умолчанию Ложь.
//
// Например,
// - Если переданы только колонки Дата и Сотрудник, то это значит, что
//   переданные даты - целые, полностью отработанные, рабочие дни.
// - Если переданы колонки Дата, Сотрудник, Дней и ВЦеломЗаПериод заполнена как Истина, то это
//   значит, что передано количество полностью отработанных дней в том месяце, который
//	 соответствует переданной дате.
Процедура ЗарегистрироватьРабочееВремяСотрудников(Движения, ДанныеОВремени, ПериодРегистрации = '00010101', Записывать = Ложь) Экспорт
```

Пример вызова
```bsl
УчетРабочегоВремени.ЗарегистрироватьРабочееВремяСотрудников(Движения, ДанныеОВремени, ПериодРегистрации, Записывать);
```
</details>

## ТаблицаДляРегистрацииВремени
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает пустую таблицы, необходимой для метода ЗарегистрироватьРабочееВремяСотрудников структуры.
//
// Возвращаемое значение
//	Таблица значений с полями:
// 		Дата
//		Сотрудник
//	    ВидВремени
//		ВидВремениВытесняемый
//		Дней
//		Часов
//		План
//		Внутрисменное
//		ВЦеломЗаПериод
Функция ТаблицаДляРегистрацииВремени() Экспорт
```

Пример вызова
```bsl
Результат = УчетРабочегоВремени.ТаблицаДляРегистрацииВремени() 
```
</details>

## ПроверитьРегистрируемыеДанныхОВремени
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Проверяет регистрируемые данные о фактическом времени времени.
//  Данный метод должен вызваться в обработчике ОбработкаПроверкиЗаполнения
//  документа-регистратора данных о времени.
//
// 	Параметры:
//		Регистратор - ссылка на документ регистратор.
//		ДанныеОВремени - таблица значений с колонками.
//			Дата  - конкретная дата на которую регистрируется время или любая
//					(например, первое число) дата месяца в том случае, если
//					регистрируются данные в целом за месяц (ВЦеломЗаПериод - истина).
//			Сотрудник
//			ВидВремени (не обязательно) - если колонки нет, то считается, что это - Явка.
//			Дней (не обязательно) - если не задано, то считается что на каждую дату регистрируется по одному дню.
//			Часов (не обязательно)
//			ВЦеломЗаПериод -  (не обязательный, по умолчанию ложь).
//		Отказ - булево, признак наличия ошибок.
//		ВыводитьОшибкиПользователю - булево, необязательный. Признак необходимости выводить ошибки в виде сообщений
//		                             пользователю.
//		ПериодРегистрации - необязательный. Период регистрации данных о времени.
//
//	Возвращаемое значение:
//		Массив структур с полями:
//			Сотрудник - сотрудник, по которому регистрируется время.
//			Дата - дата, за которую введено некорректное значение.
//			ВидВремени - не корректно введенный вид времени (может быть пустым).
//			Документ - ссылка на документ, записи которого противоречат вводимым данным (может быть пустым).
//			ТекстОшибки - текст ошибки.
//
Функция ПроверитьРегистрируемыеДанныхОВремени(Регистратор, ДанныеОВремени, Отказ = Ложь, ВыводитьОшибкиПользователю = Ложь, ПериодРегистрации = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = УчетРабочегоВремени.ПроверитьРегистрируемыеДанныхОВремени(Регистратор, ДанныеОВремени, Отказ, ВыводитьОшибкиПользователю, ПериодРегистрации);
```
</details>

## ЗарегистрироватьСторноЗаписиПоДокументу
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Регистрирует сторно записи в регистре накопления учета времени.
//
//	 Параметры:
//		Движения - КоллекцияДвижений - наборы записей регистров учета времени.
//		ПериодРегистрации - Дата - период регистрации сторно записей (начало месяца).
//		ИсправляемыйДокумент - документ по которому регистрируются сторно записи.
//      Сотрудники - Массив - Сотрудники, по которым необходимо зарегистрировать сторно-записи.
//                            Если параметр не передан, то будут сторнированы все движения исправляемого документа
//                            по регистру накопления учета рабочего времени.
//    	Записывать - Булево - Если Истина, то наборы будут записаны сразу.
//					          Если Ложь - наборам будет установлен признак Записывать = Истина.
//                            По умолчанию Ложь.
//
//
Процедура ЗарегистрироватьСторноЗаписиПоДокументу(Движения, ПериодРегистрации, ИсправляемыйДокумент, Сотрудники = Неопределено, Записывать = Ложь) Экспорт
```

Пример вызова
```bsl
УчетРабочегоВремени.ЗарегистрироватьСторноЗаписиПоДокументу(Движения, ПериодРегистрации, ИсправляемыйДокумент, Сотрудники, Записывать);
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
