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

03.05.23

Разработка - Работа с интерфейсом

Как, например, добавить комментарий в каждой строке табличной части документа, если это не предусмотрено разработчиками? Как, например, добавить статью бюджета движения денежных средств (ДДС) в каждую строку табличной части "Товары" документа "Заказ поставщику"? Как это сделать и не добавлять новые реквизиты табличных частей в расширение или в саму конфигурацию? Как это сделать и не изменять форму документа? Ответ можно получить в данной статье.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Дополнительные реквизиты табличной части документов без изменения хранения данных.:
.cfe 26,11Kb ver:1.0
30 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Ответ на поставленные вопросы дает это расширение. В нем используется стандартный механизм БСП - "Дополнительные реквизиты", только разработчики задумывали его для хранения дополнительных реквизитов объекта в целом, а я приспособил его для хранения данных колонок табличных частей документов. В этом мне помог реквизит табличной части "ТекстоваяСтрока" (Строка неограниченной длины). В ней я решил сохранять интерпретации значений колонок, т.е. текстовые представления значений данных. Для агрегатных типов там будут храниться ГУИД, а для базовых их текстовые представления

 

 

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

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

 

 

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

 

 

 

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

 

 

или так

 

 

Разработка имеет ряд недостатков, например,  при удалении агрегатных данных, которые сохраняются в виде ГУИД в доп.реквизитах мы потерям эти значения (нет поддержки ссылочной целостности)...

Среди достоинств то, что не требуется заимствования каких бы то ни было объектов, кроме общих модулей БСП - "УправлениеСвойствами" и "УправлениеСвойствамиКлиент". Все переопределенные методы имеют аннотацию "После", т.е. не затрагивают типовой механизм. Только одна функция "ОбрабатыватьОповещения" в модуле "УправлениеСвойствамиКлиент" имеет аннотацию "Вместо" т.к. функции не могут иметь аннотацию "После".

Может быть, кому-то будет полезен мой труд. 

Разработка не является законченным решением, это просто эскиз моей идеи.

Протестировано на платформе 1С:Предприятие 8.3 (8.3.21.1709), конфигурация 1С:ERP Управление предприятием 2 (2.5.10.93).

Вступайте в нашу телеграмм-группу Инфостарт

допреквизиты ТЧ дополнительные реквизиты табличных частей документов без снятия с поддержки без расширения хранения данных

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    81667    55    42    

67

Работа с интерфейсом Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

Расширение «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

6100 руб.

14.01.2016    60482    22    25    

47

Работа с интерфейсом Рабочее место 1С:Предприятие 8 1C:Бухгалтерия 1С:Комплексная автоматизация 2.х Платные (руб)

Универсальный редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью рисовать на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). В комплект поставки включены Расширения для легкого подключения данного функционала в БК, УТ, КА и ERP. Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу. Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6100 руб.

16.01.2015    68363    46    60    

85

Консолидация данных Работа с интерфейсом Программист Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 1C:ERP Узбекистан Беларусь Кыргызстан Россия Казахстан Платные (руб)

Знакомая ситуация? Пользователи, особенно менеджеры, уверены: отборов много не бывает. Идут пожелания добавить в форму списка еще один быстрый фильтр, еще два, еще пять... В итоге интерфейс превращается в нагромождение полей отбора, а потребность в «самом главном» отборе, который «вот прямо сейчас нужен», все равно не закрыта. Универсальное расширение, которое решает эту проблему элегантно и технологично. С его помощью в любую форму списка можно легко добавить панель настраиваемых кнопок-закладок, каждая из которых применяет сложный фильтр-запрос, а так же показывает актуальное количество элементов в реальном времени.

6088 руб.

17.10.2025    2040    3    0    

2

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36600 руб.

28.08.2025    7814    2    2    

6

Работа с интерфейсом Программист Стажер 1С:Предприятие 8 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    49406    mrXoxot    44    

139

Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    26517    smielka    39    

117
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 2148 03.05.23 12:11 Сейчас в теме
В БГУ 2.0 разработчики добавили прям дополнительные таб. части
0x00; Igor030370; +2 Ответить
2. user1673353 22.05.23 14:54 Сейчас в теме
Добрый день! для Управление торговлей, редакция 11 (11.4.14.181) подойдет?
3. Igor030370 215 23.05.23 18:58 Сейчас в теме
6. dimaster 42 23.03.26 13:01 Сейчас в теме
(3) пара моментов

Баг в расширении — процедура СохранитьДополнительныеРеквизиты не обрабатывает примитивные типы (Число, Булево, Дата). Автор написал код только для двух случаев: Строка → записать напрямую, Ссылочный тип → вызвать .УникальныйИдентификатор(). РеквизитТип = "Число" проходит проверку ТипЗнч(...) = Тип("Число") и падает на .УникальныйИдентификатор(), которого у числа нет.
Вот проблемный фрагмент (строка ~263):
bslИначеЕсли ТипЗнч(л_СтрокаТЧ[ИмяКолонки]) = Тип(РеквизитТип) Тогда
Если ЗначениеЗаполнено(л_СтрокаТЧ[ИмяКолонки]) Тогда
л_СтрокаДопРекв.ТекстоваяСтрока = л_СтрокаТЧ[ИмяКолонки].УникальныйИдентификатор(); // ← БУМ для Число
КонецЕсли;
Исправление — нужно добавить проверку на примитивные типы в двух местах процедуры СохранитьДополнительныеРеквизиты. Заменяешь блок ИначеЕсли на:
bslИначеЕсли ТипЗнч(л_СтрокаТЧ[ИмяКолонки]) = Тип("Число")
ИЛИ ТипЗнч(л_СтрокаТЧ[ИмяКолонки]) = Тип("Булево")
ИЛИ ТипЗнч(л_СтрокаТЧ[ИмяКолонки]) = Тип("Дата") Тогда

л_СтрокаДопРекв.ТекстоваяСтрока = Строка(л_СтрокаТЧ[ИмяКолонки]);

ИначеЕсли ТипЗнч(л_СтрокаТЧ[ИмяКолонки]) = Тип(РеквизитТип) Тогда

Если ЗначениеЗаполнено(л_СтрокаТЧ[ИмяКолонки]) Тогда
л_СтрокаДопРекв.ТекстоваяСтрока = л_СтрокаТЧ[ИмяКолонки].УникальныйИдентификатор();
КонецЕсли;
Это надо сделать в двух местах внутри СохранитьДополнительныеРеквизиты — и в блоке обновления существующих строк (цикл Для Каждого л_СтрокаДопРекв), и в блоке добавления новых строк (Если НЕ л_БылоОбновлено). Оба содержат тот же паттерн с .УникальныйИдентификатор().
Прикрепленные файлы:
ДРТЧ_Сервер_Исправлено.bsl
МенеджерИмя.pdf
4. ish1801 15.07.23 20:39 Сейчас в теме
Добрый вечер! Дополнительные колонки в табличной части создались, все великолепно!
Как теперь эту информацию вытащить в отчет, например Универсальный отчет по документу Заказ поставщику и с именем таблица Товары?
5. NickFXS 19.07.24 19:34 Сейчас в теме
Добрый вечер. В Управлении Торговлей 11.4.14 в регистре сведений не появляется пункт ДРТЧ Настройки. Реквизит появился просто во вкладке "Дополнительно". Помогите, пожалуйста
Прикрепленные файлы:
Для отправки сообщения требуется регистрация/авторизация