|   |   | 
| 
 | Обход и проверка заполнения табличной части | ☑ | ||
|---|---|---|---|---|
| 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) прав был Жданов, что все клетки мозга в туалет с утра стряхнул )))     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |