- 1С 8.x : Как удалить строку или очистить дерево значений
- Похожие FAQ
- Еще в этой же категории
- Как удалить строку или очистить дерево значений
- Похожие FAQ
- Еще в этой же категории
- Работа с деревом значений в 1С
- Дерево значений
- Дерево значений на форме
- Заполнение дерева значений
- Обход дерева значений
- Как свернуть и развернуть дерево значений
- Как удалить строку и очистить дерево значений
- Запрос и дерево значений
- Дерево значений в таблицу значений и обратно
- Отбор в дереве значений
1С 8.x : Как удалить строку или очистить дерево значений
Помните, что при при удалении/очистке строки, все подчиненные строки удаляются.
Очистить дерево значений: Дерево.Строки.Очистить();
&НаСервере
Процедура ОчиститьНаСервере()
тДерево = РеквизитФормыВЗначение("Дерево");
тДерево.Строки.Очистить();
ЗначениеВРеквизитФормы(тДерево, "Дерево");
КонецПроцедуры
Точно также можно очистить от подчиненных элементов другую другую строку.
Удалить строку дерева значений не сложнее & нужно только знать ее индекс:
&НаКлиенте
Процедура Удалить(Команда)
УдалитьНаСервере();
КонецПроцедуры
&НаСервере
Процедура УдалитьНаСервере()
тДерево = РеквизитФормыВЗначение("Дерево");
тДерево.Строки.Удалить(0);
ЗначениеВРеквизитФормы(тДерево, "Дерево");
КонецПроцедуры
Похожие FAQ
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ COM-подключение к базе 7.7 из 8.2 1С 6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=» D:ВашаБаза1с77″ ; Пользователь= Excel файл как Внешний источник данных 16
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа » Внешние источники данных» и назовем его просто » Excel» . https://helpf.pro/uploads/img Google maps : вывод точек на карту и режим панорамы 8
В отличие от яндекс карт в GMaps можно использовать панорамы — за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Автоматизация обмена данных используя обработку «Универсальный обмен данными в формате XML" 10
Автоматизация обмена между базами используя обработку » Универсальный обмен данными в формате XML» В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием обработки » Универсальный обме Посмотреть все результаты поиска похожих
Еще в этой же категории
Примеры работы с Деревом значений в УП 11
Так как работа с ДеревомЗначений и ТаблицейЗначений в данном контексте практически не отличается, в примере будет использоваться ДеревоЗначений, все тоже самое за исключением иерархии применимо и к ТаблицеЗначений. Как известно, в платформе 1С 8.1 н Преобразование дерева значений в таблицу значений и обратно 6
Хочу поделиться с посетителями сайта своим подходом к преобразованию таблицы значений в дерево значений и обратно. Вообще, при разработке отраслевой задачи, была необходимость почти во всех документах, выводить информацию в виде дерева и хранить ее Как в дереве значений строку перекинуть в другой родитель? 5
Процедура ПереместитьСтрокуДерева(Дерево, ПеремещаемаяСтрока, НовыйРодитель, Уровень = 0) Если Уровень = 0 Тогда НоваяСтрока = НовыйРодитель.Строки.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, ПеремещаемаяСтрока); ПереместитьСтрокуДерева(Де Как Свернуть, Развернуть узлы Дерева значений на форме? 4
Как программно свернуть/развернуть дерево значений на управляемой форме? Желательно НаКлиенте. КоллекцияЭлементовДерева=ДеревоНоменклатуры.ПолучитьЭлементы(); //Свернуть дерево Для Каждого Строка Из КоллекцияЭлементовДерева Цикл ИдентификаторСт ДеревоЗначений в ТекстовыйДокумент 3
// Выводит данные ДереваЗначений в ТекстовыйДокумент, пригодный к рассмотрению в отладчике, окне сообщений и показу. // // Параметры: // рВетка — дерево значений, подлежащее выводу. Может иметь почти любую глубину иерархии, количество и тип ко Посмотреть все в категории Работа с Деревом Значений
Источник
Как удалить строку или очистить дерево значений
Помните, что при при удалении/очистке строки, все подчиненные строки удаляются.
Очистить дерево значений: Дерево.Строки.Очистить();
&НаСервере
Процедура ОчиститьНаСервере()
тДерево = РеквизитФормыВЗначение("Дерево");
тДерево.Строки.Очистить();
ЗначениеВРеквизитФормы(тДерево, "Дерево");
КонецПроцедуры
Точно также можно очистить от подчиненных элементов другую другую строку.
Удалить строку дерева значений не сложнее & нужно только знать ее индекс:
&НаКлиенте
Процедура Удалить(Команда)
УдалитьНаСервере();
КонецПроцедуры
&НаСервере
Процедура УдалитьНаСервере()
тДерево = РеквизитФормыВЗначение("Дерево");
тДерево.Строки.Удалить(0);
ЗначениеВРеквизитФормы(тДерево, "Дерево");
КонецПроцедуры
Похожие FAQ
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить — сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш 1С 7.x : Как получить курсы валют с сайта НБУ http://www.bank.gov.ua/ за любую дату ? 6
Функция ПолучитьТаблицуКурсовНБУ(ДатаКурса, Ежедневно = 1) // если в качестве второго параметра указать число отличное от 1 — получем валюты, которые котируются на ежемесячной основе Перем Reader, Url, Точки, HtmlTab, Строк, Р, НомСтроки, НомЯче COM-подключение к базе 7.7 из 8.2 1С 6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=» D:ВашаБаза1с77″ ; Пользователь= Посмотреть все результаты поиска похожих
Еще в этой же категории
Примеры работы с Деревом значений в УП 11
Так как работа с ДеревомЗначений и ТаблицейЗначений в данном контексте практически не отличается, в примере будет использоваться ДеревоЗначений, все тоже самое за исключением иерархии применимо и к ТаблицеЗначений. Как известно, в платформе 1С 8.1 н Дерево значений в таблицу значений или в табличную часть и обратно 9
Для одной организации надо было реализовать документы, где вместо табличной части надо использовать дерево и все это на управляемых формах. Но дерево нельзя сохранить в базе в текущем виде. Пришлось использовать табличную часть документа для хранени Преобразование дерева значений в таблицу значений и обратно 6
Хочу поделиться с посетителями сайта своим подходом к преобразованию таблицы значений в дерево значений и обратно. Вообще, при разработке отраслевой задачи, была необходимость почти во всех документах, выводить информацию в виде дерева и хранить ее Как в дереве значений строку перекинуть в другой родитель? 5
Процедура ПереместитьСтрокуДерева(Дерево, ПеремещаемаяСтрока, НовыйРодитель, Уровень = 0) Если Уровень = 0 Тогда НоваяСтрока = НовыйРодитель.Строки.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, ПеремещаемаяСтрока); ПереместитьСтрокуДерева(Де Как Свернуть, Развернуть узлы Дерева значений на форме? 4
Как программно свернуть/развернуть дерево значений на управляемой форме? Желательно НаКлиенте. КоллекцияЭлементовДерева=ДеревоНоменклатуры.ПолучитьЭлементы(); //Свернуть дерево Для Каждого Строка Из КоллекцияЭлементовДерева Цикл ИдентификаторСт Посмотреть все в категории Работа с Деревом Значений
Источник
Работа с деревом значений в 1С
В последнее время аномально часто мне в работе попадалось дерево значений, поэтому решил написать на эту тему статью.
Попробую рассмотреть способы решения основных задач связанных с деревом значений, при этом постараюсь писать «без воды».
Дерево значений
Из названия объекта понятно, что дерево значений служит для хранения/отображения какой-либо иерархической информации. Каждая строка дерева значений может иметь какое-то количество подчиненных строк, при этом такие операции как поиск, сортировка, подсчет итогов можно проводит с учетом уровня иерархии и подчиненных строк.
Кроме этого, каждая строка дерева значений имеет свойства «Родитель» и «Строки».
Дерево значений на форме
Визуальное представление дерева значений обеспечивает элемент «Табличное поле».
Заполнение дерева значений
При заполнении дерева значений нужно помнить, что сам объект «ДеревоЗначений» и все его строки имеют свойство «Строки»и добавление новых строк на любом уровне дерева осуществляется через это свойство.
Сам же объект «ДеревоЗначений» имеет еще и свойство «Колонки», которое ничем не отличается от аналогичного свойства у таблицы значений.
Небольшой пример программного заполнения таблицы значений для управляемых форм:
Обход дерева значений
Обход всех строк дерева значений делается при помощи рекурсии, вот так будет выглядеть код для обхода дерева созданного в примере выше:
Как свернуть и развернуть дерево значений
Сворачивается и разворачивается дерево значений очень просто.
Привел три примера: для сворачивания текущей строки, для сворачивания строк верхнего уровня, для сворачивания вообще всех строк (рекурсия).
Два примера: для разворачивания текущей строки и для разворачивания всех строк. У метода «Развернуть» есть дополнительный параметр, который позволяет указать нужно ли разворачивать подчиненные строки.
Как удалить строку и очистить дерево значений
Тут опять же все просто, нужно помнить, что при удалении/очистке строки, все подчиненные строки удаляются.
Точно также можно очистить от подчиненных элементов другую другую строку.
Удалить строку дерева значений не сложнее — нужно только знать ее индекс:
Запрос и дерево значений
Результат выполнения запроса очень легко преобразовать в дерево значений, для этого нужно воспользоваться методом «Выгрузить» и указать параметр «ТипОбхода» отличным от того, что стоит по умолчанию, т.е. «ПоГруппировкам» или «ПоГруппировкамСИерархией».
Если на форме имеется реквизит «ДеревоЗначений» и связанный с ним визуальный элемент, то можно сделать примерно так:
Причем полного совпадения колонок и типов не требуется — лишние колонки будут просто отброшены, а колонки с различными типами будут заполнены пустыми значениями.
Дерево значений в таблицу значений и обратно
Преобразовать дерево значений в таблицу значений и наоборот достаточно просто, ведь дерево значений это та же таблица значений, но с дополнительной колонкой — «Родитель». У меня есть отдельная статья о том как преобразовать дерево значений в таблицу значений и обратно.
Отбор в дереве значений
Стандартного отбора в дереве значений не предусмотрено. Так получилось потому, что непонятно как разрешать ситуацию, когда родительский элемент не удовлетворяет условию отбора, а подчиненные ему элементы удовлетворяют.
Таким образом, если Вам нужно реализовать отбор в дереве значений, то начать нужно с решения именно этой проблемы. А уже после этого можно придумать несколько способов реализовать задуманное.
Первый способ — накладывать отбор до вывода дерева значений (в запросе например). Это не классический отбор, но в тех случаях когда этот способ применим, то следует применять именно его, так как это почти всегда быстрее и правильнее чем что-либо другое.
Второй способ — перебор всех строк дерева значений. Описывать здесь особенно нечего, нужно просто взять обход дерева значений, проверять каждую строку на соответствие условию отбора и удалять лишние строки.
Еще один способ заключается в том, чтобы преобразовать дерево значений в таблицу значений, сделать отбор в таблице значений, проконтролировать результат (почистить «хвосты» — строки, родитель которых не удовлетворил условию отбора) и выполнить обратное преобразование в дерево значений.
На этом все, рассказал все, что знал, надеюсь мне удалось сэкономить Вам немного времени.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
(оценок: 36, средняя оценка: 4,64 из 5)
Источник