Добрый день,уважаемые форумчане!
Есть обработка,которая создает документ реализация,но он не проводится даже при программном проставлении соглашения, т.к. валюта в документе не заполняется. Не подскажите решение?
---
налогообложение не есть ставка
а не заполняется, потому что в структуре действий нет "ЗаполнитьСтавкуНДС"
ее надо вставить перед "ПересчитатьСуммуНДС"
---
"НовыйДокумент.НалогообложениеНДС = Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС;" - сами же ставите, что документ без ндс, значит надо ставку заполнять ручками, например "БезНДС"

что за Оплата имеется в виду?
если график оплаты, то выше давал пример заполнения по соглашению и без
---
нужно видеть код вашей обработки с формированием документа чтобы проще было объяснить.
---
```1c
    &НаСервере
    Процедура СоздатьДокументНаСервере()
    Попытка
    НовыйДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
    НовыйДокумент.Дата = ТекущаяДата();
    НовыйДокумент.Контрагент = Контрагент;
    НовыйДокумент.Партнер = Клиент;
    НовыйДокумент.Соглашение = Соглашение;
    НовыйДокумент.Склад = Склад;
    НовыйДокумент.Организация = Организация;
    НовыйДокумент.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту;
    НовыйДокумент.Валюта = Справочники.Валюты.НайтиПоНаименованию("руб_");
    //НовыйДокумент.СуммаДокумента = Справочники.Валюты.НайтиПоНаименованию("руб_");
    НовыйДокумент.ВалютаВзаиморасчетов = Справочники.Валюты.НайтиПоНаименованию("руб_");
    НовыйДокумент.ЦенаВключаетНДС = Истина;
    НовыйДокумент.НалогообложениеНДС = Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС;
    Для Каждого Строка Из Таблица Цикл
    НоваяСтрока = НовыйДокумент.Товары.Добавить();
    НоваяСтрока.Номенклатура = НайтиНоменклатуру(Строка.Номенклатура);
    НоваяСтрока.КоличествоУпаковок = Строка.Количество;
    НоваяСтрока.Количество = Строка.Количество;
    НоваяСтрока.ВидЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Крафт");
    КонецЦикла;
    НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
    Сообщить("Документ по контрагенту "+Контрагент+" успешно создан");
    Исключение
    НовыйДокумент.Записать();
    Сообщить("НЕ УДАЛОСЬ создать документ по контрагенту "+Контрагент);
    КонецПопытки;
    КонецПроцедуры
```

Смог проставить валю.ту,но теперь проблема, цена не проставляется по виду цены...
---
можно с помощью процедуры ОбработатьСтрокуТЧ() в общем модуле ОбработкаТабличнойЧастиСервер.
---
А что делает обработатьСтроку?
---
Просто у меня вот такая картина
---
просто указав вид цены не работает
надо вызывать расчет цен по соглашению или по виду цен

типа такого, в цикле заполнения товаров

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

    лКэшированныеЗначения = Неопределено;
    ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(лНоваяСтрока, СтруктураДействий, лКэшированныеЗначения);
```

и в конце, перед записью документа еще вызывать расчет сумм и налогов, примерно так

```1c
    лДокумент.СкидкиРассчитаны = истина;

    СтруктураДействий = Новый Структура;

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

    ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(лДокумент.Товары, СтруктураДействий, Неопределено);
```

а еще надо заполнить график этапов оплаты (если требуется по вашему процессу, но обычно требуется), примерно так

```1c
    // заполним этапы графика оплаты
    СуммаЗаказано = лДокумент.Товары.Итог("Сумма")+ лДокумент.Товары.Итог("СуммаНДС");
    лДокумент.СуммаДокумента = СуммаЗаказано;

    лДокумент.ГрафикОплаты = лДокумент.Соглашение.ГрафикОплаты;
    лДокумент.ФормаОплаты = лДокумент.ГрафикОплаты.ФормаОплаты;

    ГрафикСоглашенияЗаполнен = ПродажиВызовСервера.ГрафикСоглашенияЗаполнен(лДокумент.Соглашение);
    ГрафикЗаполнен = ЗначениеЗаполнено(лДокумент.ГрафикОплаты);
    Если ГрафикЗаполнен Тогда

    ЭтапыОплатыСервер.ЗаполнитьЭтапыОплатыДокументаПродажи(лДокумент,
    ГрафикСоглашенияЗаполнен,
    ГрафикЗаполнен,
    СуммаЗаказано,
    0);
    Иначе
    // дописываем вариант графика оплаты по соглашению
    Для каждого СтрокаЭтапа из лДокумент.Соглашение.ЭтапыГрафикаОплаты цикл
    лГрафик = лДокумент.ЭтапыГрафикаОплаты.Добавить();
    лГрафик.ВариантОплаты = СтрокаЭтапа.ВариантОплаты;
    лГрафик.ДатаПлатежа = лДокумент.ЖелаемаяДатаОтгрузки + 3600*24*СтрокаЭтапа.Сдвиг;
    лГрафик.ПроцентПлатежа = СтрокаЭтапа.ПроцентПлатежа;
    лГрафик.СуммаПлатежа = СуммаЗаказано;
    КонецЦикла;
    КонецЕсли;

    Если лДокумент.ЭтапыГрафикаОплаты.Количество()=0 Тогда
    // дописываем вариант графика оплаты по умолчанию
    лГрафик = лДокумент.ЭтапыГрафикаОплаты.Добавить();
    лГрафик.ВариантОплаты = Перечисления.ВариантыОплатыКлиентом.КредитПослеОтгрузки;
    лГрафик.ДатаПлатежа = лДокумент.ЖелаемаяДатаОтгрузки;
    лГрафик.ПроцентПлатежа = 100;
    лГрафик.СуммаПлатежа = СуммаЗаказано;
    КонецЕсли;
