![]() |
|
Выбор значений для отображения в списке справочника: через ОформлениеСтроки? | ☑ | ||
---|---|---|---|---|
0
DrLekter
30.09.14
✎
14:04
|
Опишу всю задачу, т.к., возможно, не туда копаю еще на уровне постановки:
8.2, обычные формы. Справочник Контрагентов, добавил туда колонку текущего остатка взаиморасчетов. Красиво. Удобно. Появились клиенты с разными валютами взаиморасчетов, причем иногда один ведет расчет в нескольких валютах. Соответственно, задача расширилась: как бы сделать быстрый выбор валюты отображения. Добавил колонку в табличное поле (с данными справочника она не связана, т.е. существует только на форме). Написал обработчик выбора. Теперь нужно поместить выбранное значение в ячейку, но как? В ЭлементыФормы.СправочникСписок.ТекущиеДанные и .ТекущаяСтрока такой ячейки нет. В ОформлениеСтроки(...ТекущиеДанные) - есть, но она, если верить СП, не связана с содержимым табличного поля (?!) и потому тоже не отображается. Цитата: "Для того, чтобы изменения данного объекта отображались в табличном поле необходимо пользоваться обработчиками событий ПриВыводеСтроки или ПриПолученииДанных.". Окей, пишу Процедура ПриПолученииДанных(Элемент, ОформленияСтрок) Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл ОформлениеСтроки.Ячейки.Валюта.Текст = ?(ОформлениеСтроки.Ячейки.Валюта.Значение = Неопределено, "", ОформлениеСтроки.Ячейки.Валюта.Значение.Кратко); КонецЦикла; КонецПроцедуры, хотя смутно понимаю, что ОформленияСтрок в данном случае тоже не связаны с тем, что я менял. Естественно, не работает (( Как же к этой ячейке добраться? |
|||
1
Рэйв
30.09.14
✎
14:07
|
сделай внизу текстовый блок, куда при активации строки выводи текущую инфу по контрагенту, во всех валютах.
|
|||
2
ОператорПК
30.09.14
✎
14:11
|
или (1) или сделай выбор валюты в "шапке" справочника все равно пользователи не будут тыкать в каждого контрагента и устанавливать разную валюту - дешевле отчет посмотреть чем такой геморрой устраивать.
|
|||
3
DrLekter
30.09.14
✎
14:17
|
В том-то и дело, что могут захотеть "тыкать" :( Насчет общего блока вннизу - спасибо, годная идея. Но теперь уже ссам принцип интересен: неужели нельзя добавить в табличное поле такую фигню, если даже кнопки туда вставлять можно? Проверил сейчас отладчиком - значение ячейки остается Неопределено сразу после присвоения нового. А если судить по СП, редактировать его можно.
|
|||
4
Михаил Козлов
30.09.14
✎
14:56
|
Вы можете хранить выбранные значения валют в переменной формы, скажем, типа Соответствие, в котором ключом будет ссылка на контрагента.
При получении данных брать значение из этого соответствия, выбор валюты будет пихать выбранное значение в это соответствие. |
|||
5
DrLekter
30.09.14
✎
15:31
|
Спасибо, Михаил, я как раз до этого додумался )) Причем хранить только измененные относительно основной валюты - так соответствие будет меньше и будет быстрее искать по ключу. К тому же это соответствие можно сохранять и восстанавливать при закрытии/открытии справочника, чтобы пользователю не набирать каждый раз одно и то же, если работа с клиентами идет более/менее постоянно.
|
|||
6
Михаил Козлов
30.09.14
✎
15:38
|
(5) Поиск в соответствии делается довольно быстро: несколько тысяч не проблема. К тому же это касается только "видимых" контрагентов.
|
|||
7
DrLekter
30.09.14
✎
16:57
|
Про скорость уже понял: основное время, если верить отладчику, съедает выборка остатков.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |