|
Обход и проверка заполнения табличной части | ☑ | ||
---|---|---|---|---|
0
prilforreal
02.07.18
✎
12:46
|
Доброго дня! Подскажите, волшебники! Что то после вчерашнего футбола тяжко работает голова.
Делаю проверку заполнения ТЧ, но цикл не срабатывает, что не так делаю? ТДП=ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Партия; Для Каждого СтрТЧ из ТабличнаяЧасть1 Цикл Если НЕ ЗначениеЗаполнено(ТДП) Тогда Предупреждение ("Запоните партию!"); Отказ=Истина; Возврат; КонецЕсли; КонецЦикла; |
|||
1
mehfk
02.07.18
✎
12:49
|
Все.
|
|||
2
prilforreal
02.07.18
✎
12:49
|
(1) А как вы мне предложите проверку делать?
|
|||
3
PR
02.07.18
✎
12:51
|
Эээммм, ты это, забей сегодня
Ну или вообще забей Давно такого треша не видел |
|||
4
VladZ
02.07.18
✎
12:52
|
(0) Не твое это. Займись чем-нибудь другим...
|
|||
5
mehfk
02.07.18
✎
12:53
|
||||
6
Greeen
02.07.18
✎
12:55
|
Вот так может взлетит, но это не точно
Для Каждого СтрТЧ из ТабличнаяЧасть1 Цикл Если НЕ ЗначениеЗаполнено(СтрТЧ.Партия) Тогда Предупреждение ("Запоните партию!"); Отказ=Истина; Возврат; КонецЕсли; КонецЦикла; |
|||
7
Numerus Mikhail
02.07.18
✎
12:56
|
Буду подобрее и спрошу, почему в цикле проверяется то, что получено до цикла?
Возможно правильно будет так: Если НЕ ЗначениеЗаполнено(Стч.Партия) Тогда Предупреждение ("Запоните партию!"); Отказ=Истина; Возврат; КонецЕсли; |
|||
8
prilforreal
02.07.18
✎
12:57
|
(7) Проверка работает, не работает цикл
|
|||
9
prilforreal
02.07.18
✎
12:58
|
Если стою на строке с пустой партией все четко, текущие данные проверяются, идет возврат, если на другой, условие не срабатывает
|
|||
10
Greeen
02.07.18
✎
12:59
|
(8) Уберите тогда цикл (тогда от него толку нет) и дело в шляпе =)
|
|||
11
prilforreal
02.07.18
✎
13:03
|
(10) Без цикла то же самое, текущие данные это данные выделенной строки, без цикла не уверен что вообще можно проверить все значения, запросом не хочу, все проще должно быть
|
|||
12
PR
02.07.18
✎
13:05
|
(8) Почему не работает? Работает
Сколько строк в ТЧ, столько раз проверяется заполненность партии в текущей строке Все, как ты и хотел :)) |
|||
13
Малыш Джон
02.07.18
✎
13:07
|
Почему проверка на текущую строку, но она делается в цикле по всем строкам ТЧ? Что в итоге-то проверить нужно?
|
|||
14
PR
02.07.18
✎
13:11
|
(13) Неужели непонятно?
Если у тебя в текущей строке не заполнена партия, а ты уже аж 10 строк в ТЧ забил, то надо 10 раз сказать пользователю, чтобы у него не появилось желания 11-ю забить, прежде чем заполнить партию в незаполненных строках Представляешь ужас, если ты занес сначала 200 строк, а в одной из них партию не заполнил и случайно на ней запустил проверку? А вот потому что нефиг так делать |
|||
15
Малыш Джон
02.07.18
✎
13:11
|
И зачем в цикле проверять? Зачем вообще велосипеды изобретать? Почему нелзя использовать подходящий уже готовый метод?
Если ТабличнаяЧасть1.Найти(Справочники.Партии.ПустаяСсылка(), "Партия")<> Неопределено Тогда Предупреждение ("Заполните партию!"); Отказ=Истина; КонецЕсли |
|||
16
Малыш Джон
02.07.18
✎
13:11
|
(14) ну если только пользователя наказать)
|
|||
17
prilforreal
02.07.18
✎
13:24
|
(13) Нужно проверить все строки табличной части на заполненность поля партия, в табличной части может быть от одной до 20 строк, но это редкость, обычно их не больше пяти.
|
|||
18
prilforreal
02.07.18
✎
13:25
|
(14) Проверка в процедуре ОКНажатие
|
|||
19
Numerus Mikhail
02.07.18
✎
13:52
|
(18) ну так и проверяй партию в строке цикла, а не в текущей строке
|
|||
20
prilforreal
02.07.18
✎
14:04
|
(19) Не пойму как это..
|
|||
21
Lexey_
02.07.18
✎
14:17
|
(20) это (6), (7)
|
|||
22
prilforreal
02.07.18
✎
14:40
|
(21) Насколько я понимаю СтрТЧ в (6) это ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока?
|
|||
23
Lexey_
02.07.18
✎
14:44
|
(22) нет
|
|||
24
Малыш Джон
02.07.18
✎
14:48
|
хреново, когда не знаешь точно, чего надо в итоге...
|
|||
25
dezss
02.07.18
✎
14:50
|
(0) мда...
хорошо отметил победу наших?))) (22) ты в цикле перебираешь строки...все строки...тебе же нужна не только текущую выделенную проверить, но все же? вот и поступи, как тебе в (6) написали) |
|||
26
Малыш Джон
02.07.18
✎
14:51
|
(25) :))
а потом прочитать (14), осознать и проникнуться) |
|||
27
dezss
02.07.18
✎
14:55
|
(26) ну по-хорошему вообще можно было бы ПроверитьЗаполнение() и все....но это же не наш метод...нам же надо что-то писать.
|
|||
28
Wirtuozzz_II
02.07.18
✎
15:00
|
(0) прав был Жданов, что все клетки мозга в туалет с утра стряхнул )))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |