Имя: Пароль:
1C
1С v8
Сделать проверку табличной части
0 Штурман
 
14.12.11
09:52
Есть обычная табличная часть, куда просто добавляются необходимые документы.
Пример таблицы:

Номер | Документ


Как сделать проверку: если в табличную часть уже добавили 2 документа, то 3 не разрешено будет добавить.
1 Hostess_
of_Love
 
14.12.11
09:54
Количество()
2 Широкий
 
14.12.11
09:54
Если НайтиСтроки(..).Количество()>2 Тогда
Отказ=Истина;
КонецЕсли;
3 Hostess_
of_Love
 
14.12.11
09:54
(2)чтоб не думал?))
4 Штурман
 
14.12.11
10:00
(2) НайтиСтроки подразумевает отбор

чтоже в отборе прописать?
5 Hostess_
of_Love
 
14.12.11
10:03
(4)в СП не советовать посмотреть?
6 Штурман
 
14.12.11
10:05
(5) смотрели, туманно как то
7 Ненавижу 1С
 
гуру
14.12.11
10:06
(6) тогда закрывай 1с
8 Hostess_
of_Love
 
14.12.11
10:06
Если ТвояТабличнаяЧасть.Количество()>2 Тогда
Отказ=Истина;
КонецЕсли;
9 Hostess_
of_Love
 
14.12.11
10:06
с тебя реальное фото
10 Штурман
 
14.12.11
10:10
(8) так уже писал, работает только когда форму закрываешь...
11 Hostess_
of_Love
 
14.12.11
10:12
как документы добавляешь?
12 Штурман
 
14.12.11
10:14
(11) по кнопке добавить на командной панели

я написал так:

Если ТЗ.Количество()>2 Тогда
Сообщить("бла-бла");
Возврат;
КонецЕсли;

проверка происходит, сообщения выводятся, но документы продолжают добавляться, а мне нужно сделать чтобы не было возможности
13 Hostess_
of_Love
 
14.12.11
10:17
> Отказ=Истина;
и
> Сообщить("бла-бла");
 Возврат;
разницу чуешь?
14 Ненавижу 1С
 
гуру
14.12.11
10:20
а Отказ установить?
15 Штурман
 
14.12.11
10:22
(14) так я же выше написал, что так писал, рельтат такой же, как в (12)
16 Ненавижу 1С
 
гуру
14.12.11
10:23
(15) при чем тут закрывешь форму и событие ПередНачаломДобавления ТП?
17 Штурман
 
14.12.11
10:40
короче сами попробуйте: создайте обработку, на ней табличную часть с командной панелью, и добавляйте туда что ходите, а контроль такой:

Процедура тзРеквизит1ПриИзменении(Элемент)
   
   Если тз.Количество()>2 тогда
       сообщить("123");
       Отказ=Истина;        
   конецЕсли;
   
КонецПроцедуры

так при каждом добавлении нового элемента, большего 2 будет выводится сообщение 123

и добавлять можно сколько хочешь....
18 aleks-id
 
14.12.11
10:42
(17) чукча писатель да?
в (16) русским по белому написано - ПередНачаломДобавления
19 Штурман
 
14.12.11
10:47
(18) а нет такого, тока:

ПриИзменении
НачалоВыбора
НачалоВыбораИзСписка
ОбработкаВыбора

все перепробовал - ничего не пашет
20 aleks-id
 
14.12.11
10:47
версия?
21 Ненавижу 1С
 
гуру
14.12.11
10:48
(19) нет такого ГДЕ?
22 aleks-id
 
14.12.11
10:48
и почему у меня есть?
23 aleks-id
 
14.12.11
10:49
(21) он походу в поле ввода колбасится
24 Wobland
 
14.12.11
10:50
(21) телепатирую: нет в конкретной ячейке ТП
25 petrowsky
 
14.12.11
10:50
(19) события у таб. поля смотри, а не у поля ввода
26 AllJoke
 
14.12.11
10:50
(19) Есть. Только что проверил. А eghfdkztvjt или нет?
27 Штурман
 
14.12.11
10:50
(20) 8,2,13,219
28 AllJoke
 
14.12.11
10:50
+управляемое?
29 Штурман
 
14.12.11
10:51
(23) ага, в самой табличной части значит...
30 aleks-id
 
14.12.11
10:51
(28) та пох. в любом у ТП есть это событие
31 Штурман
 
14.12.11
10:52
(28) обычное
32 Штурман
 
14.12.11
10:52
короче написал так:

Процедура тзПередНачаломДобавления(Элемент, Отказ, Копирование)
   Если тз.Количество()>1 тогда
       сообщить("123");
       Отказ=Истина;        
   конецЕсли;
КонецПроцедуры
33 Штурман
 
14.12.11
10:52
всем спасибо :)
34 Wobland
 
14.12.11
10:53
(33) стой! зачем ТЧ с одной строкой нужна?
35 Штурман
 
14.12.11
10:53
и еще вопрос: а через Структуру аналог (32) можно было бы сделать?
36 Штурман
 
14.12.11
10:54
(34) так если больше 1 это только два, т.е. максимум 2 строки можно добавить, 3 не добавится
37 Штурман
 
14.12.11
10:55
хотя можно так написать: тз.Количество()=2
38 Wobland
 
14.12.11
10:55
(36) нуда. в Перед у нас ещё нет строки
39 Wobland
 
14.12.11
10:56
но это защита только от интерактивного добавления
40 Штурман
 
14.12.11
10:56
(39) ага, чтобы юзер лишнее не добавил