|
Сделать недоступной колонку в строке в таб части | ☑ | ||
---|---|---|---|---|
0
lirt82
23.08.17
✎
09:01
|
Конфа на управляемых, нужно сделать при выборе номенклатуры из таб части Товары, если код Вида Номенклатуры равен "0000001" тогда сделать недоступной колонку Ставка НДС, но у меня блокируется вся таб часть не получается заблокировать колонку в строке. Код ниже
&НаКлиенте Процедура ТоварыНоменклатураПриИзменении(Элемент) ТекущаяСтрока = Элементы.Товары.ТекущиеДанные; КодВидаНоменклатуры = ТоварыПриИзмененииНаСервере(ТекущаяСтрока.Номенклатура); Если КодВидаНоменклатуры = "0003" Тогда Элементы.ТоварыСтавкаНДС.Доступность = Ложь; КонецЕсли; КонецПроцедуры &НаСервереБезКонтекста Функция ТоварыПриИзмененииНаСервере(Товар) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.ВидНоменклатуры.Код КАК Код |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка = &Товар"; Запрос.УстановитьПараметр("Товар", Товар); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); ВыборкаДетальныеЗаписи.Следующий(); Возврат СокрЛП(ВыборкаДетальныеЗаписи.Код); КонецФункции |
|||
1
lirt82
23.08.17
✎
09:02
|
Если КодВидаНоменклатуры = "0000001" Тогда
|
|||
2
FIXXXL
23.08.17
✎
09:06
|
(0) УсловноеОформление
|
|||
3
_Дайвер_
23.08.17
✎
09:08
|
(2) +, либо ТекущаяСтрока
|
|||
4
lirt82
23.08.17
✎
09:18
|
(3) в ТекущейСтроке Объект сидит, а мне нужно получить доступ к управлению поля элемента строки таб части Товары
|
|||
5
1dvd
23.08.17
✎
09:19
|
(4) задай правильный вопрос - "в каком событии управлять доступностью колонок?"
|
|||
6
Интересно интересно
23.08.17
✎
09:22
|
И следующий вопрос будет "как разблокировать колонку для другой строки"...
Надо выставлять отказ при начале редактирования по данным текущей строки. |
|||
7
aleks_default
23.08.17
✎
09:24
|
(6)Условное оформление должно избавить от этих вопросов
|
|||
8
Интересно интересно
23.08.17
✎
09:37
|
(7) Особенно измененное пользователем и противоречащее твоим программным настройка м.
|
|||
9
Рэйв
23.08.17
✎
09:58
|
//как то так
&НаКлиенте Процедура ТоварыПередНачаломИзменения(Элемент, Отказ) ТД=Элементы.Товары.ТекущиеДанные; ИмяКолонки=Элементы.Товары.ТекущийЭлемент.Имя; КодВидаНоменклатуры =ПолучитьКодСервер(ТД.Товар); Если ИмяКолонки="СтавкаНДС" И КодВидаНоменклатуры = "0003" Тогда Отказ=Истина; КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьКодСервер(Товар) Возврат СокрЛП(Товар.ВидНоменклатуры.Код) ; КонецФункции |
|||
10
Вафель
23.08.17
✎
10:21
|
(9) не корректно, ибо вообще строку на сможешь редактировать, а не только ставку НДС
|
|||
11
Вафель
23.08.17
✎
10:22
|
Правильно - добавить вычисляемое поле в ТЧ СтавкаНДСНедоступна - заполнять его и условное оформление.
Примерно как субконто блокируются |
|||
12
Рэйв
23.08.17
✎
10:25
|
(10)Если ИмяКолонки="СтавкаНДС" ни о чем не говорит?
|
|||
13
Вафель
23.08.17
✎
10:26
|
(12) Это только, если ты НАЧИНАЕШь редактировать с колонки СтавкаНДС, но так обычно не бывает
|
|||
14
Рэйв
23.08.17
✎
10:27
|
(13)Если ты начнешь в любой другой колонке - условие не сработает. Зря споришь это мой рабочий код в реальной конфе. сто лет уж работает
|
|||
15
Рэйв
23.08.17
✎
10:28
|
ну автопереход при редактировании наверное надо отключить.у меня отключен. Как с ним будет надо проверять
|
|||
16
Вафель
23.08.17
✎
10:36
|
(14) Гордиться г-но кодом - это конечно пример настоящего 1сника
|
|||
17
Рэйв
23.08.17
✎
10:41
|
(16)рабочий код.Чем недоволен?:-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |