Skip to content

Commit 416af49

Browse files
committed
Остаток теории
1 parent 43afffb commit 416af49

13 files changed

Lines changed: 456 additions & 2 deletions
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
sidebar_position: 30
3+
sidebar_label: Бизнес-процессы и Задачи
4+
title: Бизнес-процессы и Задачи
5+
---
6+
7+
**Бизнес-процессы** позволяют создавать экземпляры процессов, которые следуют определённому маршруту, включающему различные точки и действия. Они реализуют концепцию **Workflow**, обеспечивая ролевую маршрутизацию заданий между пользователями.
8+
9+
**Задачи** представляют собой задания, которые возникают в ходе выполнения бизнес-процессов и могут быть адресованы конкретным пользователям или ролям. Они являются "движущей силой" бизнес-процессов, обеспечивая переход процесса на следующую точку маршрута после выполнения задачи. Могут использоваться автономно.
10+
11+
При формировании списка задач для конкретного сотрудника, используется регистр сведений, который обеспечивает нахождение соответствий роль-сотрудник согласно системе адресации, настроенной в задаче.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
sidebar_position: 29
3+
sidebar_label: Регистры расчета
4+
title: Регистры расчета
5+
---
6+
**Регистры расчета** — это объекты конфигурации, предназначенные для регистрации результатов периодических расчетов с поддержкой сложных взаимосвязей между ними
7+
8+
### Ответы на ключевые вопросы
9+
10+
#### 1. Какие таблицы бывают у регистра?
11+
Зависит от типа регистра. Есть таблицы База и данные графика, если связан с регистром сведений.
12+
13+
#### 2. Зачем нужны регистры расчета, если можно решить через регистры накопления? Регистры расчета отслеживают зависимости от одного вида расчета от другого?
14+
Да, основное преимущество регистров расчета перед регистрами накопления — реализация сложных расчетных механизмов:
15+
16+
* **Механизм вытеснения** — записи одного вида расчета (например, "Отпуск") исключают пересекающиеся записи другого (например, "Оклад")
17+
* **Механизм перерасчетов** — при изменении базового расчета автоматически пересчитываются зависящие от него
18+
* **Учет базового периода** — для расчетов, основанных на данных за предыдущие периоды
19+
20+
Хотя связи между расчетами настраиваются в плане видов расчета, сами механизмы (вытеснение, перерасчет, сторно) реализованы именно в регистрах расчета.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
sidebar_position: 25
3+
sidebar_label: План видов расчета
4+
title: План видов расчета
5+
---
6+
**План видов расчета (ПВР)** — служат для описания видов расчета, которые имеют сложные взаимные влияния во времени.
7+
8+
### Типы влияний между видами расчета
9+
10+
**Базовые** — результаты которых используются при перерасчете;
11+
12+
**Ведущие** — изменения в которых требуют перерасчета зависимого вида;
13+
14+
**Вытесняющие** — которые могут вытеснять другие виды расчета по периоду действия
15+
16+
| Тип влияния | Логика работы | Пример | Как настраивается |
17+
|---|---|---|---|
18+
| **Зависимость по базовому периоду** | Вид Б нужен для вычисления вида А. Система гарантирует, что при изменении Б пересчитается А. | `Премия` → зависит от `Оклада`. Премия считается от суммы оклада. | В свойствах вида А (`Премия`) в поле **"Зависимость по базовному периоду"** добавляется вид Б (`Оклад`). |
19+
| **Вытеснение по периоду действия** | Вид В "отменяет" действие вида Г на общей части их периодов действия. | `Больничный` → вытесняет `Оклад`. За дни больничного оклад не начисляется. | При описании расчета Оклад следует отметить Больничный как вытесняющий.
20+
| **Ведущие виды расчета** | Изменение ведуших требует перерасчета зависимых | Если `Больничный` вытесняет `Оклад`, а `Премия` зависит от `Оклада`, то `Больничный` — ведущий для `Премии`. | Для Премии нужно вручную включить в список ведущих как Оклад, так и Больничный |

