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