Имя: Пароль:
1C
1С v8
Отбор в табличном поле
0 kolts23381
 
27.02.15
17:49
В табличном поле можно интерактивно добавить отбор допустим по наименованию , при чем выбрать тип сравнения в списке и уже там указать какие наименования должны участвовать в отборе. Как это можно сделать программно?
1 ОператорПК
 
27.02.15
17:51
есть не УФ то
ФормаСписка = Справочники.СпецификацииНоменклатуры.ПолучитьФормуСписка(, ЭтаФорма);
    
    ФормаСписка.Отбор.Код.ВидСравнения  = ВидСравнения.Равно;
    ФормаСписка.Отбор.Код.Значение      = Спецификация.Код;
    ФормаСписка.Отбор.Код.Использование = Истина;
    
    ФормаСписка.Открыть();
2 kolts23381
 
27.02.15
17:54
Интересут ВидСравнения.Всписке. Сейчас пытаюсь сделать
3 ОператорПК
 
27.02.15
17:54
ФормаСписка.Отбор.Код.Значение      = Здесь должен быть список значений;
4 kolts23381
 
27.02.15
18:03
Спасибо, разобрался. Еще маленький вопрос, в качестве бонуса, как заблокировать возможность убрать данный отбор. Желательно, но не обязательно
5 hhhh
 
27.02.15
18:05
НастройкаОтбора
6 Михаил Козлов
 
27.02.15
18:16
(5)+ У элемента формы.
7 D_E_S_131
 
27.02.15
20:45
kolts23381, ну вот ты же наверняка где-то в своей конфигурации видел подобную типовую реализацию, но совсем не хочешь посмотреть в конфигураторе как это реализовано.
8 Крошка Ру
 
27.02.15
20:48
В конфигураторе - это ладно, но остановиться в отладчике на этой строчке и посмотреть ВСЕ свойства этого отбора кто мешает?
9 D_E_S_131
 
27.02.15
20:56
(8) Ну может у него поставка конфигурации "Упрощенная", в которой нет компоненты "Отладчик". Это богачам хорошо рассуждать, а люди экономили при покупке 1С.
10 kolts23381
 
02.03.15
20:06
Добавил в табличное поле дополнительную колонку которой нет в справочнике под названием статус которую заполняю данными . А как сделать отбор по ней?
Пытаюсь так
ЭлементыФормы.СправочникСписок.Значение.Отбор.Добавить("Статус");
Пишет что метод не доступен для данного объекта. На этот раз лез в отладчик. :)
11 un4gtn
 
03.03.15
10:58
Поправьте меня если ошибаюсь, если вы просто создали колонку в табличном поле "СправочникСписок", отбор по нему вам реализовать не удастся, так как отбор осуществляется только по данным из базы (нужно добавить реквизит в справочник), что является более предпочтительным. Есть конечно вариант создать ТаблицуЗначений на форме, но имхо, это не ответ для вашей задачи.
12 kolts23381
 
03.03.15
16:55
Да вы правы. Мне нужно чтоб у справочника показывался статус. Статус я храню в регистре сведений. Сейчас вот, кстати, думаю хранить статус в самой номенклатуре. Но получается, что номенклатура будет меняться после каждого документа. Хотя это убьет несколько зайцев. Наверное так и сделаю.
13 Михаил Козлов
 
03.03.15
17:29
(12) Не уверен, что это правильно: вряд ли документы меняют номенклатуру как сущность. Кроме того, Вам придется позаботиться об обновлении открытых форм списка номенклатуры по результатам записи документов.
14 barrgand
 
03.03.15
17:48
(12) Это плохая идея. Лучше отбор сделать на форме списка номенклатуры.
15 kolts23381
 
03.03.15
18:33
(14) В том то и дело что не получается сделать отбор по полю которого нет в реквизитах справочника.
16 kolts23381
 
03.03.15
18:46
Хотя как вариант сделать кнопку, а не в контекстном меню.
17 D_E_S_131
 
03.03.15
18:50
(16) Ну платформенный отбор не сделаешь, а отдельную кнопку вполне можно. По нажатию получишь подходящие элементы, а уже эти элементы применишь как платформенный отбор (например, "Номенклатура В списке <твой получившийся список>".
18 kolts23381
 
04.03.15
00:35
Сейчас допер до самого простого решения. Держать дополнительную информацию в регистре сведений и получать нужную информацию с формы списка этого регистра сведений. Таким образом убиваются все зайцы