Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Очистить динамический список от отображения данных
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Gigi
Всем привет!
Возникшая проблема в следующем.
Дело в том, что для указанного заголовка темы есть на пример код:
Отбор = ДинСписок.Отбор.Элементы;
ДинСписок.Отбор.Элементы.Очистить();

Который не устраивает. Так как, в данном кодовом решении речь об очистке списка от какого либо отбора.
А нужно очистить не отбор а сами данные отображения динамического списка. ЛЮБЫЕ ДАННЫЕ!
И тут в С.П. есть команда удалить с примером:
ОтборКоличество = ПостроительОтчета.Отбор.Количество();
Для Н = 1 По ОтборКоличество Цикл
    ПостроительОтчета.Отбор.Удалить(ОтборКоличество - Н);
КонецЦикла;

Который тоже не устраивает. И опять мимо. Ибо там оговорка:
Цитата
Внимание! Метод не доступен для отбора динамических списков (свойство Отбор объектов

Тьфу ты ... !!! Пардон ...Опять зло берет ))))
Короче нужно просто очистить отображение данных ... т.е. нужен пустой интерфейс дин списка. Без какого либо отображения. Вот все что надо.
Пробовал так ... кустарно:
ГруппаОтбор1 = спПоказанияТочкиСубТочкиУчета.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
Отбор = ГруппаОтбор1.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Реквизит");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Отбор.ПравоеЗначение = "ТУПИЗМ";
Отбор.Использование = Истина;;

И вроде результат устроил. И я наконец получил то что надо. Т.е. Пустой динамический список ... Подобный тому, когда в дин. списке нет не одного созданного элемента.
Но во первых это кустарный способ. Ибо если в списке будет иметься реквизит со значением "ИДИОТИЗМ" т.е. пардон: "ТУПИЗМ" то дин. список его отобразит smile.gifsmile.gif ))))).
Во вторых данное решение слишком тормозит. Ибо это тот же отбор всего не малого списка только отбор со значением: "ТУПИЗМ" который навряд ли в списке окажется ))))). Именно поэтому он будет пуст ))))
Короче как решить задачу не так кустарно как в указанном коде и без тормозов?
Опять извините конечно за циничную иронию.
Буду признателен!
Gigi
Gigi @ Сегодня, 10:07 необходимо зарегистрироваться для просмотра ссылки ,
Если возникнет вопрос для чего это нужно. Причина простая.
Дело в том, что есть форма с разными дин. списками в ней. Которая имеет две основные вкладками(страницы).
Левая вкладка для навигации, а правая для отображения.
И при активации строки дин. списка в левой вкладке идет отбор по нескольким дин списка уже в страницах правой вкладки.
И одна из этих списков слишком объемная. Поэтому с каждой активацией строки списка навигации список отображения сильно тормозит.
И что бы решить эту проблему в один из дин. списков во вкладке отображения пришлось убрать отбор.
И в командной панели этого списка добавить кнопку "Отобрать показания текущего объекта юр. лица". С процедурой отбора естественно.
Но при этом, при активации строки списка навигации в списке отображения мне нужен чистый лист дин списка отображения. И это до тех пор пока пользователь не нажал на эту кнопку: "Отобрать показания текущего объекта юр. лица".
Вот что надо. И вот для чего это было нужно.
Т.е. меня не устраивают то что дает дин список по умолчанию без отбора. И то что он отображает все данные списка. Нужно что бы он ничего не отображал.
Для этого я ту выше указанную кодовую кустарщину сделал и опционально в настройках дин списка.
И тоже так же получил то что надо. И в отличие от кодовой кустарщины в опциональной было без тормозов.
Только одна проблема... Процедура: "Отобрать показания текущего объекта юр. лица" перестала отбирать и вообще что то делать. Из-за опциональных настроек отбора.
Вот и вся проблема.
Вообщем буду признателен если кто подскажет варианты решения.
На пример в коде отбора на время отключить опциональные настройки отбора, а потом опять включить. Хотя это уже просто изврат.
Короче буду признателен!
Володька
Gigi @ Сегодня, 12:24 необходимо зарегистрироваться для просмотра ссылки ,
Это очень похоже на форму обработки "Подбор номенклатуры" в любой типовой конфигурации. Там реализацию не смотрели?
Gigi
Володька @ Сегодня, 12:57 необходимо зарегистрироваться для просмотра ссылки ,
Нет не смотрел ...
Спасибо за отклик ...
Ша посмотрю ...

Володька
Gigi @ Сегодня, 14:18 необходимо зарегистрироваться для просмотра ссылки ,
В УТ 3.1 такая обработка называется ПодборТоваровВДокументПродажи
Gigi
Володька @ Сегодня, 13:26 необходимо зарегистрироваться для просмотра ссылки ,
Нашел я эту обработку ...
действительно нужно иногда смотреть в типовые конфы... там много полезного и на конкретных примерах ... вообще не разу туда и не смотрел.
обработка называется: "ПодборНоменклатуры"
Но анализировать и вникать в код пока не хота. До этого хотел убедиться как работает. И сам же убедится в том то ли это что и нужно?
Но просто в типовых очень много всего ... и поэтому не могу найти где на находиться в режиме пользователя.
В какой подсистеме? ... И тут лажа .. в конфе в графе "подсистемы" раскрыть все подсистемы че то никак.
Короче в какой подсистеме нужно запустить обработку не подскажете?
А название самой типовой конфы: "Бухгалтерия предприятия (учебная), редакция 3.0"
pablo
Как вариант - Сделать запрос в динамическом списке содержания с использованием параметраИ дальше рулить его содержимое через:
Содержимое.Параметры.УстановитьЗначениеПараметра("Ссылка",Элементы.Остатки.ТекущиеДанные.Ссылка);
Очищать соответственно:
Содержимое.Параметры.УстановитьЗначениеПараметра("Ссылка",Неопределено);

Gigi
pablo @ Сегодня, 15:24 необходимо зарегистрироваться для просмотра ссылки ,
Ладно попробую таким маккаром
Если будут непоонятки продолжу тему
Спасибо!
Володька
Gigi @ Вчера, 18:41 необходимо зарегистрироваться для просмотра ссылки ,
Эта обработка запускается из очень многих документов, Поступление товаров, Реализация, Заказ, Оприходование, по-моему, даже где-то в списании видел. Весь смысл в том, что она в 3-х динамических списках отражает содержимое одного справочника Номенклатура, в одном как раз просто отображает Элементы, в другом иерархию, а в третьем остатки по складам товара, выбранного в первом списке. Т.е. схема работы получается следующая: Выбираешь в иерархии группу с элементами, в списке показывается только номенклатура принадлежащая этой группе, нажав на элемент номенклатуры, используя запрос к РН остатков по складу видишь количество на складе. Так же присутствует т.н. "корзина", в которую при дабл клике по элементу номенклатуры можно поместить выбранную номенклатуру.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.