Отображения дерева табличной части

Табличная часть в виде дерева значений

Возникло желание отображать и работать с ТЧ документа в режиме УФ как с деревом значений.

Собственно вопрос: есть ли в какой конфигурации такое, чтобы подсмотреть и вдохновение почерпнуть?

(1) Там 1С на пустом месте перемудрило или реально «так сложно, что не стоит»?

не особенно сложно, выгружать в табличное поле при открытии и сохранять перед закрытием. http://infostart.ru/public/73969/

при открытии — загрузка из табличной части в дерево (табличное поле), а обратно — точно, в ПередЗаписью

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

Если у кого такой же вопрос возникнет, есть интересная инструкташка с рабочим кодом:
http://help1c.com/faq/view/1149.html

Продолжу тему, чтобы не плодить ветки.

Пусть:
0) имеем реквизит формы А (тип «ДанныеФормыДерево»), имеем его отображение на форме в виде таблицы (тип «ТаблицаФормы»);
1) дерево имеет три уровня, одну колонку измерения и одну — как ресурс;
2) на каждом уровне измерение (его значения) имеет уникальный тип (например, магазин/витрина/товар).

Нужно:
1) при добавлении строки в дерево запретить добавлять уровни более 3х;
2) при добавлении 4го уровня (когда пользователь нажимает Ins стоя на элементе 3го уровня — назовем его Х) — операцию прервать и сделать ввод элемента 3го уровня, подчиненному родителю Ха.

Проблема: в событии ПередНачаломДобавления я могу отследить и прервать добавление 4го уровня, но туплю пока, как из этого же события инициировать ввод новой строки, родителем которой будет родитель элемента Х.

Источник

Как в отобразить табличную часть в виде дерева? #407035

Есть обработка, у обработки ТЧ, в составе колонок которой есть «Номенклатура», «Склад» и «Количество». Хотелось бы отображать ТЧ в виде дерева: строка с номенклатурой, с общим количеством по складам и плюсиком; при нажатии на плюсик открываются подчиненные строки с детализацией количества по складам. Необходимо обеспечить возможность редактирования данных в дереве (добавлять/удалять интерактивно строки не надо, меняется только количество). Как это реализовать, чтобы работало достаточно живенько?

Читайте также:  Текстуру черно белого дерево

Единственное имеет смысл колонки Склад и Номенклатура спрятать в табличном поле, а добавить колонку Группировка, куда писать значение текущей группировки, и по ней сделать галочку Отображать иерархию

в УТ в форме документа УстановкаЦенНоменклатуры было организована выгрузка табчасти в таблицу значений на форме. можно посмотреть, думаю, чо-то похожее.

Туплю наверно. ТЧ отображается в виде табличного поля, у него разве есть иерархия? Где наод ставить галочку «Отображать иерархию»? Ну опыт работы с деревом уже есть, разберусь легко

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

А, ну тогда да, ты просто написал в «загружать обратно в ТЧ», я и подумал, что ТЧ толжна быть в данных. В общем все ясно, дерево + построитель запроса

Похожие вопросы 1С

В этой группе 1С

  • Почему РежимДиалогаВопрос.ДаНет нельзя размещать в модуле объекта?
  • Как в распределенке передать обновление на подчиненные узлы
  • Полнотекстовый поиск
  • Как в запросе сделать отбор по списку значений?
  • Ошибка при вызове метода контекста (НайтиПоРеквизиту)
  • Как указать в запросе КонецДня() ?
  • 1c v8.1 + PostgreSQL Ошибка подключения
  • Ошибка SMTP error code 503, Message rejected — too many recipients given.
  • Как принудительно закрыть программу 1С конкретного пользователя.
  • SDK Mifare ACR120 для 1C
  • v7: Бесплатный плагин открытия PDF для MSO 2007
  • В продолжение темы «Web-сервисы пример аэрофлот»
  • ошибка при проведении по партиям в УТ (10.3.6.8)
  • Запуск внешних программ из 1с.
  • Как получить текст из «ПоляHTML» ?
  • Загрузка справочника «Сотрудники организации» из ЗУП а Бух
  • v7: Корректировка проводок закрытых периодов
  • Развернуть форму отчета на весь экран
  • Не запускается NetBios в NetHasp License Manager
  • hasp не встает.
Читайте также:  Масло рожкового дерева от чего

Источник

Вывод табличной части справочника в виде дерева (или группировка строк табличной части)

Справочник Соглашения с клиентами вкладка Уточнение цен по товарам. У номенклатуры есть реквизит Марка (бренд), как сделать группировку в виде дерева по этому реквизиту в списке табличной части? 🙂
Через Еще — настроить список, группировки нет.
Если делать программно, подскажите как 🙂
Спасибо 🙂

