Имя: Пароль:
1C
1С v8
ОтборСтрок или ОтборПоЗначениюТекущейКолонки реквизита.
0 kumena
 
05.06.17
15:13
Управляемые формы, 8.3.
Есть табличная часть документа и табличное поле (т.е. таблица) табличной части на форме. У табличной части есть ссылочный реквизит, допустим должность (на форме таблицы его нет), а в справочнике должностей есть реквизит краткое наименование. На форме таблицы документа выведен этот реквизит ТаблЧастьДолжностьКраткоеНаименование

в таком виде отбор работает
    Элементы[ИмяПоля].ОтборСтрок = Новый ФиксированнаяСтруктура("Должность", ТекущиеДанные.Должность);

но не устраивает
1. должностей с одинаковым коротким наименованием может оказаться не одна
2. не точное соответствие поиска, из СП -
Отбор выполняется по условию вхождения значения. Например, если в колонке есть ячейки со значением "Строка 1", "Строка 2", ... "Строка 10", "Строка 11", ... и устанавливается отбор по значению "Строка 1", то в таблицу будут отобраны строки со значениями "Строка 1", "Строка 10", "Строка 11" и т.д.


Как можно организовать отбор через компоновщик отбора, как у динамических списков?
1 Buster007
 
05.06.17
15:36
Выведи ссылку и сформируй нормально представление у справочника, тогда и отбор нормально будет работать - по ссылке, а не по строке
2 kumena
 
05.06.17
15:39
я знаю что по ссылке будет все работать, но пользователи не хотят видеть ссылку (т.е. наименование)
3 kumena
 
05.06.17
15:40
а отбор, кстати, в фиксированной структуре по вхождению строки, так что это не сильно поможет. вопрос надо решить так как описано.
4 Buster007
 
05.06.17
15:41
(3) так ты определись, то ли тебе надо, чтобы выводилось вместе со строкой 1 строка 10, то ли тебе не надо этого
5 Buster007
 
05.06.17
15:41
(2) обработка получения представления в справочнике спасет тебя
6 kumena
 
05.06.17
15:50
> так ты определись, то ли тебе надо, чтобы выводилось вместе со строкой 1 строка 10, то ли тебе не надо этого

все вроде предельно ясно описано - нужен отбор по значению колонки табличного поля, с точным соотвествием.


> обработка получения представления в справочнике спасет тебя

очень жду примера!
7 Buster007
 
05.06.17
16:33
ОбработкаПолученияПредставления(<Данные>, <Представление>, <СтандартнаяОбработка>)
Параметры:

<Данные>

Тип: Структура.
Содержит значения полей, из которых формируется представление.
<Представление>

Тип: Строка.
Строка, в которую нужно поместить представление объекта или ссылки.
<СтандартнаяОбработка>

Тип: Булево.
В данный параметр передается признак формирования стандартного представления объекта или ссылки.
Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет.
Значение по умолчанию: Истина.

СтандартнаяОбработка = Ложь;
Представление = ТвойРеквизитСПредставлением;
8 Buster007
 
05.06.17
16:36
еще про ОбработкаПолученияПолейПредставления не забудь
9 Buster007
 
05.06.17
16:36
+(7) Представление = Данные.ТвойРеквизитСПредставлением;
10 kumena
 
05.06.17
16:45
я сейчас понял, ты предлагаешь подменить представление, но это все равно не решает пункт два из темы.
11 kumena
 
05.06.17
16:50
точнее это нифига не решает, ибо отбор строк не работает по реквизитам реквизитов ТЧ.
12 kumena
 
05.06.17
16:51
проблему я придумал как решить, если все получится - отпишу!
13 Buster007
 
05.06.17
18:04
(11) судя по тому, что ты описал, тебе не нужен отбор по реквизитам реквизитам...