Дополнительные реквизиты табличной части документов без изменения хранения данных
Разработка - Работа с интерфейсом
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Ответ на поставленные вопросы дает это расширение. В нем используется стандартный механизм БСП - "Дополнительные реквизиты", только разработчики задумывали его для хранения дополнительных реквизитов объекта в целом, а я приспособил его для хранения данных колонок табличных частей документов. В этом мне помог реквизит табличной части "ТекстоваяСтрока" (Строка неограниченной длины). В ней я решил сохранять интерпретации значений колонок, т.е. текстовые представления значений данных. Для агрегатных типов там будут храниться ГУИД, а для базовых их текстовые представления.

В реквизите "Значение" будет храниться "Идентификатор строки" табличной части, например, "Товары". Если табличная часть не имеет такого реквизита, то используем "НомерСтроки". Тип значения = Строка(36).
В реквизите "Свойство" будет храниться собственно свойство, стандартное типовое свойство (ПВХ ДополнительныеРеквизитыИСведения). Желательно доп.реквизит сделать невидимым, задав, например, такое условие: "Дата документа" = "Пустая дата".

Для того, чтобы настроить работу, необходимо заполнить запись в регистре сведений, который добавлен в расширение.


После правильной настройки вы в форме документа увидите дополнительную(ые) колонку(и) в которых можно заполнять данные.

или так

Разработка имеет ряд недостатков, например, при удалении агрегатных данных, которые сохраняются в виде ГУИД в доп.реквизитах мы потерям эти значения (нет поддержки ссылочной целостности)...
Среди достоинств то, что не требуется заимствования каких бы то ни было объектов, кроме общих модулей БСП - "УправлениеСвойствами" и "УправлениеСвойствамиКлиент". Все переопределенные методы имеют аннотацию "После", т.е. не затрагивают типовой механизм. Только одна функция "ОбрабатыватьОповещения" в модуле "УправлениеСвойствамиКлиент" имеет аннотацию "Вместо" т.к. функции не могут иметь аннотацию "После".
Может быть, кому-то будет полезен мой труд.
Разработка не является законченным решением, это просто эскиз моей идеи.
Протестировано на платформе 1С:Предприятие 8.3 (8.3.21.1709), конфигурация 1С:ERP Управление предприятием 2 (2.5.10.93).
Вступайте в нашу телеграмм-группу Инфостарт