Имя: Пароль:
1C
1С v8
удаление строки в таб части документа при определенном условии
0 serg-lom89
 
17.10.14
18:09
Ребята подскажите как реализовать данный процесс.
в таб части документа, я ввожу строку , затем выбираю реквизит,делаю проверку определенную и если не удовлетворяет мой реквизит условию проверки,то строка пропадает,( те. как нажать Esc)
какая процедура отвечает за это в таб .части документа?
1 serg-lom89
 
17.10.14
18:10
процедуру для проверки реквизита я запихнул ОбработкаВыбора для моего реквизита таб части
2 Рэйв
 
17.10.14
18:12
ПередОкончаниемРедактирования если мне мой склероз не изменяет

Если НЕвсеХорошо И НЕ ОтменаРедактирования Тогда
   Отказ=Истина;
КонецЕсли;

И пусть или вводят правильно или жмут ескейп
3 Рэйв
 
17.10.14
18:15
Надеюсь то, что НЕвсеХорошо ты сам определять должен сомнений не возникает?
4 serg-lom89
 
17.10.14
18:18
(3) это понятно что сам)
5 Фокусник
 
17.10.14
18:22
(2) Не уверен на 100%, но так строка останется "в редактировании" и нужно будет вручную нажимать Esc для отмены редактирования.
6 Рэйв
 
17.10.14
18:23
(4)Ты не поверишь как это разует.
А то напишешь в примере:

Нов=Справочники.Твой.СоздатьЭлемент();
....
Процентов 10 потом пишут возмущенно, что ругается на Твой...

Боже! Кого ты пускаешь в адинес...
7 serg-lom89
 
17.10.14
18:23
(5) да все верно..вот только счас проверил..строка не пропадает,а остается быть "открытой" на редактирование
8 Рэйв
 
17.10.14
18:24
(5)Ну да.Я это и подразумевал. Если нажмух эскейп - то ОтменаРедактирования =истина и не сработает условие...или вводят то что надо илм отказываются
9 serg-lom89
 
17.10.14
18:26
(8) но я думал что лучше сделать когда юзер выбирает элемент и на этом этапе сразу отсекать предупреждение и удалением этой строки
10 Рэйв
 
17.10.14
18:26
(7)Удалить редактируемую строку....
Ну попробуй
ОтменаРедактирования =Истина
:-)
Сам не пробовал но может сработать
11 Рэйв
 
17.10.14
18:27
(9)>>удалением этой строки
вот тут ты неправ на 100 %
12 Рэйв
 
17.10.14
18:28
(9)Тебя пользователи линчуют за такие идеи....Он вводил миллин значений а ты из-за ошибочногь ввода одного весь их труд под корень?

Не..Линчуют точно!:-)
13 Рэйв
 
17.10.14
18:28
*миллион
14 serg-lom89
 
17.10.14
18:31
(13) я всунул это в процедуру моего элемента обработкавыбора и тогла если что в ячейке не так,предупреждение и пустая ячейка
15 Рэйв
 
17.10.14
18:32
(14)Советую воспользоваться моим вариантом. Тогда пользовательсам выбирает - отказаться от введенных данных или всетаки попробовать ввести правельное.
16 Рэйв
 
17.10.14
18:33
+(15)и я считаю это единственно правильное решение, ты проблему отказа от ввода снимаешь со своих плечь и возлагаешь на плечи пользователя...Тебе мало и так проблем чтоли?:-)...Хчется каждому объяснять "почему у мпеня строка пропала???"
:-)
17 Рэйв
 
17.10.14
18:36
+причем ты сам хрен его знает почему и какое условие он нарушил:-)
Вот у тебя веселый рабочий день то будет.!
18 palpetrovich
 
17.10.14
18:36
(0)  расскажи поконкретней что именно и на что проверяется, а то возникают подозрения что ты решаешь  не то что нужно
19 Рэйв
 
17.10.14
18:38
(14)>> тогла если что в ячейке не так,предупреждение и пустая ячейка

Какая разница пустая ячейка или ждущая правильного ввода? Редактирование все равно не закончено
20 serg-lom89
 
17.10.14
18:44
(18) ну получается что пользователь ввовдит элемент таб части е если он не равен условию то строка пропадает как будто срабатывает ESC
21 Рэйв
 
17.10.14
18:47
(20)Я ж говорю- минимум покусают:-)
22 serg-lom89
 
20.10.14
10:40
(16) вот вопрос еще в том что получается при моем условии если пользоатель не является менеджером у контрагента,то я не могу удалить тогда строку..т.е. строка является открытой на редактирование
23 serg-lom89
 
20.10.14
10:53
апну тему
24 serg-lom89
 
20.10.14
10:54
(22) и я не могу ее удалить не через нажатие кнопки ESC не через Del//строка является открытой на редактирование
25 Enders
 
20.10.14
10:58
(24) Да дай им выбирать только разрешенные для пользователя варианты реквизита и не морочь себе голову.
А так ответ в (2) или в форме "ПередЗаписью" проверяй реквизиты и ругайся, или, если уж так хочется удалять, то в"При изменении"

Если Элемент.Значение не УдовлетворяетУсловию Тогда
ТекСтрока = ЭлементыФормы.Таблица.ТекущиеДанные;
Таблица.Удалить(ТекСтрока);
КонецЕсли;
Код очень примерный)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой