helpf.pro
Регистрация

v8.2 УП: дублируются записи строк таблицы значений

SvetaT04
19.04.2012 11:58Прочитано: 4823
Добрый день! Подскажите, пожалуйста, почему дублируются по 2-3 раза записи строк талицы значений?
Код 1C v 8.2 УП
 ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Исполнитель");
ТЗ.Колонки.Добавить("РезультатСогласования");
Пока ВыборкаДетали.Следующий() Цикл
НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.Исполнитель=ВыборкаДетали.Исполнитель;
НоваяСтрока.РезультатСогласования=(ВыборкаДетали.РезультатСогласования);
КолонкиТЗ=ТЗ.Колонки;
Для Каждого ТекущаяСтрока Из ТЗ Цикл
Для Каждого ТекущаяКолонка Из КолонкиТЗ Цикл
ТекЯчейка = ТекущаяСтрока[ТекущаяКолонка.Имя];
КонецЦикла;
КонецЦикла;
Yandex
Возможно, вас также заинтересует
Реклама на портале
Mokey
19.04.2012 12:02Ответ № 1
(0) SvetaT04, Здравствуйте, а что есть ВыборкаДетали?
SvetaT04
19.04.2012 13:19Ответ № 2
Записи дублируются не 2-3 раза - если в таблице значений всего 6 записей, первая запись повторяется 6 раз, вторая - пять и т.д.
ВыборкаДетали - это выбрка из результата запроса, который отбирает результат согласования и исполнителя из бизнес-процесса.
SvetaT04
19.04.2012 13:34Ответ № 3
Нужно перед циклом вставить:
ВыборкаДетали.Сбросить();
Mokey
19.04.2012 13:54Ответ № 4
Код 1C v 8.х
 Для Каждого ТекущаяСтрока Из ТЗ Цикл
Для Каждого ТекущаяКолонка Из КолонкиТЗ Цикл
ТекЯчейка = ТекущаяСтрока[ТекущаяКолонка.Имя];
КонецЦикла;


а вот это для чего организовано внутри формирования таблицы?
попробуйте закомментировать этот кусочек
SvetaT04
25.04.2012 12:33Ответ № 5
Это мое творчество(
Как перебрать записи строк таблицы - если у исполнителя есть положительный результат согласования - на печать не выводить его же отрицательный результат согласования, если только отрицательный - вывести.

Буду рада любым сслыкам и советам.
theelectric
25.04.2012 12:56Ответ № 6
(5) SvetaT04, ну насколько я понял, что вам надо, то вот:
Код 1C v 8.х
 
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Исполнитель");
ТЗ.Колонки.Добавить("РезультатСогласования");

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