(1)
Вариантов тут немного, наверное)
Либо добавить ДеревоЗначений и заполнять его из ТЗ, дальше работая с группировками дерева.
Но проще, наверное, будет добавить на форму ДинамическийСписок и в него уже запихивать вашу таблицу. Но тогда вам надо будет поработать с добавлением новых строк иначе и обновлять каждый раз при добавлении список.

Я бы всё-таки поработать с ДинамическимСписком. Там хоть можно будет самому пользователю управлять группировками, если вдруг появится необходимость

(8)
Кстати, ещё вариант есть сделать 2 таблицы, в одной выбирают элемент, а другая фильтруется по выбранному значению.

ГруппировкаСписка = Список.Группировка.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ГруппировкаСписка.Использование = Истина; ГруппировкаСписка.Поле = Новый ПолеКомпоновкиДанных("Марка");

В ранних 8.1. видел извращения когда ТЧ не показывали на форме, а вместо него показывали ДЗ с загрузкой в дерево данных из ТЧ.

можно еще табл. док так прикрутить.

Костыль еще тот, на маленьких данных красиво, а если в ТЧ 10К+ строк, то думаю юзеры будут вас бить.

От лукавого, покайтесь и займитесь другой задачей.

(4) задачи не мы выбираем, а лишь стараемся помочь пользователю, чтобы им было комфортней работать. В данном случае, количество строк в ТЧ не будет более 100 позиций. Поэтому группировка по Марке (бренду) видится логичным 🙂

Если не ошибаюсь в УТ в документе коммерческое предложение что то подобное.

Вообще из раннего делал так. в тч добавлял служебных полей «видимая строка (булево)», «тип строки (строка)» . Тип строки обозначал разделитель или строка. На форме соответственно были кнопки добавить строку, добавить разделитель. Далее на форме ТЧ фильтровалась через функцию Элементыформы.ТЧ.ОтборСтрок. Т.е. добавляется строка типа разделитель — реквизит Видимаястрока всегда истина. после нее добавлялись строки типа Строка реквизит ВидимаяСтрока изначально истина, но, потом при активизации ячейки к примеру на разделитель все последующие строки ставят Видимаястрока =ложь. А на сам элемент формы тч наложен фильтр, что Видимаястрока= истина.

Читайте также:  Грунтовка дерева перед покрытием

Источник

Модуль «Представление табличной части в виде дерева» v1.01

  • рис.1. Табличная часть
  • рис.2. Дерево табличной части.
  • рис.3. Дерево табличной части.

Модуль предназначен для отображения табличной части, виде дерева.
Возможности модуля:
1. Быстрое создание и отображения дерева табличной части.
2. Поддержка обработчиков событий табличного поля табличной части. (например в дереве будет работать пересчет строки без дополнительного кодирования).

Порядок установки и обновления

Вариант 1.Файл конфигурации нужно объединить с конфигурацией. Модуль «Представление табличной части в виде дерева» состоит из общего модуля «ОбработкаДереваТабличнойЧасти»

Вариант 2. Добавить в конфигурацию общий модуль «ОбработкаДереваТабличнойЧасти» из шаблона функций и процедур Модуля «Представление табличной части в виде дерева» (файл ОбработкаДереваТабличнойЧасти.st)

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

  1. Есть табличная часть Товары (рис.1) . Необходимо представать табличную часть виде дерева.
  2. Добавляем панель « ПанельТовары »
  3. Добавляем на панель «ПанельТовары» страницу «Товары»
  4. Добавляем панель «ПанельТовары» страницу «ДеревоТовары»
  5. Добавляем реквизит формы «ДеревоТовары» с типом «Дерево значений».
  6. Добавляем на страницу «ДеревоТовары» табличное поле «ДеревоТовары».
  7. Устанавливаем свойство «Данные» — «ДеревоТовары».
  8. Копируем все колонки из табличного поля «Товары» в табличное поле «ДеревоТовары»
  9. Устанавливаем свойство «Данные» в колонках в табличного поля «ДеревоТовары», такое же как в имени, т.к. оно измялось при копировании на Колонка2.
  10. Устанавливаем свойство «Отображать иерархию» в Истина, для колонки которая будет отображать иерархию.
  11. Добавляем код в модуль формы из «Шаблон функций и процедур Формы» из шаблона. (файл ОбработкаДереваТабличнойЧасти.st).
  12. В процедуре ИнициализироватьДеревоТовары(), модуля формы, задаем параметры дерева.
  13. К обработчику события «ПриСменеСтраницы», панели «ПанельТовары», подключаем созданный обработчик «ПанельТоварыПриСменеСтраницы» .
  14. Получаем результат представленный на рис.2, рис.3.

Работу данного модуля можно посмотреть в приложенной базе.

Версия 1.01
— Добавлена база с примером, где реализовано представление табличной части в виде дерева, с помощью данного модуля .

Источник

Оцените статью