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

28.12.10

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

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

Файлы

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

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

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

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

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

Умеет:

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

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

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

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

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

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

 

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

См. также

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

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

14.05.2025    3650    DeerCven    9    

48

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

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

21.05.2024    41670    dimanich70    83    

157

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

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

1 стартмани

18.03.2024    6126    6    John_d    11    

58

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

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

12.02.2024    50314    atdonya    30    

66

Универсальные функции Программист 1С v8.3 Бесплатно (free)

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

30.11.2023    7892    ke.92@mail.ru    17    

66

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

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

28.08.2023    21216    YA_418728146    8    

174
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sintson 414 28.12.10 13:56 Сейчас в теме
2. alexk-is 6547 28.12.10 14:46 Сейчас в теме
Почему кнопки такие ...хм... длинные?
5. e.kogan 1903 29.12.10 12:41 Сейчас в теме
(2) В форме тестирования кнопки длинные, чтоб не промахнуться :) Ну - и это ж всё-таки просто для тестирования, могу я поизвращаться как захотелось? ;)
3. cool.vlad4 2 28.12.10 14:51 Сейчас в теме
А не знаю пока зачем мне это, но плюс, автор все равно молодец.
4. Yashazz 4872 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 1903 04.07.12 10:05 Сейчас в теме
(8) Ограничений не ставила.
(6) А чтоб я помнила :) Вроде должно быть понятно.
10. Murom 28.03.13 11:16 Сейчас в теме
Скачал чтоб посмотреть как ставить метки на дереве с 3 значениями.
Посмотрел как тут реализовано и ... написал по своему.
Чего мне не хватает так это сохранение развернутых узлов дерева и пометок после переформировании дерева...
Думал вдруг здесь это найдется. НО , если б не искал готовое, то уже сам бы написал :)
За обработку спасибо и плюсик.
11. e.kogan 1903 28.03.13 11:45 Сейчас в теме
(10) Murom, а в чём проблема с сохранением, если есть какой-нибудь ключ у строки дерева?..
12. Murom 28.03.13 12:07 Сейчас в теме
(11)
Эх, уважаемая (судя по аватару смею решить что вы девушка), ключ добавить не проблема.
Но ключ будет рассчитываться как-то при построении дерева, а это значит если я буду перезаполнять дерево, то ключи у нового дерева могут не совпасть.
Поэтому т.к. у меня в дереве 3 колонки и они достоверно идентифицируют нужный мне узел, то привязаться решил к этим 3 значениям. По ним буду сохранять статус развернут/неразвернут и пометку.
13. e.kogan 1903 28.03.13 12:14 Сейчас в теме
(12) Murom, так я именно о ключе, который однозначно идентифицирует строку по смыслу, и говорю - простом ли, составном ли.
14. Murom 28.03.13 12:44 Сейчас в теме
(13)
В таком случае вы правы. Не сразу понял я ваш пост про ключ.
Для отправки сообщения требуется регистрация/авторизация