Чтение и запись.
Тип: УзелДереваЗначений (TreeNodeAdv).
Возвращает или задает выбранный узел.
ДеревоЗначений1.ВыбранныйУзел = УзелУровня2; Сообщить("ДеревоЗначений1.ВыбранныйУзел.Уровень = " + ДеревоЗначений1.ВыбранныйУзел.Уровень);
Копировать Выделить всёПерем Ф, ДеревоЗначений1, ПолеВводаУзла1, ПолеВводаУзла2, ПолеВводаУзла3, НачальнаяДата, КонечнаяДата; Функция СообщитьВыделенное() Экспорт ВыбранныеУзлы1 = ДеревоЗначений1.ВыбранныеУзлы; Колич = ВыбранныеУзлы1.Количество; Если Колич > 0 Тогда Стр = ""; Для А = 0 По Колич - 1 Цикл ТекУзел = ВыбранныеУзлы1.Элемент(А); ЭлементыУзла = ДеревоЗначений1.ЭлементыУзла; Колич2 = ЭлементыУзла.Количество; Для А2 = 0 По Колич2 - 1 Цикл Стр = Стр + " - " + ТекУзел.ПолучитьЗначение(ДеревоЗначений1.ЭлементыУзла(А2)); КонецЦикла; Стр = Стр + Символы.ПС; КонецЦикла; ОкноСообщений1 = Ф.ОкноСообщений(); ОкноСообщений1.Заголовок = "Выделенное"; ОкноСообщений1.Текст = Стр; ОкноСообщений1.Показать(); КонецЕсли; ДеревоЗначений1.Фокус(); КонецФункции Процедура ЗаполнитьДеревоЗначений() Для А = Год(НачальнаяДата) По Год(КонечнаяДата) Цикл УзелГод = Ф.УзелДереваЗначений("" + А); ДеревоЗначений1.Узлы.Добавить(УзелГод); УзелГод.УстановитьЗначение(ПолеВводаУзла1, А); Для А1 = 1 По 12 Цикл Дата3 = Дата(А, А1, День(НачальнаяДата)); Если (Дата3 >= НачальнаяДата) И (Дата3 <= КонечнаяДата) Тогда УзелМесяц = Ф.УзелДереваЗначений("" + А1); УзелГод.Узлы.Добавить(УзелМесяц); УзелМесяц.УстановитьЗначение(ПолеВводаУзла1, Формат(Дата3, "ДФ=ММММ")); Для А2 = 1 По 31 Цикл Попытка Дата4 = Дата(А, А1, А2); Если (Дата4 >= НачальнаяДата) И (Дата4 <= КонечнаяДата) Тогда УзелДень = Ф.УзелДереваЗначений("" + А2); УзелМесяц.Узлы.Добавить(УзелДень); УзелДень.УстановитьЗначение(ПолеВводаУзла1, День(Дата4)); УзелДень.УстановитьЗначение(ПолеВводаУзла2, Формат(Дата4, "ДФ='dd.MM.yyyy'")); УзелДень.УстановитьЗначение(ПолеВводаУзла3, Формат(Дата4, "ДФ=ддд")); КонецЕсли; Исключение КонецПопытки; КонецЦикла; УзелГод.Развернут = Истина; КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Ширина = 800; Форма1.Высота = 600; Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); НачальнаяДата = Дата(2022,02,01); КонечнаяДата = Дата(2022,06,09); ДеревоЗначений1 = Ф.ДеревоЗначений(); ДеревоЗначений1.Родитель = Форма1; ДеревоЗначений1.Стыковка = Ф.СтильСтыковки.Лево; ДеревоЗначений1.Ширина = Форма1.Ширина - 150; КолонкаДереваЗначений1 = Ф.КолонкаДереваЗначений("Узлы дат", 220); КолонкаДереваЗначений2 = Ф.КолонкаДереваЗначений("Дата", 200); КолонкаДереваЗначений3 = Ф.КолонкаДереваЗначений("День " + Ф.Окружение().НоваяСтрока + "недели", 200); КолонкаДереваЗначений1.ВыравниваниеТекста = Ф.ГоризонтальноеВыравнивание.Центр; КолонкаДереваЗначений2.ВыравниваниеТекста = Ф.ГоризонтальноеВыравнивание.Центр; КолонкаДереваЗначений3.ВыравниваниеТекста = Ф.ГоризонтальноеВыравнивание.Центр; ДеревоЗначений1.Колонки.Добавить(КолонкаДереваЗначений1); ДеревоЗначений1.Колонки.Добавить(КолонкаДереваЗначений2); ДеревоЗначений1.Колонки.Добавить(КолонкаДереваЗначений3); ДеревоЗначений1.ИспользоватьКолонки = Истина; ДеревоЗначений1.СтильСетки = Ф.СтильСетки.ГоризонтальнаяВертикальная; ФлажокУзла1 = Ф.ФлажокУзла(); ФлажокУзла1.Колонка = КолонкаДереваЗначений1; ФлажокУзла1.Редактируемый = Истина; ФлажокУзла1.ТриСостояния = Истина; ЗначокУзла1 = Ф.ЗначокУзла(); ЗначокУзла1.Колонка = КолонкаДереваЗначений1; ЗначокУзла1.РежимМасштабирования = Ф.РежимМасштабированияКартинки.Масштабировать; СтрИзображение = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAWUlEQVR42u3XMQoAIAxDUbN6/7O6Vg8gFsHWQPPBxaE8dCra58AMsAdQdwYNwPxZIUGAHeB0d5s7lxoQFT8gM07A9y8QQIC6gLFOL/0CAghAA8hMAFAvpylNvi01IRb0KhIAAAAASUVORK5CYII="; ЗначокУзла1.Изображение = Ф.Картинка(СтрИзображение); ПолеВводаУзла1 = Ф.ПолеВводаУзла(); ПолеВводаУзла1.Колонка = КолонкаДереваЗначений1; ПолеВводаУзла2 = Ф.ПолеВводаУзла(); ПолеВводаУзла2.Колонка = КолонкаДереваЗначений2; ПолеВводаУзла2.ВыравниваниеТекста = Ф.ГоризонтальноеВыравнивание.Центр; ПолеВводаУзла3 = Ф.ПолеВводаУзла(); ПолеВводаУзла3.Колонка = КолонкаДереваЗначений3; ПолеВводаУзла3.ВыравниваниеТекста = Ф.ГоризонтальноеВыравнивание.Центр; ДеревоЗначений1.ЭлементыУзла.Добавить(ФлажокУзла1); ДеревоЗначений1.ЭлементыУзла.Добавить(ЗначокУзла1); ДеревоЗначений1.ЭлементыУзла.Добавить(ПолеВводаУзла1); ДеревоЗначений1.ЭлементыУзла.Добавить(ПолеВводаУзла2); ДеревоЗначений1.ЭлементыУзла.Добавить(ПолеВводаУзла3); ДеревоЗначений1.РежимВыбора = Ф.РежимВыбораДереваЗначений.МножественныйДляРодителя; Кнопка1 = Форма1.ЭлементыУправления.ДобавитьКнопку(); Кнопка1.Текст = "Сообщить выделенное"; Кнопка1.Лево = ДеревоЗначений1.Лево + ДеревоЗначений1.Ширина + 10; Кнопка1.Верх = ДеревоЗначений1.Верх + 5; Кнопка1.Ширина = 122; Кнопка1.Высота = 53; Кнопка1.Нажатие = Ф.Действие(ЭтотОбъект, "СообщитьВыделенное"); ЗаполнитьДеревоЗначений(); УзелУровня1 = ДеревоЗначений1.Узлы.Элемент(0); УзелУровня2 = УзелУровня1.Узлы(0); ДеревоЗначений1.ВыбранныйУзел = УзелУровня2; Сообщить("ДеревоЗначений1.ВыбранныйУзел.Уровень = " + ДеревоЗначений1.ВыбранныйУзел.Уровень); Ф.ЗапуститьОбработкуСобытий();
Копировать Выделить всёПерем Ф, ДеревоЗначений1, ПолеВводаУзла1, ПолеВводаУзла2, ПолеВводаУзла3, НачальнаяДата, КонечнаяДата; Функция СообщитьВыделенное() Экспорт ВыбранныеУзлы1 = ДеревоЗначений1.ВыбранныеУзлы; Колич = ВыбранныеУзлы1.Количество; Если Колич > 0 Тогда Стр = ""; Для А = 0 По Колич - 1 Цикл ТекУзел = ВыбранныеУзлы1.Элемент(А); ЭлементыУзла = ДеревоЗначений1.ЭлементыУзла; Колич2 = ЭлементыУзла.Количество; Для А2 = 0 По Колич2 - 1 Цикл Стр = Стр + " - " + ТекУзел.ПолучитьЗначение(ДеревоЗначений1.ЭлементыУзла(А2)); КонецЦикла; Стр = Стр + Символы.ПС; КонецЦикла; ОкноСообщений1 = Ф.ОкноСообщений(); ОкноСообщений1.Заголовок = "Выделенное"; ОкноСообщений1.Текст = Стр; ОкноСообщений1.Показать(); КонецЕсли; ДеревоЗначений1.Фокус(); КонецФункции Процедура ЗаполнитьДеревоЗначений() Для А = Год(НачальнаяДата) По Год(КонечнаяДата) Цикл УзелГод = Ф.УзелДереваЗначений("" + А); ДеревоЗначений1.Узлы.Добавить(УзелГод); УзелГод.УстановитьЗначение(ПолеВводаУзла1, А); Для А1 = 1 По 12 Цикл Дата3 = Дата(А, А1, День(НачальнаяДата)); Если (Дата3 >= НачальнаяДата) И (Дата3 <= КонечнаяДата) Тогда УзелМесяц = Ф.УзелДереваЗначений("" + А1); УзелГод.Узлы.Добавить(УзелМесяц); УзелМесяц.УстановитьЗначение(ПолеВводаУзла1, Формат(Дата3, "ДФ=ММММ")); Для А2 = 1 По 31 Цикл Попытка Дата4 = Дата(А, А1, А2); Если (Дата4 >= НачальнаяДата) И (Дата4 <= КонечнаяДата) Тогда УзелДень = Ф.УзелДереваЗначений("" + А2); УзелМесяц.Узлы.Добавить(УзелДень); УзелДень.УстановитьЗначение(ПолеВводаУзла1, День(Дата4)); УзелДень.УстановитьЗначение(ПолеВводаУзла2, Формат(Дата4, "ДФ='dd.MM.yyyy'")); УзелДень.УстановитьЗначение(ПолеВводаУзла3, Формат(Дата4, "ДФ=ддд")); КонецЕсли; Исключение КонецПопытки; КонецЦикла; УзелГод.Развернут = Истина; КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Ширина = 800; Форма1.Высота = 600; Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); НачальнаяДата = Дата(2022,02,01); КонечнаяДата = Дата(2022,06,09); ДеревоЗначений1 = Ф.ДеревоЗначений(); ДеревоЗначений1.Родитель = Форма1; ДеревоЗначений1.Стыковка = Ф.СтильСтыковки.Лево; ДеревоЗначений1.Ширина = Форма1.Ширина - 150; КолонкаДереваЗначений1 = Ф.КолонкаДереваЗначений("Узлы дат", 220); КолонкаДереваЗначений2 = Ф.КолонкаДереваЗначений("Дата", 200); КолонкаДереваЗначений3 = Ф.КолонкаДереваЗначений("День " + Ф.Окружение().НоваяСтрока + "недели", 200); КолонкаДереваЗначений1.ВыравниваниеТекста = Ф.ГоризонтальноеВыравнивание.Центр; КолонкаДереваЗначений2.ВыравниваниеТекста = Ф.ГоризонтальноеВыравнивание.Центр; КолонкаДереваЗначений3.ВыравниваниеТекста = Ф.ГоризонтальноеВыравнивание.Центр; ДеревоЗначений1.Колонки.Добавить(КолонкаДереваЗначений1); ДеревоЗначений1.Колонки.Добавить(КолонкаДереваЗначений2); ДеревоЗначений1.Колонки.Добавить(КолонкаДереваЗначений3); ДеревоЗначений1.ИспользоватьКолонки = Истина; ДеревоЗначений1.СтильСетки = Ф.СтильСетки.ГоризонтальнаяВертикальная; ФлажокУзла1 = Ф.ФлажокУзла(); ФлажокУзла1.Колонка = КолонкаДереваЗначений1; ФлажокУзла1.Редактируемый = Истина; ФлажокУзла1.ТриСостояния = Истина; ЗначокУзла1 = Ф.ЗначокУзла(); ЗначокУзла1.Колонка = КолонкаДереваЗначений1; ЗначокУзла1.РежимМасштабирования = Ф.РежимМасштабированияКартинки.Масштабировать; СтрИзображение = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAWUlEQVR42u3XMQoAIAxDUbN6/7O6Vg8gFsHWQPPBxaE8dCra58AMsAdQdwYNwPxZIUGAHeB0d5s7lxoQFT8gM07A9y8QQIC6gLFOL/0CAghAA8hMAFAvpylNvi01IRb0KhIAAAAASUVORK5CYII="; ЗначокУзла1.Изображение = Ф.Картинка(СтрИзображение); ПолеВводаУзла1 = Ф.ПолеВводаУзла(); ПолеВводаУзла1.Колонка = КолонкаДереваЗначений1; ПолеВводаУзла2 = Ф.ПолеВводаУзла(); ПолеВводаУзла2.Колонка = КолонкаДереваЗначений2; ПолеВводаУзла2.ВыравниваниеТекста = Ф.ГоризонтальноеВыравнивание.Центр; ПолеВводаУзла3 = Ф.ПолеВводаУзла(); ПолеВводаУзла3.Колонка = КолонкаДереваЗначений3; ПолеВводаУзла3.ВыравниваниеТекста = Ф.ГоризонтальноеВыравнивание.Центр; ДеревоЗначений1.ЭлементыУзла.Добавить(ФлажокУзла1); ДеревоЗначений1.ЭлементыУзла.Добавить(ЗначокУзла1); ДеревоЗначений1.ЭлементыУзла.Добавить(ПолеВводаУзла1); ДеревоЗначений1.ЭлементыУзла.Добавить(ПолеВводаУзла2); ДеревоЗначений1.ЭлементыУзла.Добавить(ПолеВводаУзла3); ДеревоЗначений1.РежимВыбора = Ф.РежимВыбораДереваЗначений.МножественныйДляРодителя; Кнопка1 = Форма1.ЭлементыУправления.ДобавитьКнопку(); Кнопка1.Текст = "Сообщить выделенное"; Кнопка1.Лево = ДеревоЗначений1.Лево + ДеревоЗначений1.Ширина + 10; Кнопка1.Верх = ДеревоЗначений1.Верх + 5; Кнопка1.Ширина = 122; Кнопка1.Высота = 53; Кнопка1.Нажатие = Ф.Действие(ЭтотОбъект, "СообщитьВыделенное"); ЗаполнитьДеревоЗначений(); УзелУровня1 = ДеревоЗначений1.Узлы.Элемент(0); УзелУровня2 = УзелУровня1.Узлы(0); ДеревоЗначений1.ВыбранныйУзел = УзелУровня2; Сообщить(?( ДеревоЗначений1.ВыбранныйУзел.Уровень = 2 , "", "!!! ") + "ДеревоЗначений.ВыбранныйУзел (TreeViewAdv.SelectedNode) Свойство" + " " + ТекущаяДата());
ДеревоЗначений (TreeViewAdv) Класс | Библиотека OneScriptForms