Отметка строк в дереве и прочие примеры работы с деревом

28.12.10

Разработка - Универсальные функции

Обработка, содержащая форму, которую можно применять универсально, и формочку для тестирования. Примеры работы с деревом для применения где угодно.

Файлы

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

Наименование Скачано Купить файл
ОтметкаСтрокДерева.epf
.epf 17,31Kb
512 1 850 руб. Купить

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

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

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

Умеет:

  • Отмечать строки в переданном дереве флажками (флажок выводится в первой колонке, имя колонки флажка передаётся, если колонки нет - добавляется);
  • Возвращать результат отметки в виде:
    • Дерева значений
    • Таблицы значений
    • Списка значений 
  • Только "концевые" строки или все; только отмеченные или все - в любых комбинациях.

Для вызова: Отмеченное=ПолучитьОбщуюФорму("ФормаОтметкиДерева").ОтметитьСтрокиДерева(ТвоеДерево,"КолонкаПометки"[,Новый Структура("флТолькоОтмеченные,флТолькоКонцевые,ЧтоВозвращать,флПоказВозвращаемогоЗначения,КолонкаПредставления,ЗаголовокФормы,Таймаут",Истина,Истина,"Дерево,Список,Таблица",Истина,ТвоеДерево.Колонки[1].Имя,"Поставьте флажки, где успеете:",10)])[.Дерево/Список/Таблица]; 
Результат вызова - структура; можно обращаться сразу к результатному дереву/списку/таблице, по ключу структуры (Дерево,Таблица,Список). Если от выбора отказались или не успели - возвращает Неопределено.

Форма для тестирования открывается уже максимально настроенной.

Форму отметки можно сразу перетаскивать в общие, дополнительной настройки не требует.

Зачем: кроме того, что обработка содержит примеры разнообразных трансформаций дерева путём рекурсивных обходов (и только их!), в ней же - обработка установки "серого" флага на родителей, отметки дочерних строк, пример полной инкапсуляции обработки (вызов одной строкой). И простейший таймер :)

Ну и не всегда можно обойтись отметкой варианта/вариантов из списка, бывают и сложные ситуации :)

 

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

См. также

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

14.05.2025    5400    DeerCven    15    

57

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    46290    dimanich70    83    

164

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    6839    6    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    57347    atdonya    31    

68

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    8604    ke.92@mail.ru    17    

68

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    22757    YA_418728146    8    

174
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sintson 414 28.12.10 13:56 Сейчас в теме
2. alexk-is 6551 28.12.10 14:46 Сейчас в теме
Почему кнопки такие ...хм... длинные?
5. e.kogan 1904 29.12.10 12:41 Сейчас в теме
(2) В форме тестирования кнопки длинные, чтоб не промахнуться :) Ну - и это ж всё-таки просто для тестирования, могу я поизвращаться как захотелось? ;)
3. cool.vlad4 2 28.12.10 14:51 Сейчас в теме
А не знаю пока зачем мне это, но плюс, автор все равно молодец.
4. Yashazz 4886 29.12.10 12:40 Сейчас в теме
(3) А это нам с Эстер давно надо было сделать, в конфе нашей много таких мест, где пригодится; вот, сделано. Эстер молодец!
6. v.l. 437 30.12.10 12:15 Сейчас в теме
(0) Вещь хорошая, но чтобі зазря не качать, есть вопросы:
Комментарии и описание в модуле?
Всё будет понятно и для пассажиров бронепоезда?
7. Збянтэжаны Саўка 245 04.07.11 12:57 Сейчас в теме
(0) Прекрасная работа, хоть и маленькая и компактная, але ж вельмi змястоўная!
Дзякуй велькi.
8. tindir 04.07.12 07:10 Сейчас в теме
А данная Обработка может работать с любыми деревьями? то есть есть ли ограничения по структуре дерева, без внесения изменений?
9. e.kogan 1904 04.07.12 10:05 Сейчас в теме
(8) Ограничений не ставила.
(6) А чтоб я помнила :) Вроде должно быть понятно.
10. Murom 28.03.13 11:16 Сейчас в теме
Скачал чтоб посмотреть как ставить метки на дереве с 3 значениями.
Посмотрел как тут реализовано и ... написал по своему.
Чего мне не хватает так это сохранение развернутых узлов дерева и пометок после переформировании дерева...
Думал вдруг здесь это найдется. НО , если б не искал готовое, то уже сам бы написал :)
За обработку спасибо и плюсик.
11. e.kogan 1904 28.03.13 11:45 Сейчас в теме
(10) Murom, а в чём проблема с сохранением, если есть какой-нибудь ключ у строки дерева?..
12. Murom 28.03.13 12:07 Сейчас в теме
(11)
Эх, уважаемая (судя по аватару смею решить что вы девушка), ключ добавить не проблема.
Но ключ будет рассчитываться как-то при построении дерева, а это значит если я буду перезаполнять дерево, то ключи у нового дерева могут не совпасть.
Поэтому т.к. у меня в дереве 3 колонки и они достоверно идентифицируют нужный мне узел, то привязаться решил к этим 3 значениям. По ним буду сохранять статус развернут/неразвернут и пометку.
13. e.kogan 1904 28.03.13 12:14 Сейчас в теме
(12) Murom, так я именно о ключе, который однозначно идентифицирует строку по смыслу, и говорю - простом ли, составном ли.
14. Murom 28.03.13 12:44 Сейчас в теме
(13)
В таком случае вы правы. Не сразу понял я ваш пост про ключ.
Для отправки сообщения требуется регистрация/авторизация