Не работает перетаскивание в таблице формы в рамках одного родителя иерархического справочника.
Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
Данные:
Есть конфигурация самописка на 1С 8.3, в ней есть справочник "Словарь". Справочник иерархический. Есть реквизит "Очередность" (целочисленное, нумерация в рамках родителя), чтоб можно было отсортировать справочник.
На форме списка есть таблица формы с именем "Список" и типом "ДинамическийСписок". Заполняется по запросу согласно выбранного родителя в "Дереве" (таблица с иерархией справочника типа "ДинамическийСписок").
Задача:
Сделать возможным изменять порядок элементов в рамках одного родителя, перетаскиванием.
Проблема:
Перетаскивание в "ТаблицаФормы" в рамках выбранного родителя не срабатывает.
Как выйти из ситуации?
Есть конфигурация самописка на 1С 8.3, в ней есть справочник "Словарь". Справочник иерархический. Есть реквизит "Очередность" (целочисленное, нумерация в рамках родителя), чтоб можно было отсортировать справочник.
На форме списка есть таблица формы с именем "Список" и типом "ДинамическийСписок". Заполняется по запросу согласно выбранного родителя в "Дереве" (таблица с иерархией справочника типа "ДинамическийСписок").
Задача:
Сделать возможным изменять порядок элементов в рамках одного родителя, перетаскиванием.
Проблема:
Перетаскивание в "ТаблицаФормы" в рамках выбранного родителя не срабатывает.
Как выйти из ситуации?
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Спасибо всем кто отозвался ). Вопрос закрыт.
Почитав статью (http://help1c.com/faq/view/924.html) , я понял, что в момент перетаскивания в списке справочника 1С пытается переназначить родителя элементу (по умолчанию). В моем же случае этого происходить не должно.
Как решить вопрос. Нужно отключить стандартную обработку и выполнить свой механизм. Выключаем флаг стандартной обработки в событиях таблицы формы, в которой выводится список справочника - проверка перетаскивания и перетаскивание (пример указан ниже).
&НаКлиенте
Процедура СписокПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
СписокПеретаскиваниеНаСервере(ПараметрыПеретаскивания.Значение, Строка);
Элементы.Список.Обновить();
СтандартнаяОбработка = Ложь;
КонецПроцедуры
&НаСервере
Процедура СписокПеретаскиваниеНаСервере(ЧтоПеретащили, КудаПеретащили)
// тут пишем свой текст работ с элементами справочника
КонецПроцедуры
&НаКлиенте
Процедура СписокПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
Почитав статью (
Как решить вопрос. Нужно отключить стандартную обработку и выполнить свой механизм. Выключаем флаг стандартной обработки в событиях таблицы формы, в которой выводится список справочника - проверка перетаскивания и перетаскивание (пример указан ниже).
&НаКлиенте
Процедура СписокПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
СписокПеретаскиваниеНаСервере(ПараметрыПеретаскивания.Значение, Строка);
Элементы.Список.Обновить();
СтандартнаяОбработка = Ложь;
КонецПроцедуры
&НаСервере
Процедура СписокПеретаскиваниеНаСервере(ЧтоПеретащили, КудаПеретащили)
// тут пишем свой текст работ с элементами справочника
КонецПроцедуры
&НаКлиенте
Процедура СписокПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
СтандартнаяОбработка = Ложь;
КонецПроцедуры
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)