```
---
лДокумент.СкидкиРассчитаны = истина;

СтруктураДействий = Новый Структура;

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

ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(лДокумент.Товары, СтруктураДействий, Неопределено);
Теперь цены заполнются,но сумма все так же пустая
---
лДокумент.СкидкиРассчитаны = истина;

СтруктураДействий = Новый Структура;

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

ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(лДокумент.Товары, СтруктураДействий, Неопределено);
---
Скрыть
Вторая функция не работает(
Не рассчитывает сумму
---
смотрите на вызовы
ищите их в коде конфигурации и смотрите на структуру передаваемых параметров
в разных релизах УТ 11 они разные, я же дал пример, а не готовое решение

а вызовы всех этих пересчетов можно найти прямо в самом документе, например, перейдя по событию ПриИзмении для Номенклатуры в ТЧ
там и найдете все, как нужно выполнить для вашего релиза
---
Да,но у меня создание документа происходит на сервере.А там функции клиентские

```1c
    &НаКлиенте
    Процедура ТоварыЦенаПриИзменении(Элемент)

    ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;

    СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);

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

    ПродажиКлиентСервер.РассчитатьИтоговыеПоказателиРеализации(ЭтаФорма);
    СкидкиНаценкиКлиент.СброситьФлагСкидкиРассчитаны(ЭтаФорма);

    КонецПроцедуры
```
---
ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ

если пройти дальше, то окажется что вызывается ОбработкаТабличнойЧастиКлиентСервер - а это уже на сервере
т.ч. нужно всего лишь исключить клиентскую часть, перенеся заполнение структуры действия в вашу обработку и вызвав ОбработкаТабличнойЧастиКлиент.Что-то там что вызывает ОбработатьСтрокуТЧ на сервере
---
вот как у меня для УТ 11.4

```1c
    // выполним пересчет сумм документа
    СтруктураДействий = Новый Структура;

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

    ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(лДокумент.Товары, СтруктураДействий, Неопределено);
```

точнее вызовы нужно смотреть в конкретный релиз, что у вас
---
ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(лДокумент.Товары, СтруктураДействий, Неопределено);
Управление торговлей, редакция 11 (11.4.13.282) (http://v8.1c.ru/trade/)
Copyright © ООО "1С-Софт", 2003-2018. Все права защищены
(http://www.1c.ru)

```1c

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

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

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

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

    ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(НовыйДокумент.Товары, СтруктураДействий, Неопределено);
    НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
    Сообщить("Документ по контрагенту "+Контрагент+" успешно создан");
    Исключение
    НовыйДокумент.Записать();
    Сообщить("НЕ УДАЛОСЬ создать документ по контрагенту "+Контрагент);
    КонецПопытки;