docs/theory/metadata/commands.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
sidebar_position: 13
3+
sidebar_label: Команды, группы команд и общие команды
4+
title: Команды, группы команд и общие команды
5+
---
6+
**Три взаимосвязанных объекта метаданных для построения интерфейса и навигации в 1С.**
7+
8+
### Ключевые свойства
9+
10+
| Объект метаданных | Описание | Внешний вид |
11+
|---|---|---|
12+
| **Команда** | Конкретное действие | Кнопка или гиперссылка |
13+
| **Группа команд** | Контейнер для объединения команд | Панель, меню, раздел |
14+
| **Общая команда** | Глобальная команда для всей конфигурации | Доступна везде |
15+
16+
### Ответы на ключевые вопросы
17+
18+
#### 1. Что такое команды и группы команд?
19+
**Команды** — кнопки или гиперссылки, выполняющие конкретное действие (создать, провести, удалить).
20+
21+
**Группы команд** — контейнеры для объединения связанных команд в интерфейсе (меню, панели инструментов).
22+
23+
#### 2. Директивы компиляции в модуле команды?
24+
```bsl
25+
// Доступные директивы:
26+
&НаКлиенте // Выполняется на клиенте
27+
&НаСервере // Выполняется на сервере
28+
&НаКлиентеНаСервере // для клиента и сервера
29+
```
30+
31+
#### 3. Когда можно указывать тип параметра?
32+
1.**Команда формы списка** — параметр = выделенный элемент
33+
2.**Команда объекта** — параметр = текущий объект
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
sidebar_position: 11
3+
sidebar_label: Определяемые типы
4+
title: Определяемые типы
5+
---
6+
**Объект метаданных, определяющий набор допустимых типов данных.** Контейнеры для наборов типов данных, которые обеспечивают единообразие и централизацию. Используются когда одни и те же типы нужны в разных местах конфигурации или когда нужно гарантировать одинаковые форматы данных в разных базах. Особенно полезны для финансовых показателей (точность сумм), кодов (валют, стран) и сложных структур данных.
7+
8+
### Практическое применение
9+
10+
#### 1. **Единство между разными базами**:
11+
```bsl
12+
// Определяемый тип "ТипКонтрагента":
13+
• Число
14+
• СправочникСсылка.ФизическиеЛица
15+
• СправочникСсылка.ЮридическиеЛица
16+
17+
// Использование в реквизитах:
18+
Документ.Реализация.Контрагент → Тип: ОпределяемыйТип.ТипКонтрагента
19+
// В разных базах может быть разный состав, но имя типа одинаковое
20+
```
21+
22+
#### 2. **Централизация настроек** (пример с разрядностью):
23+
```bsl
24+
// Определяемый тип "ВалютаКод":
25+
• Строка (Длина = 3) // USD, EUR, RUB
26+
// Используется везде, где нужны коды валют
27+
```
28+
29+
### Примеры использования
30+
31+
#### 1. Настройки точности:
32+
```bsл
33+
// Централизованная настройка точности
34+
ОпределяемыйТип "Сумма":
35+
• Число (Длина = 15, Точность = 2)
36+
37+
// Использование в разных местах:
38+
Документ.Реализация.Сумма → ОпределяемыйТип.Сумма
39+
Регистр.Продажи.Сумма → ОпределяемыйТип.Сумма
40+
Отчет.Обороты.Сумма → ОпределяемыйТип.Сумма
41+
```
42+
43+
### Критические нюансы
44+
45+
#### Преимущества:
46+
1. **Централизованное управление** — изменение в одном месте
47+
2. **Единство данных** — одинаковые типы везде
48+
3. **Упрощение миграции** — легко изменить для всех объектов
49+
50+
### Рекомендации по использованию
51+
52+
#### Использовать определяемые типы, когда:
53+
- ✅ Один и тот же набор типов используется в разных местах
54+
- ✅ Нужно гарантировать единство данных между базами
55+
- ✅ Частые изменения точности/форматов
56+
- ✅ Интеграция с внешними системами (стандартные форматы)
57+
58+
#### Типичные применения:
59+
1. **Финансовые показатели** — точность сумм, ставок
60+
2. **Коды и идентификаторы** — длина, формат

