Имя: Пароль:
1C
 
Как в табличной части документа запретить редактирование ячейки?
0 punkforever
 
28.09.05
12:19
Задача такая: в табличной части есть несколько колонок, необходимо отказаться от редактирования ячейки(которую выбирает пользователь) если в ней есть число, но иметь возможность вносить числа в другие колонки этой строки (если они пустые, конечно).
Подскажите, кому не сложно
1 Парижская фанера
 
28.09.05
12:21
(0) Предопределенные процедуры для документа курить пробывал?
2 Темнота
 
28.09.05
12:21
Форма.ЧтоТо.Доступность(0)
3 Cerrg
 
28.09.05
12:22
Если ТекущаяЯчейка.Значение = о тогда
   Сообщить("Иди на фиг!");
КонецЕсли;
4 punkforever
 
28.09.05
12:30
(1) предопределённая здесь разве что ПриНачалеРедактированияСтроки годится, но мне надо иметь возможность редактировать другие колонки в этой строке
(3) это семерка
5 Cerrg
 
28.09.05
12:32
(4) И что мешает?
конкретный код не напишу (на память не помню, а семерку ставить сейчас не хочу), но там именно через текущую ячейку делается...
6 Grant
 
28.09.05
12:36
(4) И что мешает...
Процедура ПриНачалеРедактированияСтроки()
Если ЭтотРеквизит <> 0 Тогда
СтатусВозврата(0);
КонецЕсли;
КонецПроцедуры
7 punkforever
 
28.09.05
12:37
(5)А подскажи как к текущей ячейке в семеркеобратиться...
8 Cerrg
 
28.09.05
12:42
(7) она у тя и так выбрана....
9 punkforever
 
28.09.05
13:05
(6) В этом случае запрещается редактировать всю строку, а как оставить возможность редактировать остальные ячейки этой строки и запретить редактировать только те ячейки (они могут быть в разных колонках) в которых пустоезначение()=1
вот...
10 Grant
 
28.09.05
13:15
(9) А подумать...
Процедура ПриНачалеРедактированияСтроки()
Если ЭтотРеквизит <> 0 Тогда
Форма.ЭтотРеквизит.Доступность(0);
КонецЕсли;
КонецПроцедуры
11 punkforever
 
28.09.05
13:26
(10)Спасибо, только вот надо запреть редактирование именно конкретной ячейки,
т.к. в этой же колонке в других строках тоже должна быть возможность заносить числа, если конечно в ячейке 0.
12 Груздь
 
28.09.05
13:31
(11) Мдя ...
13 Львенок
 
28.09.05
13:32
Как альтернативный вариант:

Запомнить значения непустых ячеек в процедуре
ПриНачалеРедактированияСтроки()

Восстановить значения запомненых ячеек в процедуре
ПриОкончанииРедактированияСтроки()
14 Grant
 
28.09.05
13:39
(11)Пля... Извиняй, конечно... не подумал, что...

Процедура ПриНачалеРедактированияСтроки()
Если ЭтотРеквизит <> 0 Тогда
Форма.ЭтотРеквизит.Доступность(0);
Иначе
Форма.ЭтотРеквизит.Доступность(1);
КонецЕсли;
КонецПроцедуры