Вход | Регистрация


1С:Предприятие ::

Метки: 

Обход и проверка заполнения табличной части

Я
   prilforreal
 
02.07.18 - 12:46
Доброго дня! Подскажите, волшебники! Что то после вчерашнего футбола тяжко работает голова.
Делаю проверку заполнения ТЧ, но цикл не срабатывает, что не так делаю?

    ТДП=ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Партия;
    Для Каждого СтрТЧ из ТабличнаяЧасть1 Цикл
    Если НЕ ЗначениеЗаполнено(ТДП) Тогда
    Предупреждение ("Запоните партию!");
    Отказ=Истина;
    Возврат;
    КонецЕсли;
    КонецЦикла;
 
  Рекламное место пустует
   mehfk
 
1 - 02.07.18 - 12:49
Все.
   prilforreal
 
2 - 02.07.18 - 12:49
(1) А как вы мне предложите проверку делать?
   PR
 
3 - 02.07.18 - 12:51
Эээммм, ты это, забей сегодня
Ну или вообще забей
Давно такого треша не видел
   VladZ
 
4 - 02.07.18 - 12:52
(0) Не твое это. Займись чем-нибудь другим...
   mehfk
 
5 - 02.07.18 - 12:53
   Greeen
 
6 - 02.07.18 - 12:55
Вот так может взлетит, но это не точно
 

    Для Каждого СтрТЧ из ТабличнаяЧасть1 Цикл
      Если НЕ ЗначениеЗаполнено(СтрТЧ.Партия) Тогда
        Предупреждение ("Запоните партию!");
        Отказ=Истина;
        Возврат;
      КонецЕсли;
    КонецЦикла;
   Numerus Mikhail
 
7 - 02.07.18 - 12:56
Буду подобрее и спрошу, почему в цикле проверяется то, что получено до цикла?
Возможно правильно будет так:
    Если НЕ ЗначениеЗаполнено(Стч.Партия) Тогда
        Предупреждение ("Запоните партию!");
        Отказ=Истина;
        Возврат;
     КонецЕсли;
   prilforreal
 
8 - 02.07.18 - 12:57
(7) Проверка работает, не работает цикл
   prilforreal
 
9 - 02.07.18 - 12:58
Если стою на строке с пустой партией все четко, текущие данные проверяются, идет возврат, если на другой, условие не срабатывает
   Greeen
 
10 - 02.07.18 - 12:59
(8) Уберите тогда цикл (тогда от него толку нет) и дело в шляпе =)
 
 
   prilforreal
 
11 - 02.07.18 - 13:03
(10) Без цикла то же самое, текущие данные это данные выделенной строки, без цикла не уверен что вообще можно проверить все значения, запросом не хочу, все проще должно быть
   PR
 
12 - 02.07.18 - 13:05
(8) Почему не работает? Работает
Сколько строк в ТЧ, столько раз проверяется заполненность партии в текущей строке
Все, как ты и хотел :))
   Малыш Джон
 
13 - 02.07.18 - 13:07
Почему проверка на текущую строку, но она делается в цикле по всем строкам ТЧ? Что в итоге-то проверить нужно?
   PR
 
14 - 02.07.18 - 13:11
(13) Неужели непонятно?
Если у тебя в текущей строке не заполнена партия, а ты уже аж 10 строк в ТЧ забил, то надо 10 раз сказать пользователю, чтобы у него не появилось желания 11-ю забить, прежде чем заполнить партию в незаполненных строках
Представляешь ужас, если ты занес сначала 200 строк, а в одной из них партию не заполнил и случайно на ней запустил проверку?
А вот потому что нефиг так делать
   Малыш Джон
 
15 - 02.07.18 - 13:11
И зачем в цикле проверять? Зачем вообще велосипеды изобретать? Почему нелзя использовать подходящий уже готовый метод?
Если ТабличнаяЧасть1.Найти(Справочники.Партии.ПустаяСсылка(), "Партия")<> Неопределено Тогда

     Предупреждение ("Заполните партию!");
     Отказ=Истина;
КонецЕсли
   Малыш Джон
 
16 - 02.07.18 - 13:11
(14) ну если только пользователя наказать)
   prilforreal
 
17 - 02.07.18 - 13:24
(13) Нужно проверить все строки табличной части на заполненность поля партия, в табличной части может быть от одной до 20 строк, но это редкость, обычно их не больше пяти.
   prilforreal
 
18 - 02.07.18 - 13:25
(14) Проверка в процедуре ОКНажатие
   Numerus Mikhail
 
19 - 02.07.18 - 13:52
(18) ну так и проверяй партию в строке цикла, а не в текущей строке
   prilforreal
 
20 - 02.07.18 - 14:04
(19) Не пойму как это..
   Lexey_
 
21 - 02.07.18 - 14:17
(20) это (6), (7)
   prilforreal
 
22 - 02.07.18 - 14:40
(21) Насколько я понимаю СтрТЧ в (6) это ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока?
   Lexey_
 
23 - 02.07.18 - 14:44
(22) нет
   Малыш Джон
 
24 - 02.07.18 - 14:48
хреново, когда не знаешь точно, чего надо в итоге...
   dezss
 
25 - 02.07.18 - 14:50
(0) мда...
хорошо отметил победу наших?)))
(22) ты в цикле перебираешь строки...все строки...тебе же нужна не только текущую выделенную проверить, но все же?
вот и поступи, как тебе в (6) написали)
   Малыш Джон
 
26 - 02.07.18 - 14:51
(25) :))
а потом прочитать (14), осознать и проникнуться)
   dezss
 
27 - 02.07.18 - 14:55
(26) ну по-хорошему вообще можно было бы ПроверитьЗаполнение() и все....но это же не наш метод...нам же надо что-то писать.
   Wirtuozzz_II
 
28 - 02.07.18 - 15:00
(0) прав был Жданов, что все клетки мозга в туалет с утра стряхнул )))



Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует