|
Событие "ПриВыводеСтроки" - бесконечный цикл. | ☑ | ||
---|---|---|---|---|
0
dkonakov
22.06.16
✎
14:22
|
Имеем табличную часть на форме.
ПриВыводеСтроки есть такое условие, ну например если А = 0 Тогда ЭлементыФормы.Товары.Колонки.Колонка1.ТолькоПросмотр = Истина; Данный код порождает бесконечный цикл. можно вынести этот код при открытии, но тогда если пользователь вручную добавит колонку, то она на просмотр не покажется. В какое событие стоит помещать данную строку? |
|||
1
aleks_default
22.06.16
✎
14:25
|
ПриАктивацииЯчейки не помню есть ли такое в ОФ
|
|||
2
Зая Бусечка
22.06.16
✎
14:26
|
В ПриПолученииДанных
|
|||
3
dkonakov
22.06.16
✎
14:31
|
(2) аналогичный бесконечный цикл ПриПолученииДанных.
(1) А не пустой ли это будет код, активизируется ячейка, причем может активизироваться многократно и код будет впустую выполняться? |
|||
4
Fragster
гуру
22.06.16
✎
14:32
|
1 прав. а еще лучше перед началом редактирования.
|
|||
5
Nuobu
22.06.16
✎
14:33
|
(3) ПриИзмененииДанных, ОбновлениеОтображения
В этих двух пропиши свой код. |
|||
6
aleks_default
22.06.16
✎
14:34
|
Ячейка активируется тогда когда в нее тыкнул пользователь, т.е. перед началом попытки редактирования.
|
|||
7
Широкий
22.06.16
✎
14:37
|
Ты скорее всего а ПриВыводеСтроки меняешь значение колонки - которое и порождает вызов еще одного ПриВыводеСтроки.
Полный код покажи |
|||
8
lxs
22.06.16
✎
14:39
|
(7) +1
|
|||
9
dkonakov
22.06.16
✎
14:44
|
(7) Полный код следующий:
Если Дата > Дата(2016,05,19,23,59,59) Тогда // тут что то Иначе Если мКолонкиТовары.ЦенаСоСкидкой.Видимость Тогда ЭлементыФормы.Товары.Колонки.ЦенаСоСкидкой.ТолькоПросмотр = Истина; СуммаСоСкидкой = ОформлениеСтроки.Ячейки.Сумма.Значение; ЦенаСоСкидкой = ОбщегоНазначения.ФорматСумм(?(ДанныеСтроки.Количество=0,0,(СуммаСоСкидкой / ДанныеСтроки.Количество))); ОформлениеСтроки.Ячейки.ЦенаСоСкидкой.УстановитьТекст(ЦенаСоСкидкой); КонецЕсли; КонецЕсли; Проверял код, бесконечный цикл вызывается, когда именно ТолькоПросмотр = Истина; Остальные строчки кода так не влияют. |
|||
10
Nuobu
22.06.16
✎
14:48
|
(9) Что по поводу (5)?
|
|||
11
dkonakov
22.06.16
✎
14:50
|
(10) у нас обычные формы. в ТЧ формы нет такого события: ПриИзмененииДанных. Я прошу прощения, что не указал это сразу.
|
|||
12
hhhh
22.06.16
✎
14:53
|
(11) при активизации ячейки делай.
|
|||
13
lxs
22.06.16
✎
14:53
|
(11) ПриПолученииДанных(0
|
|||
14
lxs
22.06.16
✎
14:57
|
Не понимаю, зачем вот это
Если мКолонкиТовары.ЦенаСоСкидкой.Видимость Тогда ЭлементыФормы.Товары.Колонки.ЦенаСоСкидкой.ТолькоПросмотр = Истина; пихать в циклический обработчик... Так же не понимаю, нахрена вызывать ОбщегоНазначения.ФорматСумм(.. в таких местах.. Сам форматную строку не умеешь использовать? Задача простая, реализация ппц.. |
|||
15
dkonakov
22.06.16
✎
15:02
|
(13) ПриПолученииДанных будет (3)
Активизация ячейки - когда пользователь сделает нажатие мышью туда. Соответственно Код ТолькоПросмотр = Истина будет вызываться столько раз, сколько пользователь будет выделять ячейку колонки. |
|||
16
Nuobu
22.06.16
✎
15:03
|
(11) Он на форме есть.
|
|||
17
dkonakov
22.06.16
✎
15:05
|
(14) я прекрасно понимаю. Порекомендуйте, куда эту строку
ЭлементыФормы.Товары.Колонки.ЦенаСоСкидкой.ТолькоПросмотр = Истина; разместить правильно. По Формату сумм согласен, исправлю. |
|||
18
dkonakov
22.06.16
✎
15:05
|
(16) Да, действительно, вы правы, сейчас попробуем.
|
|||
19
dkonakov
22.06.16
✎
15:13
|
(16) к сожалению, не то. Не вызывается ни то, ни другое при скрытии/добавлении полей в ТЧ.
|
|||
20
youalex
22.06.16
✎
16:18
|
(0)
ОформлениеСтроки.Ячейки.ИмяЯчейки.ТолькоПросмотр В событиях ТП ПриВыводеСтроки(), ПриПолученииДанных() |
|||
21
lxs
22.06.16
✎
16:36
|
(17) ПриОткрытии, например.
|
|||
22
ptiz
22.06.16
✎
16:38
|
если не копать суть:
Если ЭлементыФормы.Товары.Колонки.ЦенаСоСкидкой.ТолькоПросмотр = Ложь Тогда ЭлементыФормы.Товары.Колонки.ЦенаСоСкидкой.ТолькоПросмотр = Истина КонецЕсли; |
|||
23
Zhuravlik
22.06.16
✎
16:39
|
(5) + 1
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |