|
Событие ПриВыводеСтроки грузит процессор | ☑ | ||
---|---|---|---|---|
0
romaku
06.09.11
✎
17:17
|
Добрый день
В Табличном поле документа есть событие ПриВыводеСтроки, к нему прицеплена процедура: Процедура ТабличноеПолеДвиженияПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Если ДанныеСтроки.СтатусПересчета = Перечисления.СтатусПересчета.Manual или (Не Данныестроки.СчетДт.Валютный и Не Данныестроки.СчетКт.Валютный) тогда Элемент.колонки.Сумма.ТолькоПросмотр = Ложь; Элемент.колонки.Сумма2.ТолькоПросмотр = Ложь; Иначе Элемент.колонки.Сумма.ТолькоПросмотр = Истина; Элемент.колонки.Сумма2.ТолькоПросмотр = Истина; КонецЕсли; КонецПроцедуры Проблема в том, что эта процедура очень сильно грузит процессор. Если эти строчки закомментировать, то все нормально. Как сделать по другому? Может на другое событие как-то перевесить? Можно ли как-то поймать получение фокуса на "ПолеВвода"? Смысл процедуры в том, что доступность редактирования ячейки в строке зависит от значение другой ячейки в этой же строке. Спасибо. |
|||
1
pavig
06.09.11
✎
17:24
|
Не Данныестроки.СчетДт.Валютный и Не Данныестроки.СчетКт.Валютный
замени на Не (Данныестроки.СчетДт.Валютный ИЛИ Данныестроки.СчетКт.Валютный) но проблема не в этом озвучь плиз платформу, ОС и прочее |
|||
2
unregistered
06.09.11
✎
17:31
|
(0) Бред какой-то.
И какой смысл менять свойство ВСЕЙ КОЛОНКИ в событии ПриВыводеСтроки? В итоге получим, что у всего табличного поля свойство "ТолькоПросмотр" колонок Сумма и Сумма будет таким, какие счета в самой последней выведенной строке. Маразм..... |
|||
3
unregistered
06.09.11
✎
17:32
|
(2)* "Сумма и Сумма" = "Сумма и Сумма2"
|
|||
4
Megas
06.09.11
✎
17:33
|
Да и вообще лучше в при получении данных это делать. Хотя в твоём случае пофиг =)
|
|||
5
ptiz
06.09.11
✎
17:34
|
Феерично.
|
|||
6
kosts
06.09.11
✎
17:46
|
Попробуй примерно так переписать.
|
|||
7
Euguln
06.09.11
✎
17:48
|
Такое надо делать в событиях "ПередНачаломИзменения" или "ПриНачалеРедактирования" или на крайний случай "ПриАктивизацииСтроки"
|
|||
8
wertyu
06.09.11
✎
17:52
|
(0) лучше заведи ещё один реквизит в ТЧ типа булево и меняй его в ПриИзменении у полей ввода "СтатусПересчета", "СчетДт" и "СчетКт"
|
|||
9
romaku
06.09.11
✎
17:52
|
спасибо за критику. сделал через ПриАктивизацииКолонки. ПриАктивизацииЯчейки - слишком часто проверяется условие, ПриАктивизацииСтроки - не учитываются изменения текущей активности.
ПС. Будьте снисходительней, я начинающий |
|||
10
unregistered
06.09.11
✎
18:07
|
В (6) херня какая-то бестолковая...
Что даст соответствие?... А такое его заполнение СоответствиеСчетовВалютныйЛи.Добавить(Счет2, Счет2.Валютный) - это просто слов нет... |
|||
11
kosts
06.09.11
✎
18:12
|
(10) Это идея, возможно синтаксис не точно, в целом рабочее решение.
|
|||
12
kosts
06.09.11
✎
18:27
|
В общем я бы сделал как-то так.
|
|||
13
Euguln
06.09.11
✎
18:31
|
(10) +1
(12) код не решает задачу в (0). |
|||
14
kosts
06.09.11
✎
18:35
|
(13) Пусть автор (0) скажет решает или нет
|
|||
15
GANR
06.09.11
✎
18:37
|
В типовых конфах 8.0-8.1 ситуация обходится событием ПриПолученииДанных, в 8.2 - динамическими списками.
|
|||
16
GANR
06.09.11
✎
18:38
|
(15) Пардон, если от значения в этой-же строке - тут только ПриНачале редактирования или какое-то ещё событие.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |