Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Очистить динамический список от отображения данных          
Gigi Подменю пользователя
сообщение 27.03.19, 10:07
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Всем привет!
Возникшая проблема в следующем.
Дело в том, что для указанного заголовка темы есть на пример код:
Отбор = ДинСписок.Отбор.Элементы;
ДинСписок.Отбор.Элементы.Очистить();

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

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

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

И вроде результат устроил. И я наконец получил то что надо. Т.е. Пустой динамический список ... Подобный тому, когда в дин. списке нет не одного созданного элемента.
Но во первых это кустарный способ. Ибо если в списке будет иметься реквизит со значением "ИДИОТИЗМ" т.е. пардон: "ТУПИЗМ" то дин. список его отобразит smile.gifsmile.gif ))))).
Во вторых данное решение слишком тормозит. Ибо это тот же отбор всего не малого списка только отбор со значением: "ТУПИЗМ" который навряд ли в списке окажется ))))). Именно поэтому он будет пуст ))))
Короче как решить задачу не так кустарно как в указанном коде и без тормозов?
Опять извините конечно за циничную иронию.
Буду признателен!

Gigi Подменю пользователя
сообщение 27.03.19, 11:24
Сообщение #2

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

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

Володька Подменю пользователя
сообщение 27.03.19, 12:57
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 166
Спасибо сказали: 8 раз
Рейтинг: 0

Gigi @ Сегодня, 12:24 * ,
Это очень похоже на форму обработки "Подбор номенклатуры" в любой типовой конфигурации. Там реализацию не смотрели?

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 27.03.19, 13:18
Сообщение #4

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Володька @ Сегодня, 12:57 * ,
Нет не смотрел ...
Спасибо за отклик ...
Ша посмотрю ...


Володька Подменю пользователя
сообщение 27.03.19, 13:26
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 166
Спасибо сказали: 8 раз
Рейтинг: 0

Gigi @ Сегодня, 14:18 * ,
В УТ 3.1 такая обработка называется ПодборТоваровВДокументПродажи

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 27.03.19, 13:54
Сообщение #6

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Володька @ Сегодня, 13:26 * ,
Нашел я эту обработку ...
действительно нужно иногда смотреть в типовые конфы... там много полезного и на конкретных примерах ... вообще не разу туда и не смотрел.
обработка называется: "ПодборНоменклатуры"
Но анализировать и вникать в код пока не хота. До этого хотел убедиться как работает. И сам же убедится в том то ли это что и нужно?
Но просто в типовых очень много всего ... и поэтому не могу найти где на находиться в режиме пользователя.
В какой подсистеме? ... И тут лажа .. в конфе в графе "подсистемы" раскрыть все подсистемы че то никак.
Короче в какой подсистеме нужно запустить обработку не подскажете?
А название самой типовой конфы: "Бухгалтерия предприятия (учебная), редакция 3.0"

pablo Подменю пользователя
сообщение 27.03.19, 15:24
Сообщение #7

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Как вариант - Сделать запрос в динамическом списке содержания с использованием параметраИ дальше рулить его содержимое через:
Содержимое.Параметры.УстановитьЗначениеПараметра("Ссылка",Элементы.Остатки.ТекущиеДанные.Ссылка);
Очищать соответственно:
Содержимое.Параметры.УстановитьЗначениеПараметра("Ссылка",Неопределено);



Signature
Правильно поставленный вопрос содержит до 90% ответа.

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 27.03.19, 17:41
Сообщение #8

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

pablo @ Сегодня, 15:24 * ,
Ладно попробую таким маккаром
Если будут непоонятки продолжу тему
Спасибо!

Володька Подменю пользователя
сообщение 28.03.19, 7:11
Сообщение #9

Завсегдатай
****
Группа: Пользователи
Сообщений: 166
Спасибо сказали: 8 раз
Рейтинг: 0

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

Спасибо сказали: Gigi,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 23:41
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!