Имя: Пароль:
1C
 
Выбор значений для отображения в списке справочника: через ОформлениеСтроки?
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
Про скорость уже понял: основное время, если верить отладчику, съедает выборка остатков.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn