Имя: Пароль:
1C
1C 7.7
v7: Использовать Список Элементов
0 mcwolf
 
19.07.14
18:27
Здравствуйте!
Столкнулся с проблемой при отображении номенклатуры вот собственно код:

Процедура ПослеОткрытия()

СписОтбора= СоздатьОбъект("СписокЗначений");
    
    СпрТовары= СоздатьОбъект("Справочник.Номенклатура");
    СпрТовары.ВыбратьЭлементы();
    Пока СпрТовары.ПолучитьЭлемент() = 1 Цикл
        
        Если (СокрЛП(СпрТовары.ТекущийЭлемент().ВидимостьТовара)="0") Тогда

            сообщить(СпрТовары.ТекущийЭлемент());
            СписОтбора.ДобавитьЗначение( СпрТовары.ТекущийЭлемент());
        КонецЕсли;
    
    КонецЦикла;
        
    ИспользоватьСписокЭлементов(СписОтбора);
КонецПроцедуры

получается нужно скрыть товар у которого стоит видимость 0, товар то скрывает но отображается вот так _http://s32-temporary-files.radikal.ru/57dea9d8bbc9425295d22b3de851a53e/-88693455.jpg Как убрать эти знаки вопросов чтоб отображалось нормально?
1 DCKiller
 
19.07.14
18:40
Учу правильно постить ссылки с радикал.ру. Недорого.
2 DCKiller
 
19.07.14
18:41
А вообще, он товар с нулевой видимостью у тебя не скрывает, а наоборот отображает только его... судя по твоему коду.
3 mcwolf
 
19.07.14
18:48
(2) при редактировании товара у меня стоит галка "Скрывать товар" когда она стоит значение =1
4 mcwolf
 
19.07.14
18:50
(1) сори перезалил _http://i056.radikal.ru/1407/1b/d26e1a255c7c.jpg
5 Zypse
 
19.07.14
18:55
(0) Отключить иерархический просмотр
6 DCKiller
 
19.07.14
18:57
(3) У тя справочник иерархический... при переходе на другой уровень отображения иерархии список продолжает использоваться...
7 DCKiller
 
19.07.14
18:59
+(5) либо прописать в ПриВыбореРодителя отключение использования списка, когда переходишь на уровень групп.
8 mcwolf
 
19.07.14
19:54
(6) а как сделать правильное отображение не зависимо от отображения? (кроме без отображения списка, нужен вид списка такой и такой.)
9 DCKiller
 
19.07.14
21:33
(8) см. (7)
10 NS
 
19.07.14
21:38
11 lavalit
 
23.07.14
19:37
Процедура ПриОткрытии()
УстановитьОтбор("ВидимостьТовара",0); // отберет все товары с нужным значением реквизита  - то есть где видимосто товара =0
ВыборГруппы(0); // эт если вдруг надо
ИерархическийСписок(0,0); // отключает иерархию
КонецПроцедуры

ну и конечно же в справочнике для реквизита "видимостоТовара" надо поставить птицу "отбор по реквизиту"
Удачи
12 NS
 
23.07.14
19:38
(11) ты о чем? мы об использоватьСписокЭлементов().
13 lavalit
 
23.07.14
19:42
я так понял надо получить фильтрованный список элементов. тоесть те, у которых ВидимостьТовара в нужном состоянии
исходя из картинки http://i056.radikal.ru/1407/1b/d26e1a255c7c.jpg там просто куча пустых строк которые не информативны и только мешают
14 NS
 
23.07.14
19:44
(13) Ну что можно сказать - ты ничего не понял. Нужно показать товары из списка. Решение фичи с знаками вопроса в (10)
Нужно не товары с нужным значением реквизита, а товары из списка.
15 lavalit
 
23.07.14
19:52
Ну в исходном коде видно, что Вы перебираете весь справочник и получаете список элементов, у которого "Видимость Товара" = 0.... потом хотите отфильтровать по этому списку.. тот же фильтр собственно.


ИспользоватьСписокЭлементов(<?>);
Синтаксис:
ИспользоватьСписокЭлементов(<СписокЗначений>)
Назначение:
Реализует фильтрацию элементов справочника, используя нединамический фильтр.
Параметры:
<СписокЗначений> - необязательный параметр. Значение типа - ''СписокЗначений'' - должен представлять собой список элементов справочника, выбранных для просмотра. Если это значение пустое, то фильтр отключается.
Замечание:
Метод доступен только в контексте Модуля формы списка справочника и относится ко всему текущему справочнику.
16 NS
 
23.07.14
20:08
(15) А, Семен Семеныч, а никто ведь в ветке внимание не обратил на кривой донельзя код :) Конечно же он по реквизиту отбирает :)
2 + 2 = 3.9999999999999999999999999999999...