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

печать области с условием

печать области с условием
Я
   cvrnvge
 
23.06.20 - 13:26
Привет! Нужно печатать текст, если у Номенклатура.Реквизит = НужноеЗначение, если НенужноеЗначение, то пустой реквизит, значения всего 2, в заказе может быть номенклатура и с тем и с тем реквизитом, как проверить, что в ТЧ только НужноеЗначение и тогда печатать и если есть Ненужное, то печатать не нужно

Если ДанныеПечати.Ссылка.Товары[0].Номенклатура.Реквизит1 = НужноеЗначение тогда

ОбластьМакета.Параметры.Параметр = "Нужный текст";

Иначе

ОбластьМакета.Параметры.Параметр = " ";

КонецЕсли

Но это проверяется только 1ая строка, как проверить все строки и если есть НеНужное, то не печатать текст ?
   ДенисЧ
 
1 - 23.06.20 - 13:27
Циклы для кого придумали?
   cvrnvge
 
2 - 23.06.20 - 13:29
(1) ну, я не совсем пойму как тут правильно проверять
   Kigo_Kigo
 
3 - 23.06.20 - 13:29
(1) Зачем? мы первое проверим и решим, нужное это или не нужное )))
   cvrnvge
 
4 - 23.06.20 - 13:31
(3) (1) Да я понимаю, что Т обойти надо, но как условие написать, что если есть в ТЧ НужноеЗначение и НеНужное, то текст не нужен, если есть только НеНужное, то не нужен и если есть только Нужное, то текст нужен
   dka80
 
5 - 23.06.20 - 13:36
НуженТекст = Истина;
Для Каждого Строка Из ДанныеПечати.Ссылка.Товары Цикл
НуженТекст =НуженТекст  И Строка.Номенклатура.Реквизит1=НужноеЗначение (вот тут за Номенклатура.Реквизит1 некоторые могут начать кидаться ссаными тряпками, но мне как-то пох в рамках данной задачи)
КонецЦикла;
Если НуженТекст Тогда 
ОбластьМакета.Параметры.Параметр = "Нужный текст"; 
КонецЕсли;
   Kigo_Kigo
 
6 - 23.06.20 - 13:37
Для СтрокаТЧ из ДанныеПечати.Ссылка.Товары Цикл

Если СтрокаТЧ .Номенклатура.Реквизит1 = НужноеЗначение тогда

ОбластьМакета.Параметры.Параметр = "Нужный текст";

Иначе

ОбластьМакета.Параметры.Параметр = " ";

КонецЕсли
КонецЦикла;
   Kigo_Kigo
 
7 - 23.06.20 - 13:38
(5) опередил), а для "Каждого" забыл))
   dka80
 
8 - 23.06.20 - 13:39
(6) не пойдет. Текст нужно выводить только если ВО ВСЕХ строках нужное значение, если я правильно понял (4)
   cvrnvge
 
9 - 23.06.20 - 13:39
(6) а если СтрокаТЧ.Номенклатура.Реквизит1 = НужноеЗначение
а следующая строка будет Реквизит1 = НенужноеЗначение, то он всё равно же напечатает
   Kigo_Kigo
 
10 - 23.06.20 - 13:42
(9) а ты не догоняешь, что после этого область макета надо все таки вывести? что бы ее обнулить?
   cvrnvge
 
11 - 23.06.20 - 13:43
(10) видимо не догоняю
   cvrnvge
 
12 - 23.06.20 - 13:46
(10) поможешь догнать? Я так и не понял что мне нужно сделать
   dka80
 
13 - 23.06.20 - 13:46
(10) нужно сам макет видеть. Я исходил из того, что у него область макета выводится один раз, а не несколько
   cvrnvge
 
14 - 23.06.20 - 13:47
(13) сча попробую
   cvrnvge
 
15 - 23.06.20 - 13:54
(5) большое спасибо
   Kigo_Kigo
 
16 - 23.06.20 - 13:54
ТабДокумент.Вывести(ОбластьМакета);
   cvrnvge
 
17 - 23.06.20 - 13:56
(16) это к чему? у меня область и так выводится в любом случае, мне только заполнение параметра
   Kigo_Kigo
 
18 - 23.06.20 - 14:11
Ну вообще в подобных случаях область выводится поэтапно
Шапка

СтрокаТЧ
СтрокаТЧ
СтрокаТЧ
СтрокаТЧ  и т.д, до конца ТЧ

Подвал
   trooba
 
19 - 23.06.20 - 15:09
(0) Читай НайтиСтроки()

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