Files
153_CB-OUO_Parent-Payments/docs/ПЛАН. Остатки взаиморасчётов с детьми в садах (БГУ 2.0).md
T
tsvetkoff 061e46d8f0 План: решения по концепции «остатки в садах»
- ЦБ-документ передачи заполняется из остатков регистра накопления (не из расшифровки кассового поступления)
- Регистр взаиморасчётов пишется только ЦБ-документами и должен давать нулевые остатки
- Режим «Начальное сальдо» искореняется полностью, включая значение перечисления
- Ввод на основании разворачивается: ЦБ-документ передачи первичен, сад-документы вводятся по нему

Открытым оставлен один пункт — направление движений регистра у «Кассового поступления».
2026-10-15 00:10:33 +05:00

123 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ПЛАН. Остатки взаиморасчётов с детьми в садах (БГУ 2.0)
**Ветка:** `feature/ostatki-v-sadah`
**Основание:** `docs/ЗАДАЧА. Остатки взаиморасчётов с детьми в садах (БГУ 2.0).md`
**Дата:** 14.10.2026
**Статус:** решения по плану получены; один пункт требует подтверждения (см. конец документа)
---
## 0. Ревизия выполнена
Проведён разбор обоих документов и их связей. Ниже — что именно затронет работа.
**Документы и их текущая роль:**
| Роль сейчас | Объект | Проводка | Движения по регистрам |
|---|---|---|---|
| ЦБ принимает задолженность | `ПС_ПринятиеЗадолженностиОтУчреждения` | Дт 205.31 — Кт 304.04 | Журнал проводок **и** регистр взаиморасчётов (приход) |
| Сад передаёт задолженность | `ПС_ПередачаЗадолженностиВЦБ` | Дт 304.04 — Кт 205.31 | только Журнал проводок |
**Цепочка «ввод на основании»:** «Начисление родительской платы» → `ПС_ПередачаЗадолженностиВЦБ` (через `basedOn`) → `ПС_ПринятиеЗадолженностиОтУчреждения` (командой формы).
**Ссылки, которые надо пройти при переименовании:**
1. `Configuration.mdo` — состав документов.
2. `Roles\ПС_ОсновнаяРоль\Rights.rights` — два блока прав.
3. Подсистема `РодительскаяПлата.mdo` — состав содержимого.
4. `НачислениеРодительскойПлаты.mdo` — свойство `basedOn`.
5. Типы реквизитов `ДокументПередачи`: в `.mdo` ЦБ-документа и в регистре `ПС_ВзаиморасчетыПоРодительскойПлате`.
6. Код: `Тип("ДокументСсылка.…")`, тексты запросов `Документ.…`, `Документы.….СформироватьПечатныеФормыИзвещений`, `Документы.….ПолучитьМакет`, `ОткрытьФорму("Документ.….Форма.ФормаДокумента")` — в обоих документах, в общем модуле `ПС_УчетРодительскойПлаты`, в пульте, в форме «Начисления родительской платы».
7. Ключи параметров печати в `ПС_УчетРодительскойПлаты` (`ПАРАМЕТРЫ_ПЕЧАТИ_…`).
8. Типы в `.form`: `DocumentObject.…` в формах документов, `DocumentRef.…` в форме пульта.
9. Модули объектов и форм, модули менеджеров обоих документов, макеты печатных форм.
**Не затрагивается:** `ПС_РаботаСКонтрагентами`, `ПС_РазборПлатежейПоРодительскойПлате`, отчёт `ПС_ВедомостьЦБПоРодительскойПлате` (работает с регистром, а не с документами), интерфейс подсистемы, определяемые типы, подписки на события.
---
## 1. Переименование документов
| Сейчас | Стало |
|---|---|
| `ПС_ПринятиеЗадолженностиОтУчреждения` | `ПС_ПередачаПоступившихПлатежейВУчреждения` |
| `ПС_ПередачаЗадолженностиВЦБ` | `ПС_ПринятиеПоступившихПлатежейИзЦБ` |
Порядок работ: сначала переименование в метаданных, затем проход по цепочке ссылок из п. 0, затем код. Перед началом — переключить EDT на ветку и убедиться, что проект собирается.
---
## 2. Смена ролей и логики заполнения
- **ЦБ-документ** (`ПС_ПередачаПоступившихПлатежейВУчреждения`) — источник. Заполняется **из остатков регистра накопления** `ПС_ВзаиморасчетыПоРодительскойПлате`: в документ попадают поступившие платежи, ещё не переданные в сады.
- Почему не из расшифровки «Кассового поступления»: тогда пришлось бы отдельно контролировать, чтобы платежи одного поступления не уехали в несколько передач. Через регистр контроль не нужен — предыдущая передача выбирает остатки, следующая их уже не видит.
- Условие корректности — последовательность проведения: каждую следующую передачу проводить после предыдущей по дате.
- **Сад-документы** (`ПС_ПринятиеПоступившихПлатежейИзЦБ`) — вводятся **на основании** ЦБ-документа, **по одному на сад** (в выписке ЦБ за день платежи идут в адрес нескольких садов).
- **«Ввод на основании» разворачивается в обратную сторону:** снять `basedOn` у «Начисления родительской платы» (сейчас он указывает на сад-документ); первым заполняется ЦБ-документ передачи, а сад-документы вводятся по нему.
- Проверить и поправить автозаполнение реквизитов при вводе на основании: организация, учреждение, ИФО, КФО, суммы.
---
## 3. Снятие режима «Начальное сальдо»
Искореняется полностью:
- **Сад-документ:** реквизит `ПередачаСальдо`, команда `ЗаполнитьПоОстаткам20531` и её обработчик `ЗаполнитьПоОстаткам20531НаСервере`, процедуры `ОбновитьВидимостьРеквизитовРежимаСальдо` и `ПередачаСальдоПриИзменении`, связанные элементы формы.
- **ЦБ-документ:** реквизит `ПередачаСальдо` и ветка `ВидОперации = НачальноеСальдо` при формировании движений.
- **Перечисление** `ПС_ВидыОперацийПоВзаиморасчетам` — значение «Начальное сальдо» удаляется.
---
## 4. Проводки и печать — без изменений
- Проводки сохраняются буквально: у ЦБ Дт 205.31 — Кт 304.04, у сада Дт 304.04 — Кт 205.31. В ЦБ сторону уходила дебиторская задолженность, обратно возвращается кредиторская.
- Извещение ф. 0504805 — у обоих документов, как и было. Макеты и их имена не меняются.
---
## 5. Регистр взаиморасчётов и отчёт
- Регистр `ПС_ВзаиморасчетыПоРодительскойПлате` — главный инструмент контроля ЦБ: он должен показать, что **все данные о платежах уехали из ЦБ**. Пишется **только документами ЦБ** — «Кассовым поступлением» и «Передачей платежей»; сад-документы в него **не пишут**.
- Когда все документы проведены в правильной последовательности, регистр даёт **нулевые остатки**.
- Структуру регистра и отчёт `ПС_ВедомостьЦБПоРодительскойПлате` не трогаем. Отчёт остаётся средством контроля: нулевые остатки означают, что всё передано.
---
## 6. Пульт — не трогаем
- В форме пульта четыре запроса и типы реквизитов ссылаются на документы. После переименования их надо поправить механически, логику не менять.
---
## 7. Проверка
- Переработать приёмочные сценарии под новую схему: загрузка реестра → ЦБ собирает поступившие суммы → передача в сады → приём в каждом саду → нулевые остатки по регистру.
- Прогнать проверку маркеров EDT по изменённым объектам.
---
## 8. Документация
- **Убрать «Начальное сальдо»** из памятки (раздел 4) и руководства пользователя (п. 3.2) — режима больше нет.
- Переписать схему в руководстве пользователя и руководстве по эксплуатации под новую модель, переименовать документы во всех упоминаниях.
- Обновлять шар и `docs/` синхронно, после стабилизации результата.
---
## Решения по вопросам плана (согласовано)
1. **Источник заполнения ЦБ-документа** — остатки регистра накопления, а не расшифровка «Кассового поступления». Контроль дублей не нужен: предыдущая передача снимает остатки, следующая их не видит; требуется лишь соблюдать последовательность проведения по дате.
2. **Движения регистра** — остаются за ЦБ-документами: «Кассовым поступлением» и «Передачей платежей». Сад-документы движений в регистр не делают.
3. **«Начальное сальдо»** — искореняется полностью, включая значение в перечислении видов операций.
4. **`basedOn`** — разворачивается: первым заполняется ЦБ-документ передачи, на его основании вводятся документы приёма платежей в садах.
---
## Требует подтверждения (один пункт)
**Направление движений регистра.** Чтобы передачу можно было заполнять из остатков, а регистр обнулялся при полной передаче, нужно: «Кассовое поступление» даёт **приход** (поступившие платежи копятся у ЦБ), «Передача платежей» — **расход** (отдаём в сады). Тогда всё сходится в ноль.
Сейчас в коде наоборот: «Кассовое поступление» пишет **расход** (вид операции «Оплата» — платёж закрывал задолженность перед ЦБ). То есть в новой схеме направление движения у «Кассового поступления» меняется на противоположное — это уже не «ничего не меняется в части поступления средств».
Подтверди этот момент: меняем направление у «Кассового поступления» на приход — или ты видишь механику иначе?