Имя: Пароль:
1C
1С v8
Заполняется вся колонка ТЗ при заполнении последней строки
0 Игорь_МММ
 
01.02.16
00:01
собственно такой вот код: проще говоря мне нужна колонка со строчным видом реквизита.
Для Каждого Строка Из ТЗСпециф Цикл
        ТЗПозицииСтрока.Очистить();
        Для Каждого СтрПозиции Из Строка.Позиции Цикл
            НовСтрока = ТЗПозицииСтрока.Добавить();
            НовСтрока.Позиция = Строка(СтрПозиции.Позиция)+"_"+ Строка(СсылкаНаСпецификацию.Наименование);
        КонецЦикла;
        Строка.ПозицииСтрока = ТЗПозицииСтрока;
        а=0;
    КонецЦикла;
все произходит четко, кроме одного:запись во вторую строку непонятным образом записывает теже данные (второй строки) в первую, запись в третью записывает в первую и во вторую и тд. В итоге все строки заполнены одним и темже значением - последним введенным. В чем может быть причина?
1 Игорь_МММ
 
01.02.16
00:17
Помогло так:
Для Каждого Строка Из ТЗСпециф Цикл
        ТЗПозицииСтрока = Новый ТаблицаЗначений;
        ТЗПозицииСтрока.Колонки.Добавить("Позиция", Новый ОписаниеТипов("Строка"));
        Для Каждого СтрПозиции Из Строка.Позиции Цикл
            НовСтрока = ТЗПозицииСтрока.Добавить();
            НовСтрока.Позиция = Строка(СтрПозиции.Позиция)+"_"+ Строка(СсылкаНаСпецификацию.Наименование);
        КонецЦикла;
        Строка.ПозицииСтрока = ТЗПозицииСтрока;
        а=0;
    КонецЦикла;
то есть вместо очистить заново создать, а так получалось что таблица одна и таже, записывается видимо просто ссылка на нее
2 cw014
 
01.02.16
07:24
Потому что ТЗПозицииСтрока.Очистить() не создает экземлпляр новой таблицы, а использует старую. Соответственно ссылки в предыдущих строках на эту таблицу не меняются и программа думает, что это одна и та же таблица