Как заблокировать или изменить доступность ячейки табличного поля #335866


#0 by Dooro
Как заблокировать или изменить доступность или запретить редактирование конкретной ячейке на выделенной строкеТабличного поля?
#1 by IronDemon
Движение - табличная часть.
#2 by Dooro
Не понял
#3 by Dooro
ЭлементыФормы.Товар.Цена>0 Тогда Товар.цена - заблокировать от изменения. на этой строке
#4 by Dooro
При начале редактирования
#5 by IronDemon
Что непонятно? Если ЭлементыФормы.Товар.ТекущиеДанные.Цена > 0 Тогда
#6 by Dooro
Тоесть элемент управления запрещает к изменению ячейку или всю колонку? Мне нужно толшько ячейку
#7 by Dooro
Процедура ТоварыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)    СтрокаТабличнойЧасти=ЭлементыФормы.Товары.ТекущиеДанные;    Если   СтрокаТабличнойЧасти.ЦенаРозничная<> Неопределено И           СтрокаТабличнойЧасти.ЦенаРозничная>0 Тогда Тут нужно написать запрет на изменение данных ЦенаРозничная Или как то по другому это реализовать
#8 by IronDemon
А ты проверь. Лучше запомниться.
#9 by Dooro
Если     СтрокаТабличнойЧасти.ЦенаРозничная<> Неопределено И           СтрокаТабличнойЧасти.ЦенаРозничная>0 Тогда ... Тут нужно написать запрет на изменение данных ЦенаРозничная Или как то по другому это реализовать
#10 by Dooro
Хорошо :)
#11 by iSeRG
Вот интересно, если пользователь введет цену и бац ячейка уже не доступна, что тогда?
#12 by Dooro
Смысл этого такой .. Есть цена розницы на товар. Если поступает товар и в поле розница выводится цена розница то ее нельзя менять , а если товару не назначена розница или это новый товар то ячейка цена розницы должна быть доступна
#13 by iSeRG
А как ты отличаешь, что розничная цена задана?
#14 by Stepa86
Попробуй при выводе строки проверять строчку на равенство текущей, и если равно и удовлетворяет условиям, то ОформлениеСтроки.Ячейки.Цена.ТолькоПросмотр = Истина ток учти, что это событие почти всегда крутиться что обычно выливается в тормоза при больших условиях
#15 by Dooro
Как отличаю? Ну вот документ поступление товаров При наборе номенклатуры в поле цена розничная выводится цена розницы если она ранее была задана. Вот мне и нужно что бы если ранее задана не могла меняться . а если не задана( не вывелась или новый товар то поле доступно
#16 by iSeRG
хорошо, поле пустое, значит цена не зада, пользователь вводит цену и поле становится недоступным?
#17 by Dooro
Да , Но мне важно что бы там где задано нельзя было изменить
#18 by Dooro
или после редактирования вернуло цену прежнюю
#19 by Stepa86
+ ячейку, по моему, можно заблокировать только при выводе строки, во всех остальных случаях блокируется колонка
#20 by iSeRG
т.е. нормально, что введя цену пользователь уже не сможет ее изменить?
#21 by 13th
ПередНачаломИзменения(Элемент, Отказ) если стороку нельзя редактировать - то отказ истина. А для проверки возможности редактироания использовать скрытую колонку с данными булево типа, кот. заполнять при заполнении роз. цен.
#22 by Dooro
Н:о не строку нельзя редактировать а только цену(ячейку) тк например на этой строке есть еще колонка количество - ее нельзя запрещать. Наверное скрытой колонки не избежать..
#23 by 13th
так в процедуре определить какая колонка редактируется не проблема.
#24 by Dooro
Ребят я совсем з0апутался. Вы можете пример привести
#25 by Dooro
Тоесть отказ редактирования строки с указанием колонки?
#26 by iSeRG
Скрытую колонку ради этого? Это ж прийдется в табличную часть реквизит добавлять.
#27 by Dooro
Да
#28 by Dooro
Что нам роеквизит добавить :) раз и все
#30 by iSeRG
типа так Если Элемент.ТекущиеДанные <> Неопределено Тогда
#31 by Dooro
Вот написал индейский метод . Процедура ТоварыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)    СтрокаТабличнойЧасти=ЭлементыФормы.Товары.ТекущиеДанные;    Если   СтрокаТабличнойЧасти.ЦенаРозничная<> Неопределено И
#32 by Dooro
Дык ведь работает :) проверил
#33 by Dooro
Только реквизит пришлось добавить
#34 by Dooro
И колонку Стат.цена
#35 by iSeRG
И как же эта новая колонка заполняется?
#36 by Dooro
Теперь после отмены редактирования не пересчитывает суммы. Вот жеж.
#37 by Dooro
СтрокаТабличнойЧасти.СтатЦена=СтрокаТабличнойЧасти.ЦенаРозничная
#38 by Dooro
Ха , решил проблем. СтрокаТабличнойЧасти=ЭлементыФормы.Товары.ТекущиеДанные;      Если СтрокаТабличнойЧасти.СтатЦена<> Неопределено И
#39 by Dooro
Процедура другая при окончании ввода текста
#40 by Dooro
Да уж .. теперь введя цену ее не изменишь :)
#41 by Dooro
Хоть запрос делай для типа цены розничная - назначена - не назначена
#42 by Dooro
iSeRG  если можно подробнее Если Элемент.ТекущиеДанные <> Неопределено Тогда То что я зделал не годится.
#43 by iSeRG
А зачем вообще это все надо? Если нет розничной цены, то пользователь может ввести ее сам? Это нормально?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С