1с дерево значений перенос строк

Помогите с деревом значений

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

Есть у кого-нибудь идеи?
На форуме искал, то что нашел, все не то.

(3) Получай выделенные строки, потом создавай новые в строках нового родителя, заполняй значения через ЗаполнитьЗначенияСвойств, старые удаляй

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

(5) По другому никак. Зацикленность можно проверить.
ЗЫ Работу с деревом действительно плохо сделали.

// Процедура копирует подчиненные строки дерева значений
//
Процедура СкопироватьПодчиненныеСтроки(СтрокаПриемник, ПодчиненныеСтроки)

Для Каждого Строка Из ПодчиненныеСтроки.Строки Цикл
НоваяСтрока = СтрокаПриемник.Строки.Добавить();
НоваяСтрока.КлючСвязи = СтрокаПриемник.КлючСтроки;
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
СкопироватьПодчиненныеСтроки(НоваяСтрока, Строка);
КонецЦикла;

// Процедура переносит выделенные строки дерева значений в указанную ветку
//
Процедура ПеренестиСтрокиДереваЗначений(СтрокаПриемник, ВыделенныеСтроки) Экспорт

Если НЕ СтрокаПриемник = Неопределено Тогда
МассивСтрок = Новый Массив;
Для Каждого СтрокаПереноса Из ВыделенныеСтроки Цикл
МассивСтрок.Добавить(СтрокаПереноса);
НоваяСтрока = СтрокаПриемник.Строки.Добавить();
СкопироватьПодчиненныеСтроки(НоваяСтрока, СтрокаПереноса);
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаПереноса);
НоваяСтрока.КлючСвязи = СтрокаПриемник.КлючСтроки;
КонецЦикла;
Для Каждого СтрокаДерева Из МассивСтрок Цикл
Если СтрокаДерева.Родитель = Неопределено Тогда
СтрокаДерева.Строки.Удалить(СтрокаДерева);
Иначе
СтрокаДерева.Родитель.Строки.Удалить(СтрокаДерева);
КонецЕсли;
КонецЦикла;
КонецЕсли;

Источник

Перетаскивание строк по дереву

Добрый день. нашел много примеров, но нигде понятно не описано. Как реализваться перетаскивание строки дерева из группы в группу.

в свойствах дерева на форме поставил 2 галки разрешитьНачалоПеретаскивания, и РазрешитьПеретаскивание.

в обработчике событий указал для НачалаПеретаскивания Стандартная обработка = истина. (мне нужно перетаскивание).

Дальше приНачалеПеретаскивания возник ступор) . . Есть примеры для обычных форм?
спасибо.

Процедура ДеревоПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка)

Процедура ДеревоНачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, Выполнение)

ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Перемещение;
ПараметрыПеретаскивания.ДопустимыеДействия = ДопустимыеДействияПеретаскивания.Перемещение;

Процедура ДеревоПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка)

Читайте также:  Раскраски деревья для взрослых

НоваяДолжность = Строка.Должность;
НовыйРазряд = Строка.Разряд;

СтрокаТЧ.Должность = НоваяДолжность;
СтрокаТЧ.Разряд = НовыйРазряд;

Создает но не там где надо. Надо родителя теперь строки указатьвидимо)

Процедура ДеревоПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка)

Процедура ДеревоНачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, Выполнение)

ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Перемещение;
ПараметрыПеретаскивания.ДопустимыеДействия = ДопустимыеДействияПеретаскивания.Перемещение;

Процедура ДеревоПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка)

//Если Строка.Уровень() = 1
Если ТипЗнч(ПараметрыПеретаскивания.Значение) <> Тип(«СтрокаДереваЗначений») Тогда
ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
Возврат;
КонецЕсли;

НоваяДолжность = ЭлементыФормы.Дерево.ТекущаяСтрока.Должность;
НовыйРазряд = ЭлементыФормы.Дерево.ТекущаяСтрока.Разряд;

СтрокаТЧ.Должность = НоваяДолжность;
СтрокаТЧ.Разряд = НовыйРазряд;

Вот такая шляпа получилась. создает строку где надо. как источник удалить?)

Источник

Как в дереве значений строку перекинуть в другой родитель?

Распечатать

Распечатать

1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » — конкретный продукт, который выпускает компания 1С . Что такое Cклонения по падежам 6
НаКлиенте Процедура Команда1(Команда) ФИО = » Иванов Иван Иванович» ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = » » ; Excel файл как Внешний источник данных 16
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа » Внешние источники данных» и назовем его просто » Excel» . https://helpf.pro/uploads/img V82.COMConnector.1: Не найдена лицензия COM-соединением 1
При подключении из одной базы к другой через COM внезапно стала появляться следующая ошибка: «V82.COMConnector.1: Не найдена лицензия COM-соединением», хотя никаких изменений на серверах не делалось. Релиз платформы был 8.2.13. Обновил до 14-го – не База 1С при запуске уходит в дамп и вылетает 1
В последнее время частенько обращаются пользователи у которых после замены или ремонта компьютера 1С не запускается, а точнее при открытии уходит в dump и вылетает. Как правило, решение одно: Отключить аппаратное ускорение видеокарты В Window Посмотреть все результаты поиска похожих

