Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 08:27

Игнорирование пустой строки при Цикле

Автор Ekaterina20, 01 дек 2015, 15:43

0 Пользователей и 1 гость просматривают эту тему.

Ekaterina20

Ребят,помогите,пожалуйста!
При прохождении Цикла по Таблице в ней встречаются пустые строки. Как правильно задать условие Если ...Тогда, чтобы эти строки пропускались и не включались в ТЗ?

Пустовалов Артем

Цитата: Ekaterina20 от 01 дек 2015, 15:43
Ребят,помогите,пожалуйста!
При прохождении Цикла по Таблице в ней встречаются пустые строки. Как правильно задать условие Если ...Тогда, чтобы эти строки пропускались и не включались в ТЗ?

Если не ошибаюсь)

Если СтрокаТаблицы = неопределено тогда
      Иначе СтрокаТаблицы = СтрокаТЗ;
       КонецЕсли

Vladimir_Sh

Ekaterina20, определитесь по какой колонке будете проверять что строка является пустой. После этого
Если Не ЗначениеЗаполнено(Строка.<Поле>) Тогда
    Продолжить; //передает управление в начало цикла на новую итерацию
КонецЕсли;

Можно заменить проверку на заполнение как Вам более удобно.
Если я Вам помог, нажми - Спасибо!

Ekaterina20

ЦитироватьПока ВыборкаДетальныеЗаписи.Следующий() Цикл
      ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
      Если Не ЗначениеЗаполнено(Строка.НомерВызываемогоАбонента) Тогда   
      ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
      Продолжить;
      КонецЕсли;
   КонецЦикла;

Пишет,что  Переменная не определена (Строка)

Vladimir_Sh

;)Простите но адаптация так себе. Правильно будет вот так.
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
    Если Не ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.НомерВызываемогоАбонента) Тогда   
      ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
      Продолжить;
    КонецЕсли;
КонецЦикла;
Если я Вам помог, нажми - Спасибо!

Ekaterina20

Получилось,спасибо!
Добавлено: 02 дек 2015, 10:00


Еще такое дело. Нужно чтобы при выводе уже готовой таблицы после Выгрузки,строки нумеровались по порядку, не могу понять как осуществить.

Макет = ОтчетОбъект.ПолучитьМакет("СовершенныеЗвонки");
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   R_Связь.НомерВызываемогоАбонента,
   |   ПРЕДСТАВЛЕНИЕ(R_Связь.НомерВызываемогоАбонента),
   |   ПОДСТРОКА(R_Связь.НомерВызываемогоАбонента.Наименование, 1, 4) КАК Код,
   |   R_Связь.ДлительностьЗвонка
   |ИЗ
   |   РегистрСведений.R_Связь КАК R_Связь
   |ГДЕ
   |   R_Связь.Регистратор.Дата МЕЖДУ &ДатаН И &ДатаК";

   Запрос.УстановитьПараметр("ДатаК", КонецДня(ДатаК));
   Запрос.УстановитьПараметр("ДатаН", НачалоДня(ДатаН));

   Результат = Запрос.Выполнить();

   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
   ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
   ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
   ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

   ТабДок.Очистить();
   ТабДок.Вывести(ОбластьЗаголовок);
   ТабДок.Вывести(ОбластьШапкаТаблицы);
   //ТабДок.НачатьАвтогруппировкуСтрок();

   ВыборкаДетальныеЗаписи = Результат.Выгрузить();
   ВыборкаДетальныеЗаписи.Свернуть("Код","ДлительностьЗвонка");
   
   //Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
   Для каждого стр Из ВыборкаДетальныеЗаписи Цикл
      
   ОбластьДетальныхЗаписей.Параметры.Заполнить(стр);
   Если ЗначениеЗаполнено(стр.Код)Тогда
   ТабДок.Вывести(ОбластьДетальныхЗаписей);
    Продолжить;
   КонецЕсли;
   КонецЦикла;
       
   //   ТабДок.ЗакончитьАвтогруппировкуСтрок();
   ТабДок.Вывести(ОбластьПодвалТаблицы);
   ТабДок.Вывести(ОбластьПодвал);

дфтын

Может вам все таки книжек почитать ?
У строки таблицы значения есть поле - номер строки. которое вы прекрасно можете посмотреть в отладчике. следовательно выводите ТЗ.НомерСтроки - это и будет порядковый номер.

Ekaterina20

Я бы с радостью,но они все основаны на конфигурации. Может подскажите по Синтаксу что нить.

дфтын

http://v8.1c.ru/metod/books/#lt1

надо куда то в шапку форума эту ссылку прикрепить...

начните с:
1С:Предприятие 8.3. Версия для обучения программированию (артикул 4601546109996)


Ekaterina20

Еще такое дело. Нужно чтобы при выводе уже готовой таблицы после Выгрузки,строки нумеровались по порядку, не могу понять как осуществить.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск