Имя: Пароль:
1C
1С v8
Удаление строк
0 mama_Budur
 
13.12.23
15:11
Есть табличная часть. Она заполняется данными (строками) по нажатию кнопки "К". У пользователя есть возможность добавлять в эту табличную часть строки. Можно ли запретить удаление только строк, которые добавились именно кнопкой "К". Если запретить удаление строк вообще, то как то не очень красиво получается - вдруг ошибочно что-то добавили, то уже не удалить. PS. В строках, которые добавлялись по кнопке есть ячейки (столбцы), которые так же заполняются пользователем
1 Лефмихалыч
 
13.12.23
15:16
ЕМНИП, там есть ОбработкаУдаления(), в которой ты можешь проверить свое условие и то ли выключить "СтандартнаяОбработка = ЛОжь", то ли установить "Отказ = Истина".

Но тебе при добавлении строк надо где-то в строке сохранять, какой кнопкой строка была добавлена. Для этого должно быть место, где это хранится, и обработчик кнопки К должен в этом место что-то мяукать особенное
2 ads55
 
13.12.23
15:23
создавай после заполнения по кнопке "К" массив строк из ТЧ.

Перед удалением проверяй наличие их в массиве.
3 mama_Budur
 
13.12.23
15:27
(1) Есть ПередУдалением(). А вообще строки по кнопке заполняются циклом "для каждого" из некой ТабЗнач. Попробую в этом цикле какой-то флаг добавить. Спасибо за идею.
4 mama_Budur
 
13.12.23
15:28
(2) раз у меня есть табЗнач, я наверное перед удалением могу сравнивать с ней?
5 Лефмихалыч
 
13.12.23
15:28
(2) отличный план.
закрыл/открыл документ и удаляй всё, что хочешь.
6 ads55
 
13.12.23
15:36
(5) Блин, ну при создании его (массив) можно заполнить.
ТС-у же идея нужна, Лефмихалыч, ну не бей ногами пособием разработчика! :)
7 Волшебник
 
13.12.23
15:33
кнопка "К"...
8 petya_
petrov_63
 
13.12.23
16:47
(0) в вопросе уже есть половина ответа, просто посмотрите внимательно ... Надо запомнить, сейчас не куда, значит надо создать чтобы было куда. Т.е. добавить в табличную часть поле и его заполнять ..
9 mama_Budur
 
13.12.23
20:24
(1) Огромное спасибо. Очень мне помогли с направлением. Добавила новый реквизит типа булево в табличную часть. При заполнении по кнопке везде проставила в нём Истина. И потом в процедуре ПередУдалением() проверяла что там стоит. Ну и если Истина, то и Отказ=Истина. Задача решена.
10 Лефмихалыч
 
13.12.23
22:45
Можно упростить до

Отказ = ТекущиеДанные.ТвояНоваяКолонка

И ничего не проверять
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.