Еще в этой же категории

Примеры работы с Деревом значений в УП 11
Так как работа с ДеревомЗначений и ТаблицейЗначений в данном контексте практически не отличается, в примере будет использоваться ДеревоЗначений, все тоже самое за исключением иерархии применимо и к ТаблицеЗначений. Как известно, в платформе 1С 8.1 н Дерево значений в таблицу значений или в табличную часть и обратно 9
Для одной организации надо было реализовать документы, где вместо табличной части надо использовать дерево и все это на управляемых формах. Но дерево нельзя сохранить в базе в текущем виде. Пришлось использовать табличную часть документа для хранени Преобразование дерева значений в таблицу значений и обратно 6
Хочу поделиться с посетителями сайта своим подходом к преобразованию таблицы значений в дерево значений и обратно. Вообще, при разработке отраслевой задачи, была необходимость почти во всех документах, выводить информацию в виде дерева и хранить ее Как Свернуть, Развернуть узлы Дерева значений на форме? 4
Как программно свернуть/развернуть дерево значений на управляемой форме? Желательно НаКлиенте. КоллекцияЭлементовДерева=ДеревоНоменклатуры.ПолучитьЭлементы(); //Свернуть дерево Для Каждого Строка Из КоллекцияЭлементовДерева Цикл ИдентификаторСт ДеревоЗначений в ТекстовыйДокумент 3
// Выводит данные ДереваЗначений в ТекстовыйДокумент, пригодный к рассмотрению в отладчике, окне сообщений и показу. // // Параметры: // рВетка — дерево значений, подлежащее выводу. Может иметь почти любую глубину иерархии, количество и тип ко Посмотреть все в категории Работа с Деревом Значений

Читайте также:  Медведь на воротах из дерева

Источник

1С 8.x : Как в дереве значений строку перекинуть в другой родитель?

Распечатать

Распечатать

1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » — конкретный продукт, который выпускает компания 1С . Что такое Cклонения по падежам 6
НаКлиенте Процедура Команда1(Команда) ФИО = » Иванов Иван Иванович» ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = » » ; Excel файл как Внешний источник данных 16
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа » Внешние источники данных» и назовем его просто » Excel» . https://helpf.pro/uploads/img V82.COMConnector.1: Не найдена лицензия COM-соединением 1
При подключении из одной базы к другой через COM внезапно стала появляться следующая ошибка: «V82.COMConnector.1: Не найдена лицензия COM-соединением», хотя никаких изменений на серверах не делалось. Релиз платформы был 8.2.13. Обновил до 14-го – не База 1С при запуске уходит в дамп и вылетает 1
В последнее время частенько обращаются пользователи у которых после замены или ремонта компьютера 1С не запускается, а точнее при открытии уходит в dump и вылетает. Как правило, решение одно: Отключить аппаратное ускорение видеокарты В Window Посмотреть все результаты поиска похожих

Еще в этой же категории

Примеры работы с Деревом значений в УП 11
Так как работа с ДеревомЗначений и ТаблицейЗначений в данном контексте практически не отличается, в примере будет использоваться ДеревоЗначений, все тоже самое за исключением иерархии применимо и к ТаблицеЗначений. Как известно, в платформе 1С 8.1 н Преобразование дерева значений в таблицу значений и обратно 6
Хочу поделиться с посетителями сайта своим подходом к преобразованию таблицы значений в дерево значений и обратно. Вообще, при разработке отраслевой задачи, была необходимость почти во всех документах, выводить информацию в виде дерева и хранить ее Как Свернуть, Развернуть узлы Дерева значений на форме? 4
Как программно свернуть/развернуть дерево значений на управляемой форме? Желательно НаКлиенте. КоллекцияЭлементовДерева=ДеревоНоменклатуры.ПолучитьЭлементы(); //Свернуть дерево Для Каждого Строка Из КоллекцияЭлементовДерева Цикл ИдентификаторСт ДеревоЗначений в ТекстовыйДокумент 3
// Выводит данные ДереваЗначений в ТекстовыйДокумент, пригодный к рассмотрению в отладчике, окне сообщений и показу. // // Параметры: // рВетка — дерево значений, подлежащее выводу. Может иметь почти любую глубину иерархии, количество и тип ко Как вывести в справочник в виде дерева значений 1
Дерево = Новый ДеревоЗначений; Запрос = Новый Запрос; Запрос.Текст=» ВЫБРАТЬ |Ном.Ссылка как ссылка |ИЗ | Справочник.Номенклатура КАК Ном |Упорядочить По |Ном.Ссылка Иерархия» ; // Или Запрос.Текст icon-exclamation-sign»> Посмотреть все в категории Работа с Деревом Значений

Читайте также:  Чем отпугивать коз от деревьев

Источник

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