![]() |
|
Изменение и запрет изменения в табличном поле. | ☑ | ||
---|---|---|---|---|
0
ЗлаяЗая
27.01.23
✎
11:31
|
Помогите, пожалуйста. Никак с событиями не разберусь.
Есть таблица в обработке. Колонки: Номенклатура, Заказчик, Количество, Признак Нужно сделать так: если Признак=1, то ничего в этой строке править нельзя. Если Признак=2, то только ячейку "Количество". Всякие события попробовала, никак не получается. |
|||
1
ЗлаяЗая
27.01.23
✎
11:32
|
Если Признак=3, то все можно править.
|
|||
2
eddy_n
27.01.23
✎
11:36
|
Есть обработчик события у этого Элемента управления типа Таблица. Называется ПередНачаломИзменения. В нем и работай.
|
|||
3
Trimax
27.01.23
✎
11:40
|
(2) Нафига? Есть оператор Доступность. Им и оперировать. Типа Если Признак=1 тогда ТекущаяСтрока.Доступность=Ложь.... Или через Элементы...
|
|||
4
ЗлаяЗая
27.01.23
✎
11:43
|
(2) делала. там написала
Если Элемент.ТекущиеДанные.Признак=2 Тогда Отказ=Истина; КонецЕсли; Тогда вся строка блокируется от изменений. А мне нужно 1 ячейку оставить. |
|||
5
Мультук
гуру
27.01.23
✎
11:43
|
(0) Я так понимаю, сначала нужно угадать обычные формы у вас или управляемые.
ИМХО, в управляемых формах пишем два условных оформления и всё. |
|||
6
ЗлаяЗая
27.01.23
✎
11:44
|
(5) обычные
|
|||
7
Trimax
27.01.23
✎
11:46
|
(4) Если Элемент.ТекущиеДанные.Признак=2 Тогда
ТекущиеДанные.Доступность=Ложь; Элемент.ТекущиеДанные.Количество.Доступность=Истина; КонецЕсли; |
|||
8
Мультук
гуру
27.01.23
✎
11:53
|
(0)
Событие таб.части "ПриАктивизацииСтроки" Процедура ТабличнаяЧасть1ПриАктивизацииСтроки(Элемент) тек = Элемент.ТекущиеДанные; Если тек.Признак = 1 Тогда //Ничего ЭлементыФормы.ТабличнаяЧасть1.Колонки.Реквизит1.ТолькоПросмотр = Истина; ЭлементыФормы.ТабличнаяЧасть1.Колонки.Количество.ТолькоПросмотр = Истина; ИначеЕсли тек.Признак = 2 Тогда //только количество ЭлементыФормы.ТабличнаяЧасть1.Колонки.Реквизит1.ТолькоПросмотр = Истина; ЭлементыФормы.ТабличнаяЧасть1.Колонки.Количество.ТолькоПросмотр = Ложь; Иначе //все ЭлементыФормы.ТабличнаяЧасть1.Колонки.Реквизит1.ТолькоПросмотр = Ложь; ЭлементыФормы.ТабличнаяЧасть1.Колонки.Количество.ТолькоПросмотр = Ложь; КонецЕсли; КонецПроцедуры |
|||
9
eddy_n
27.01.23
✎
11:54
|
(7) Всё правильно. Только лишний раз дёргать ТекущиеДанные - признак плохого тона. Вынеси вначале, примерно так:
ТекДанные = Элементы.Товары.ТекущиеДанные; И работай дальше в процедуре только с ТекДанные. |
|||
10
ЗлаяЗая
27.01.23
✎
13:11
|
Спасибо. Получилось как в (8).
ПриАктивизацииКолонки и ПриАктивизацииЯчейки ковыряла, а это событие -нет :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |