Здравствуйте. Ошибка :{Обработка.ПолучитьДолгКлиентов.Форма.Форма.Форма(27)}: Ошибка при вызове метода контекста (ИзменитьРеквизиты)
    ИзменитьРеквизиты(НовыеРеквизиты);
по причине:
Неуникальное имя реквизита. Имя: "Продукция"

```1c
    &НаКлиенте
    Процедура ПолучитьИнфо(Команда)
    СоздатьТаблицуНаФормеСервера();
    КонецПроцедуры

    &НаСервере
    Процедура ВывестиТаблицуЗначенийВКодеВТаблицуНаФорме(ТабВКоде,ТабРеквизит,ТабНаФорме)

    // реквизит ТабРеквизит и соответствующий
    // ему элемент формы ТабНаФорме уже созданы
    // нами в визуальном режиме

    // 1. добавляем колонки из ТабВкоде в реквизит ТабРеквизит

    НовыеРеквизиты = Новый Массив;

    Для Каждого Колонка Из ТабВКоде.Колонки Цикл
    НовыеРеквизиты.Добавить(
    Новый РеквизитФормы(
    Колонка.Имя, Колонка.ТипЗначения,
    ТабРеквизит
    )
    );
    КонецЦикла;

    ИзменитьРеквизиты(НовыеРеквизиты);

    // 2. добавляем колонки из ТабВКоде в элемент ТабНаФорме

    Для Каждого Колонка Из ТабВКоде.Колонки Цикл

    НовыйЭлемент = Элементы.Добавить(
    ТабРеквизит + "_" + Колонка.Имя, Тип("ПолеФормы"), Элементы[ТабНаФорме]
    );
    НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    НовыйЭлемент.ПутьКДанным = ТабРеквизит + "." + Колонка.Имя;
    КонецЦикла;

    // 3. наконец, передаём данные из ТабВКоде в ТабРеквизит

    ЗначениеВРеквизитФормы(ТабВКоде, ТабРеквизит);

    // готово!

    КонецПроцедуры

    &НаСервере
    Процедура СоздатьТаблицуНаФормеСервера()
    ДатаНачала = Объект.ДатаВыборка;
    Выборка = Документы.РеализацияПродукции.Выбрать(ДатаНачала);
    Пока Выборка.Следующий()Цикл
    Для каждого СтрЗнч Из Выборка.ПрайсЛист Цикл
    ТабВКоде = Новый ТаблицаЗначений;
    ОписаниеСтрока = Новый ОписаниеТипов("Строка");
    ОписаниеЧисло = Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,3));
    ТабВКоде.Колонки.Добавить("Продукция",ОписаниеСтрока,"Продукция");
    ТабВКоде.Колонки.Добавить("Количество",ОписаниеЧисло,"Количество");
    ТабВКоде.Колонки.Добавить("Сумма",ОписаниеЧисло,"Сумма");
    Стр = ТабВКоде.Добавить();
    Стр.Продукция = СтрЗнч.Продукция;
    Стр.Количество = СтрЗнч.Количество;
    Стр.Сумма = СтрЗнч.Сумма;
    ВывестиТаблицуЗначенийВКодеВТаблицуНаФорме(ТабВКоде,"ТабРеквизит1","ТабНаФорме1");
    КонецЦикла;
    КонецЦикла;
    КонецПроцедуры
```
---
```1c
    &НаСервере
    Процедура СоздатьТаблицуНаФормеСервера()
    ДатаНачала = Объект.ДатаВыборка;
    Выборка = Документы.РеализацияПродукции.Выбрать(ДатаНачала);

    ТабВКоде = Новый ТаблицаЗначений;
    ОписаниеСтрока = Новый ОписаниеТипов("Строка");
    ОписаниеЧисло = Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,3));
    ТабВКоде.Колонки.Добавить("Продукция",ОписаниеСтрока,"Продукция");
    ТабВКоде.Колонки.Добавить("Количество",ОписаниеЧисло,"Количество");
    ТабВКоде.Колонки.Добавить("Сумма",ОписаниеЧисло,"Сумма");

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

    ВывестиТаблицуЗначенийВКодеВТаблицуНаФорме(ТабВКоде,"ТабРеквизит1","ТабНаФорме1");
    КонецПроцедуры
```

что-то подобное.
---
а для чего на каждую строку прайса создавать отдельную таблицу значений?
---
А как этот момент исправить? Я просто решил сделать обработку, которая будет проходить по всем по документам, при выборе контрагента, и в таблице будут отображены данные "Продукция/Количество/Сумма".
---
```1c
    &НаСервере
    Процедура СоздатьТаблицуНаФормеСервера()
    ДатаНачала = Объект.ДатаВыборка;
    Выборка = Документы.РеализацияПродукции.Выбрать(ДатаНачала);

    ТабВКоде = Новый ТаблицаЗначений;
    ОписаниеСтрока = Новый ОписаниеТипов("Строка");
    ОписаниеЧисло = Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,3));
    ТабВКоде.Колонки.Добавить("Продукция",ОписаниеСтрока,"Продукция");
    ТабВКоде.Колонки.Добавить("Количество",ОписаниеЧисло,"Количество");
    ТабВКоде.Колонки.Добавить("Сумма",ОписаниеЧисло,"Сумма");

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

    ВывестиТаблицуЗначенийВКодеВТаблицуНаФорме(ТабВКоде,"ТабРеквизит1","ТабНаФорме1");
    КонецПроцедуры
```

что-то подобное.
---
Спасибо))
---
у Вас просто ситуация возникает такая, что на каждую строку прайса Вы делаете новую таблицу значений куда записываете одну строку и потом передаете ее в след. процедуру где добавляете колонки. При первом проходе отрабатывает все нормально, а при следующем возникает ошибка на наличие одинаковых реквизитов. Это как я понял
---
Большое спасибо, Павел.Я буду работать над ошибками и стараться их не создавать вновь!)
---
Я оказывается забыл одну вещь
---
{Обработка.ПолучитьДолгКлиентов.Форма.Форма.Форма(29)}: Ошибка при вызове метода контекста (ИзменитьРеквизиты)
 ИзменитьРеквизиты(НовыеРеквизиты);
по причине:
Неуникальное имя реквизита. Имя: "СсылкаНаДокумент"
При первом использовании отображает данные.
Потом создал кнопку для таблицы значений.
Но эта ошибка не пропадает
---
Добавлять можно только уникальные имена, делайте проверку или не давайте дубли!
---
Если можно поподробнее пожалуйста)
---
тебе же все 1с написала. У тебя два реквизита продукция. Так делать нельзя!
---
Что то я совсем вас не понимаю по поводу двух реквизитов продукции
---
Может сначала перед ИзменитьРеквизиты надо удалить старые?