---
title: Календарные графики УХ
slug: erp-uh/календарные-графики-ух
---


## ПолучитьДатуПоКалендарю
<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>

## ДатаПоКалендарю
<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>

## СоздатьВТПриращениеДней
<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).

---
