Имя: Пароль:
1C
1С v8
Представление элемента справочника в выпадающем списке выбора в 1с 8.3.10
0 Euroset1
 
21.02.18
09:23
Доброго дня.
Посоветуйте пожалуйста.
В некоем документе, на чью форму я буду писать расширение, просят в выпадающем списке при выборе в ТЧ номенклатуры писать в скобках не ее код, а значение другого реквизита. Это в том, в котором выводятся последные выбранные значения и есть гиперссылка для открытия формы справочника.

Я ответил, что нельзя, т.к. убежден в этом. Может быть, я не прав, и можно как-то это сделать в столь поздних версиях платформы?
1 sergey yevsenya
 
21.02.18
09:36
Ты не прав. Гугли ОбработкаПолученияПредставления
2 Euroset1
 
21.02.18
10:44
Это близко, но не решает проблему. Суть в том, чтобы в конкретном документе в конкретной колонке менять представление для выбора. А в остальных местах оставить как есть.

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)

Это в модуле менеджера номенклатуры. Как вот мне понять в этой процедуре, что ее вызвал именно список выбора той самой табличной части?
3 ildary
 
21.02.18
10:53
(2) Я начал бы издалека - а вообще такое возможно? Если в параметрах не передается вызывающая форма.
4 Euroset1
 
21.02.18
11:01
(3) ну так я и начал с этого =)
5 Вафель
 
21.02.18
11:04
(2) никак. представление меняется везде
6 Cyberhawk
 
21.02.18
11:14
На форму в расширении добавляешь обработчик "НачалоВыбораИзСписка" или "НачалоВыбора" и переопределяешь список выбора
7 Cyberhawk
 
21.02.18
11:14
(представления)
8 FIXXXL
 
21.02.18
11:22
(0) если тебе нужен свой список выбора, заполняй его как тебе надо
если нужна подмена представления в платформенных списках типа ИсторияВыбора и т.д. тогда только менять Представление, но это везде
9 Euroset1
 
21.02.18
12:43
А в параметрах сеанса можно же сохранить для передачи?

Например:
1) Так как параметр сеанса в расширении создавать не можем, то присосемся к типовому. Например, БуферОбмена. Он имеет типа фиксированной структуры с двумя свойствами, переопределим его, добавив новое свойство типа булево.
2) Перед началом выбора или где-то рядом по смыслу в ТЧ в нужной нам колонке присваиваем это булево в параметр сеанса.
3) Обработка представления в менеджере номенклатуры видит это булево = истина и реагирует в этом случае нестандартно, присваивая нам нужные значения. Они же попадут в платформенный выпадающий список выбора.
4) В обработке представления сразу же меняем наш булев параметр на ложь. Ну или если она срабатывает по каждому элементы "лично", то в обработке получения полей представления. Если там такая же фигня, то можно после выбора на событие в нашей форме это подвесить.
5) Всё.

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