Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Подробное техническое описание реализованной логики работы с элементом формы "ВидРасчетаСписок", разработанной в рамках задачи CRM4DEV-966. Описание подготовлено для передачи другому программисту и позволяет понять, как работает механизм отображения и сохранения выбранных значений из выпадающего списка (множественный выбор), а также как обеспечивается контроль изменений.

...

screenshot-3.pngImage Added

📄 📄 Описание логики обработки множественного выбора: ВидРасчетаСписок

...

2. Используемые объекты конфигурации

ОбъектНазначение
РегистрСведений.Дев_ВидыРасчетовДоговоровХранит связь: ДоговорВидРасчета.
Перечисление.Дев_ВидыРасчетовСодержит список возможных видов расчётов (например, "Аванс", "Оплата по этапам", "Единовременно").
Реквизит формы ВидРасчетаСписокЭлемент управления на форме для отображения и редактирования выбранных значений.
Реквизит формы ВидРасчетаСписокБуферБуферная копия ВидРасчетаСписок для сравнения изменений.

⚠️ Реквизиты ВидРасчетаСписок и ВидРасчетаСписокБуфер должны быть объявлены на форме как свойства типа СписокЗначений.

...

Пользователь открывает документ
        ↓
ПриСозданииНаСервере()
        ↓
ЗаполнитьВидРасчетаСписок()
        ↓
Чтение из Регистра: Дев_ВидыРасчетовДоговоров
        ↓
Заполнение: ВидРасчетаСписок + ВидРасчетаСписокБуфер
        ↓
Пользователь редактирует список
        ↓
ПриЗаписиНаСервере()
        ↓
Сравнение: ВидРасчетаСписок ≠ ВидРасчетаСписокБуфер?
        ↓ Да
ЗаписатьДанныеВидовРасчетаДоговора()
        ↓
Удаление старых записей + создание новых в регистре
        ↓
Обновление буфера
        ↓
Документ сохранён

...

5. Что уже реализовано

ФункцияРеализованоКомментарий
Загрузка значений при открытииЧерез ЗаполнитьВидРасчетаСписок()
Отображение в интерфейсеЧерез элемент СписокЗначений
Контроль измененийСравнение через СпискиЗначенийИдентичны()
Сохранение в регистрПолная перезапись данных
Поддержка множественного выбораРаботает с массивом значений
Обновление буфера после сохраненияГарантирует актуальность состояния

...

6. Преимущества подхода

  • Простота и надёжность: используется стандартный механизм СписокЗначений.
  • Гибкость: легко масштабируется на другие справочники.
  • Эффективность: нет лишних запросов при отсутствии изменений.
  • Аудируемость: все изменения хранятся в регистре сведений.

...

7. Возможные улучшения

НаправлениеРекомендация
Частичное обновление регистраСейчас удаляются все записи. Можно реализовать дифф: удалить только исключённые, добавить новые.
Журнал измененийДобавить запись в журнал регистрации при изменении состава.
Подтверждение при удаленииЕсли удаляется важный вид расчёта — спросить подтверждение.
Валидация набораПроверять, что выбран хотя бы один обязательный вид расчёта.
Расшифровка в отчётахСоздать СКД-отчёт по видам расчётов по договорам.

...

8. Пример использования

Сценарий:
Пользователь открыл договор №100 на реализацию квартиры.
В регистре есть записи:

...