Перейти к содержимому

Фотография

СправочникОставить только нужные элементы


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1
-Zen2004-

-Zen2004-
  • Завсегдатай
  • 136 сообщений
Привет Всем!!!
Имется справочник товаров 3-уровней
Надо сделать так чтобы после нажатия на кнопку остались только те элементы которые имеют остатки я делаю это так
Процедура Отсортировать()
Перем ИТ;
	СписокЭлементов = СоздатьОбъект("СписокЗначений");
	СпрСотр = СоздатьОбъект("Справочник.Товары");

	СпрСотр.ВыбратьЭлементы();
	Пока СпрСотр.ПолучитьЭлемент()=1 Цикл
	Ит=....//Получаю итоги текущего элемента

Если (СпрСотр.ЭтоГруппа()=1) или (ИТ>0)   Тогда 
СписокЭлементов.ДобавитьЗначение(СпрСотр.ТекущийЭлемент());
КонецЕсли;

КонецЦикла; 

ИспользоватьСписокЭлементов(СписокЭлементов);
КонецПроцедуры
В чем моя ошибка? после этого появляются папки с вопросами а по идее должны остатся только группы и элементы у которых остаток>0.
  • 0

#2
Учаснег

Учаснег
  • Частый гость
  • 94 сообщений
ты хочешь удалить только те которые не имеют остатки, не обращая внимание на ссылки предыдущих периодов ?
или те которые вообще не использовались ?
  • 0

#3
tooshiba

tooshiba
  • Постоялец
  • 378 сообщений
УстановитьОтбор(<?>,);
Синтаксис:
УстановитьОтбор(<ИмяОтбора>,<ЗначениеОтбора>)
Назначение:
Установить отбор списка справочника.
Параметры:
<ИмяОтбора> - строка с именем реквизита справочника (по которому возможен отбор, т.е. взведен флажок ''Отбор по реквизиту'' в свойствах реквизита справочника), по которому установлен отбор. Если это значение пустое, то отбор отключается.
<ЗначениеОтбора> - необязательный параметр. Значение отбора.
Замечание:
Метод доступен только в контексте Модуля формы списка справочника и относится ко всему текущему справочнику.

-Zen2004-
Пробовали через это???
  • 0

#4
-Zen2004-

-Zen2004-
  • Завсегдатай
  • 136 сообщений

ты хочешь удалить только те которые не имеют остатки, не обращая внимание на ссылки предыдущих периодов ?
или те которые вообще не использовались ?


я не хочу нечего удалять, просто есть товар по которому были движения и будут еще но сейчас там по 0. Мне надо оставит только те строчки которые имеют остатки а остальные скрыть.



А насчет отбора не пробовал сейчас попробую.
  • 0

#5
Обработка

Обработка
  • Свой человек
  • 567 сообщений
Если справочник здоровый то не стоит это делать будут тормоза. Другое дело если торговля тогда не возбраняется опер итоги из регистров вытаскивать в колонку
  • 0

#6
nat777

nat777
  • Гость
  • 8 сообщений
Особенности использования метода ИспользоватьСписокЭлементов

Прежде всего, заметим, что данный метод не устанавливает условие отбора элементов, а задает форме
списка справочника непосредственно список элементов, которые нужно показывать в форме. Этим
собственно и достигается максимальная гибкость отбора, так как список элементов может быть
сформирован с использованием любых средств 1С:Предприятия. Эта возможность позволяет оптимизировать формирование необходимого списка, выбирая наиболее производительный способ отбора данных. Прежде всего, это позволяет при работе с данными в формате MS SQL Server максимально задействовать возможности SQL-сервера.

Важной особенностью применения метода " ИспользоватьСписокЭлементов" является необходимость формирования списка элементов отвечающих текущим значениям Родителя и Владельца в форме списка справочника. Типичной ошибкой при использовании данного метода является формирование полного списка элементов, удовлетворяющих требуемому условию. В случае если методу "ИспользоватьСписокЭлементов" переданы элементы не соответствующие текущему Владельцу и Родителю, то такие элементы будут отображаться в списке пустой строкой, и будут отмечаться специальной пиктограммой с символом "?". При этом не будет выдаваться сообщение об ошибке. Фактически, появление такой пиктограммы означает, что метод
" ИспользоватьСписокЭлементов" используется не правильно. Такой способ диагностирования ошибки применяется системой в данном случае потому, что проверка переданного списка на корректность в процессе вызова метода потребует фактически обращения к каждому элементу в информационной базе, что существенно замедлит работу данного механизма. Таким образом, после разработки алгоритма модуля формы списка справочника следует проверить его работу на реальных данных и убедиться, что все элементы в списке отображаются правильно.

Другой особенностью применения метода " ИспользоватьСписокЭлементов" является необходимость
формирования списка элементов при изменениях текущих значений Родителя и Владельца. Для этого необходимо
обрабатывать соответсвующие предопределенные процедуры и выполнять формирование списка с учетом новых значений.

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

При разработке алгоритма формирования списка следует обеспечить приемлемую производительность его выполнения на реальных данных. При работе с базами данных в формате MS SQL Server целесообразно воспользоваться рекомендациями по оптимизации выполнения запросов в версии 1С:Предприятия для SQL. Если формирование списка с выбранным критерием не удается выполнить с приемлемой производительностью, то целесообразно изменить критерий отбора или отказаться от отбора элементов в справочнике.

Таким образом, метод "ИспользоватьСписокЭлементов" следует рассматривать как весьма специализированный способ представления списка справочника, который с одной стороны предоставляет максимальную гибкость с точки зрения отбора элементов, а с другой стороны требует достаточно аккуратного применения.

<по материалам Информационно-Технологического Сопровождения фирмы 1С>


Информация взята с сайта А.Кайгородова
http://www.sinor.ru/~my1c/knowhow.html
  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.