Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Проверка ТабЧасти на заполненность

Проверка ТабЧасти на заполненность
Я
   jinny84
 
12.05.21 - 20:01
Добрый вечер. Подскажите кто сможет.
Есть реквизит у документа в зависимости от заполненности реквизита табчасти он должен меняться:
Если в табчасти реквизит заполнен во всех строках то должно стоять у реквизита документа "заполнено"
Если реквизит заполнен не во всех строчках то должно стоять "частично заполнено"
 
 Партнерская программа EFSOL Oblako
   ДенисЧ
 
1 - 12.05.21 - 20:18
Про циклы рассказывают на первых уроках программирования...
   jinny84
 
2 - 12.05.21 - 20:25
(1) Циклом проверяю реквизит во если всех строках заполнен, а вот если не во всех, как правильно написать в цикле??
   jinny84
 
3 - 12.05.21 - 20:25
(1) Для Каждого стр из Объект.МТЦ цикл
          Если ЗначениеЗаполнено(стр.Выбор) тогда
              Объект.СтатусЗаявки = ЧастичноВработе();
          КонецЕсли
      КонецЦикла;
   jinny84
 
4 - 12.05.21 - 20:45
Не ужели некто не подскажет)
   GedKo
 
5 - 12.05.21 - 21:08
подсказываю: это не твое. меняй проф.ориентацию.
   FIXXXL
 
6 - 12.05.21 - 21:29
Для Каждого стр из Объект.МТЦ цикл
          Если ЗначениеЗаполнено(стр.Выбор) тогда
              Объект.СтатусЗаявки = ЧастичноВработе();
ИНАЧЕ  Объект.СтатусЗаявки = НЕ ЧастичноВработе(); ПРЕРВАТЬ;
          КонецЕсли
      КонецЦикла;
   jinny84
 
7 - 13.05.21 - 09:12
(5) тебе конечно спасибо) но если сам не знаешь как сделать зачем оскорблять)
   jinny84
 
8 - 13.05.21 - 09:13
(6) Спасибо, но сделал по другому
Вдруг кому поможет:

 ТЗ=Объект.МТЦ.Выгрузить();
     ТЗ.Свернуть("Выбор", );
     Если ТЗ.Количество()=1 Тогда
         Если ЗначениеЗаполнено(ТЗ[0].Выбор) Тогда
             Объект.СтатусЗаявки = ВРаботе();
         Иначе
             Объект.СтатусЗаявки = Перечисления.СтатусЗаявок.НетОтветственных;
         КонецЕсли;
     ИначеЕсли ТЗ.Количество()>1 Тогда
         Объект.СтатусЗаявки = ЧастичноВработе();
     КонецЕсли;
   acht
 
9 - 13.05.21 - 09:15
(8) > сделал по другому
Как будто ты это сам написал, а не скопировал, то что тебе прислали на инфостарте
   jinny84
 
10 - 13.05.21 - 09:16
(9) я этого и не скрывал)
   jinny84
 
11 - 13.05.21 - 09:17
здесь в основном оскорбления, подсказок много))))
   Megas
 
12 - 13.05.21 - 09:47
(8) Чёто сложна.
Можно что то типа:
Если Объект.МТЦ.Найти(<Значение>, "Выбор")) = неопределено тогда
Объект.СтатусЗаявки = ВРаботе();
иначе
Объект.СтатусЗаявки = ЧастичноВработе();
КонецЕсли;

<Значение> - это не заполнено значение должно быть. (пустая ссылка, ложь, неопределено, ну для твоего типа)

Интереснее что быстрее работает?
   Dmitrii
 
13 - 13.05.21 - 09:52
(8) А ты понимаешь, что приведенное решение не соответствует задаче в (0)?
В задаче требуется только два варианта ответа - "заполнено"/"не заполнено".
В решении вариантов три - "заполнено"/"не заполнено"/"частично заполнено".

Если требовалось именно то, что в ответе, то как ты рассчитывал получить правильный ответ, задавая неправильный вопрос?
   lodger
 
14 - 13.05.21 - 09:52
(12) выгрузить и свернуть - 2 цикла.
найти - 1 цикл.

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