```

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

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

    ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(НоваяСтрока, СтруктураДействий, лКэшированныеЗначения);

    //НоваяСтрока.Сумма = НоваяСтрока.Цена*НоваяСтрока.Количество;
    //НоваяСтрока.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
    // выполним пересчет сумм документа

    //СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(НовыйДокумент);
    //СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС", Новый Структура("НалогообложениеНДС, Дата, ПоДатеОтгрузки", НовыйДокумент.НалогообложениеНДС, НовыйДокумент.Дата, Истина));
    //СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
    //СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
    //СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
    //СтруктураДействий.Вставить("ПересчитатьСумму");
    //СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомРучнойСкидки", Новый Структура("Очищать", Ложь));
    //СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомАвтоматическойСкидки", Новый Структура("Очищать", Истина));
    //
    //ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(НовыйДокумент.Товары, СтруктураДействий, Неопределено);
    КонецЦикла;
    НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
    Сообщить("Документ по контрагенту "+Контрагент+" успешно создан");
    Исключение
    НовыйДокумент.Записать();
    Сообщить("НЕ УДАЛОСЬ создать документ по контрагенту "+Контрагент);
    КонецПопытки;
```
---
так и в чем сейчас проблема наблюдается?
вроде все заполнено и рассчитано
---
только вот у меня должно быть 29 позиций,а не 1(
---
в цикле заполнения ТЧ проблема, в отладчике прогоняли, смотрели то и как заполняется в цикле?
---
после первого прохода выходит из цикла
---
значит в Таблица всего одна строка
или вылетает в исключение, смотреть в отладке нужно по всем пунктам формирования ТЧ
---
нет в таблице 29 строк
---
добавил Попытка,все заработало...
---
Только вот теперь проблема в заполнении оплаты и почему то ставка ндс не заполнена,хотя налогообложение у меня заполнено.
---
налогообложение не есть ставка
а не заполняется, потому что в структуре действий нет "ЗаполнитьСтавкуНДС"
ее надо вставить перед "ПересчитатьСуммуНДС"
---
Понятно)А не подскажите как заполнить поле Оплаты?В реквизитах не нашел.
---
Когда я это ставлю у меня не рассчитываются суммы
---
```1c
    НовыйДокумент.НалогообложениеНДС = Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС;
    СтруктураДействий = Новый Структура;
    СтруктураДействий.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
    СтруктураДействий.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));
    СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС",
    Новый Структура("НалогообложениеНДС, Дата", НовыйДокумент.НалогообложениеНДС, НовыйДокумент.Дата));
    СтруктураДействий.Вставить("ЗаполнитьКодТНВЭД", НовыйДокумент.НалогообложениеНДС);
    СтруктураДействий.Вставить("ЗаполнитьСтавкуНДСВозвратнойТары", НовыйДокумент.ВернутьМногооборотнуюТару);
    СтруктураДействий.Вставить("ЗаполнитьПризнакБезВозвратнойТары", НовыйДокумент.ВернутьМногооборотнуюТару);
    СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
    СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
    СтруктураДействий.Вставить("ОчиститьСуммуВзаиморасчетов");

    ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(НовыйДокумент.Товары, СтруктураДействий, Неопределено);
```

Поставил,все равно не заполняется
---
ЗаполнитьСтавкуНДС

```1c
    СтруктураДействий = Новый Структура;
    СтруктураДействий.Вставить("ЗаполнитьЦенуПродажи", ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияЦеныВСтрокеТЧ(НовыйДокумент));
    лКэшированныеЗначения = Неопределено;
    СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(НовыйДокумент);
    СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
    СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
    СтруктураДействий.Вставить("ПересчитатьСумму");
    СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомРучнойСкидки", Новый Структура("Очищать", Ложь));
    СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомАвтоматическойСкидки", Новый Структура("Очищать", Истина));
    СтруктураДействий.Вставить("ЗаполнитьДубликатыЗависимыхРеквизитов", ЗависимыеРеквизиты());
    СтруктураДействий.Вставить("ОчиститьСуммуВзаиморасчетов");
    СтруктураДействий.Вставить("ПересчитатьСуммуСверхЗаказа", Новый Структура("РеализацияПоступлениеПоЗаказу, ТребуетсяЗалогЗаТару",
    НовыйДокумент.РеализацияПоЗаказам, НовыйДокумент.ТребуетсяЗалогЗаТару));
    СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС",
    Новый Структура("НалогообложениеНДС, Дата", НовыйДокумент.НалогообложениеНДС, НовыйДокумент.Дата));

    Для Каждого Строка Из Таблица Цикл
    Попытка
    НоваяСтрока = НовыйДокумент.Товары.Добавить();
    НоваяСтрока.Номенклатура = НайтиНоменклатуру(Строка.Номенклатура);
    НоваяСтрока.КоличествоУпаковок = Строка.Количество;
    НоваяСтрока.Количество = Строка.Количество;
    НоваяСтрока.ВидЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Крафт");
    ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(НоваяСтрока, СтруктураДействий, лКэшированныеЗначения);
    ТекущаяСтрокаСтруктура = ПолучитьТекущуюСтрокуСтруктурой(НоваяСтрока,СтруктураДействий);
    НоваяСтрока.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
    ОбработкаТабличнойЧастиВызовСервера.ОбработатьСтрокуТЧ(ТекущаяСтрокаСтруктура, СтруктураДействий, лКэшированныеЗначения);
    ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(НовыйДокумент.Товары, СтруктураДействий, Неопределено);

    //НоваяСтрока.Сумма = НоваяСтрока.Цена*НоваяСтрока.Количество;
    // выполним пересчет сумм документа
    Исключение
    КонецПопытки;
    КонецЦикла;
```

Сделал так,но не знаю как заполнить оплату
---
"НовыйДокумент.НалогообложениеНДС = Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС;" - сами же ставите, что документ без ндс, значит надо ставку заполнять ручками, например "БезНДС"

что за Оплата имеется в виду?
если график оплаты, то выше давал пример заполнения по соглашению и без
---
Все)Нужно было заполнить реквизит ПорядокОплаты.
---
подскажите порядок оплаты как заполняли ?
---
Вам нужно подставить цену и пересчитать строки.
Это можно сделать с помощью типовых функций. Пример одной из таких ф-ций выше.
Осталось разобраться какие параметры в неё передать, чтобы пересчитались строки