# ПЛАН. Остатки взаиморасчётов с детьми в садах (БГУ 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`** — разворачивается: первым заполняется ЦБ-документ передачи, на его основании вводятся документы приёма платежей в садах. --- ## Требует подтверждения (один пункт) **Направление движений регистра.** Чтобы передачу можно было заполнять из остатков, а регистр обнулялся при полной передаче, нужно: «Кассовое поступление» даёт **приход** (поступившие платежи копятся у ЦБ), «Передача платежей» — **расход** (отдаём в сады). Тогда всё сходится в ноль. Сейчас в коде наоборот: «Кассовое поступление» пишет **расход** (вид операции «Оплата» — платёж закрывал задолженность перед ЦБ). То есть в новой схеме направление движения у «Кассового поступления» меняется на противоположное — это уже не «ничего не меняется в части поступления средств». Подтверди этот момент: меняем направление у «Кассового поступления» на приход — или ты видишь механику иначе?