В УТ10.3 в таб. часть формы документа "РеализацияТоваровУслуг" добавил колонку "Бонус". В регистр "продажи " тоже добавил колонку для записи значения бонуса, пытаюсь записать его в регистр используя подписку на событие и общий модуль (Код №1), так все работает, но при проведении создается дополнительная строчка в регистре, и это не правильно мне говорят, пытаюсь сделать что то типо такого (Код №2), но как получить значение табличной части "Товары" не знаю, подскажите если не трудно

```1c
    Код№1
    Процедура ОбработкаПроведения(Объект, Отказ, РежимПроведения) Экспорт
    Объект.Движения.Продажи.Записывать = Истина;
    Движение = Объект.Движения.Продажи.Добавить();
    Движение.Стоимость = Объект.СуммаДокумента;
    Движение.Период = Объект.Дата;
    Движение.Подразделение = Объект.Подразделение;
    Движение.Проект = Объект.Проект;
    Движение.Организация = Объект.Организация;
    Движение.Контрагент = Объект.Контрагент;
    Движение.Бонус_Добавленно = Объект.Товары.Итог("Бонус_Добавленно");
    Движение.Продавец_Добавленно = Объект.Ответственный;
    Движение.Стоимость = Объект.СуммаДокумента;
    КонецПроцедуры

    Код№2
    Процедура ОбработкаПроведения(Объект, Отказ, РежимПроведения) Экспорт
    Регистратор=Объект.Ссылка;
    НаборЗаписей=РегистрыНакопления.Продажи.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Регистратор);
    НаборЗаписей.Прочитать();
    Для каждого Запись из НаборЗаписей Цикл
    Запись.Бонус_Добавленно=Объект.Товары.Бонус_Добавленно;
    КонецЦикла;
    КонецЦикла;
    НаборЗаписей.Записать();
    КонецПроцедуры
```
---
Что значит не принимает: Ошибка возникает? Данные не те, что вы ожидаете?
По алгоритму приведенному в (23) у вас во всех записях, по идее, будет значение скидки последней строки документа.
---
"но как получить значение табличной части "Товары" не знаю" что Вы имеете ввиду?
---
в коде №2 есть строчка "Запись.Бонус_Добавленно=Объект.Товары.Бонус_Добавленно; " пытаюсь из табличной части Товары взять значение бонуса(Бонус_Добавленно), но как то неправлено это делаю и в отладке значение Бонус_Добавленно недоступно
---
Какой тип у параметра Объект? Если это ссылка на документ, то выбирайте запросом данные ТЧ по этой ссылке. Если это ДокументОбъект, либо берите из него данные, либо снова запросом с отборм по Объект.Ссылка
---
Посмотрите на код№2 "Запись.Бонус_Добавленно=Объект.Товары.Бонус_Добавленно;" вроде бы в этой строчке пытаюсь взять данные табличной части товары, но не доступны они, ка правельно обратится к Бонус_Добавленно?
---
Еще раз: Какой тип у параметра Объект?
---
Параметр - ДокументОбъект.РеализацияТоваровУслуг
---
В коде № 2 вы обращаетесь к ТЧ объекта, у ТЧ нет реквизита Бонус_Добавленно
У ТЧ Есть строки, вам надо перебрать строки или обратится к строке ТЧ по номеру и уже в строке ТЧ Будет добавленное вами поле Бонус_Добавленно и оно бужет содержать значение

НомерСтроки = 0;
Запись.Бонус_Добавленно = Объект.Товары[НомерСтроки].Бонус_Добавленно;
---
так, к сожалению не работает, я пытаюсь наг@внокодить хоть как то запихнув значение табличной части бонус "Строка.Бонус_Добавленно" в значение строк регистра "Запись.Бонус_Добавленно", но и это не работает.....

```1c
    Процедура ОбработкаПроведения(Объект, Отказ, РежимПроведения) Экспорт
    Регистратор=Объект.Ссылка;
    НаборЗаписей=РегистрыНакопления.Продажи.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Регистратор);
    НаборЗаписей.Прочитать();
    ЗначениеБонуса =0;
    Для каждого Строка из Объект.Товары Цикл
    ЗначениеБонуса=Строка.Бонус_Добавленно;
    Для каждого Запись из НаборЗаписей Цикл
    Запись.Бонус_Добавленно=ЗначениеБонуса;
    КонецЦикла;
    КонецЦикла;
    НаборЗаписей.Записать();
    КонецПроцедуры
```
---
Что именно не работает?
---
Запись.Бонус_Добавленно=ЗначениеБонуса;

 "Запись.Бонус_Добавленно" не принимает значение от "ЗначениеБонуса" хотя они оба имеют значение число
---
Что значит не принимает: Ошибка возникает? Данные не те, что вы ожидаете?
По алгоритму приведенному в (23) у вас во всех записях, по идее, будет значение скидки последней строки документа.
---
а да, действительно.... ладно, забью на это))
---
Вы хотите писать туда итог по ТЧ или для каждой номенклатуры свой бонус?
---
Сначала делал как итог, но когда сказали что мой первый вариант не правильный, решил по каждой номенклатуре отдельно
---
```1c
    //надо обходить строки в цикле, и у каждой строки будет свое значение:
    Для Каждого СтрокаТЧ Из Объект.Товары
    Запись.Бонус_Добавленно = СтрокаТЧ.Бонус_Добавленно;
    КонецЦикла;
```
---
Правильно и сточке зрения работы и обновления сделать так:
1. Подписка.
2. Код взять из документа и в код добавить колонку которую необходимо вычислить.
3. Очистить исходную таблицу и записать свои данные полученные из п 2.
---
я пробовал так но не совсем понятно какие реквизиты регистр соответствуют какие реквизитам Документа реализации ,например что указывать в ресурсе "Стоимость" и "СтоимостьБезскидки"? Она ведь как то рассчитывается
---
я пробовал делать так, но не всегда понятно какие реквизиты регистра сопоставлять с какими реквизитами документа. Например, что указать в стоимость и в стоимость без скидки, стоимость ведь как то рассчитывается, включая разные скидки
---
поэтому я и написал что код взять из документа. Где за тебя все подумали.
---
Этот код еще бы найти... В обработке проведения есть такая строчка, но в ней нет регистра продаж

```1c
    ДвиженияПоРегистрам(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоСкидкам, ТаблицаПоТаре,
    ТаблицаПоУслугам, ТаблицаПоВзаиморасчетам, ТаблицаПоРасчетам, Отказ, Заголовок);
```
---
а здесь смотрел ДвиженияПоРегистрамУпр
---
(18) а здесь смотрел ДвиженияПоРегистрамУпр а в самой процедуре ДвиженияПоРегистрамУпр куда нужно смотреть, укажите пожалуйста, если не в тягость, просто очень важно решить
---
могу скинуть код процедуры ДвиженияПоРегистрамУпр
---
я бы и хотел так сделать
---
Я могу ошибаться но мне кажется если имя новой колонке = реквизиту в регистре то работать должно без доработок.