docs/theory/metadata/documents.md

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,51 @@ sidebar_position: 19
33
sidebar_label: Документы
44
title: Документы
55
---
6-
Объект метаданных для фиксации хозяйственных операций с временной привязкой.
6+
**Документы** — объекты для регистрации хозяйственных операций и событий предприятия (накладные, счета, платежки). Имеют **временную последовательность** и могут **проводиться** для изменения учетных данных.
7+
8+
### Основные события
9+
10+
#### **Модуль объекта:**
11+
| Событие | Когда вызывается | Для чего используется |
12+
|---|---|---|
13+
| **`ПередЗаписью()`** | Перед записью | Валидация, расчеты |
14+
| **`ПриЗаписи()`** | Во время записи | Дополнительные проверки, запись связанных данных |
15+
| **`ОбработкаПроведения()`** | При проведении | Создание движений |
16+
| **`ОбработкаЗаполнения()`** | При создании | Автозаполнение полей |
17+
18+
### Удаление движений
19+
20+
Свойство **«Удаление движений»** управляет автоматическим удалением записей регистров при работе с документом. Влияет на параллельность работы и производительность.
21+
22+
| Вариант | Когда удаляет движения | Когда НЕ удаляет | Для чего используется |
23+
|---|---|---|---|
24+
| **Удалять автоматически при отмене проведения** (стандарт) | 1. Удаление документа 2. Отмена проведения | Перепроведение (перезаписывает) | |
25+
| **Удалять автоматически** | 1. Перепроведение 2. Удаление 3. Отмена проведения | Всегда удаляет старые | **Когда нужна полная очистка** перед новыми движениями |
26+
| **Не удалять автоматически** | Никогда автоматически | Всегда | Оперативный учет в реальном времени или построчное проведение |
27+
28+
### Влияние на блокировки и производительность
29+
30+
#### **«Удалять автоматически» (плохо для параллельности):**
31+
```
32+
Начало транзакции
33+
🔒 УДАЛЕНИЕ старых движений (X-блокировка)
34+
🔒 Длительные вычисления и прочие действия
35+
🔒 Запись движений
36+
🔒 Контроль остатков
37+
Фиксация
38+
```
39+
При перепроведении этого документа, еще до выполнения процедуры `ОбработкаПроведения`, движения будут удалены.
40+
Что бы удалить данные платформа накладывает **X** блокировку, которая держится до конца транзакции.
41+
42+
#### **«Удалять автоматически при отмене проведения» (лучше для параллельности):**
43+
```
44+
Начало транзакции
45+
Длительные вычисления и прочие действия
46+
🔒 Запись движений
47+
🔒 Контроль остатков
48+
Фиксация
49+
```
50+
**Преимущество:** Во втором случае, данные будут заблокированы на гораздо меньшее время, чем в первом. А чем меньше длится блокировка, тем меньше вероятность возникновения проблем при многопользовательской работе.
751

852
## Последовательности
953

@@ -33,4 +77,13 @@ title: Документы
3377
```bsl
3478
- Если ввод интерактивный в обработчике ОбработкаПроверкиЗаполнения
3579
- Если программно тогда явно вызвать ПроверитьЗаполнение()
36-
```
80+
```
81+
82+
#### 3. Чем отличаются три варианта удаления движений?
83+
- **«При отмене»**: удаляет только при удалении/отмене документа
84+
- **«Автоматически»**: удаляет при любом перепроведении
85+
- **«Не удалять»**: никогда автоматически, нужно управлять вручную
86+
87+
#### 4. Как влияет на производительность?
88+
**«Автоматически»** блокирует движения **в начале** транзакции → плохо при долгих расчетах.
89+
**«Не удалять»** блокирует в **конце** → лучше для параллельности.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
sidebar_position: 21
3+
sidebar_label: Перечисления
4+
title: Перечисления
5+
---
6+
**Объект метаданных для хранения фиксированных наборов значений, задаваемых в конфигураторе.**
7+
8+
### Ключевые моменты
9+
10+
| | Описание | Пример |
11+
|---|---|---|
12+
| **Фиксированный набор** | Значения задаются в конфигураторе | Ставки НДС, статусы заказов |
13+
| **Неизменяемость** | Не меняются в процессе работы | Только добавление в новых версиях |
14+
| **Тип ссылки** | Используется как тип данных | `ПеречислениеСсылка.СтатусЗаказа` |
15+
16+
### Ответ на вопрос
17+
18+
#### Динамическое ограничение значений перечисления?
19+
20+
Для динамического ограничения выбора используется обработчик `ОбработкаПолученияДанныхВыбора` в модуле менеджера перечисления. Это позволяет программно фильтровать доступные значения в зависимости от условий (констант, настроек, прав)."
21+
22+
### Рекомендации
23+
24+
#### Когда создавать перечисления:
25+
- ✅ Фиксированные наборы значений (статусы, типы)
26+
- ✅ Когда значения НЕ меняются в процессе работы

0 commit comments

Comments
 (0)