Смотрите, есть табличная часть Расчет, мы в ней забиваем поля, которые нам нужны
Забиваем датуПередачи, срок исполнения из регистра сведений дата исполненияПлан формируется как : дата передачи+срокисполнения
и вот получившуюся дату исполнения план, нужно перенести в датуПередачи следующей строки, как такое осуществить, подскажите, пожалуйста
---
Должно получиться что-то вроде этого ( в зависимости от задач):

```1c
    Для каждого Стр Из Объект.Расчет Цикл
    Если Стр.НомерСтроки = 1 Тогда
    Продолжить;
    Иначе
    Стр.ДатаПередачи = Объект.Расчет[Стр.НомерСтроки - 2].ДатаПлан;
    КонецЕсли;
    КонецЦикла;
```
---
вариантов много, смотря что вам нужно. Например, создаёте реквизит в шапке (на форме он не нужен), записываете туда дату из текущей строки, при создании новой строки читаете его. устроит?
---
А смысл? Всегда можно прочитать предыдущую строку и взять нужный реквизит. Тут важнее понять, как вообще будет работать эта таблица: сколько сроков передачи может быть, как будут вести себя строки при смещении строк вверх или вниз и т.п.
---
Вот так, например, у меня меняются адреса отправления и доставки в табличной части Задание:

```1c
    Процедура ЗаданиеПриИзменении(Элемент)
    Если (Элементы.Задание.ТекущиеДанные.НомерСтроки = Объект.Задание.количество()) и
    (Элементы.Задание.ТекущиеДанные.АдресОтправление = неопределено) и
    (Объект.Задание.количество()>1)Тогда
    Элементы.Задание.ТекущиеДанные.АдресОтправление = Объект.Задание[Элементы.Задание.ТекущиеДанные.НомерСтроки-2].АдресДоставки;
    Элементы.Задание.ТекущиеДанные.АдресДоставки = Объект.Задание[Элементы.Задание.ТекущиеДанные.НомерСтроки-2].АдресОтправление;
    КонецЕсли;
    КонецПроцедуры
```
---
не очень понятно все описано у вас.
а разве не через цикл все это делается/?
---
(2)
Смотрите, написал так, но поле номерСтроки не обнаружено

```1c
    СтрокаТЧ = Элементы.Расчет.ТекущиеДанные;
    Для каждого СтрокаТЧ из Объект.Расчет Цикл
    СтрокаТЧ.НомерСтроки = Объект.Расчет.Индекс(СтрокаТЧ.НомерСтроки) +1;
    КонецЦикла;
```
---
Что-то Вы тут наворотили.... Мы строку табличной части можем получить по индексу [], который начинается с нуля. Номер строки начинается с 1, поэтому чтобы получить нужный реквизит нужна строчка типа
Элементы.Расчет.ТекущиеДанные.ДатаПередачи = Объект.Расчет[Элементы.Расчет.ТекущиеДанные.НомерСтроки-2].ДатаИсполненияПлан;
---
Должно получиться что-то вроде этого ( в зависимости от задач):

```1c
    Для каждого Стр Из Объект.Расчет Цикл
    Если Стр.НомерСтроки = 1 Тогда
    Продолжить;
    Иначе
    Стр.ДатаПередачи = Объект.Расчет[Стр.НомерСтроки - 2].ДатаПлан;
    КонецЕсли;
    КонецЦикла;
```
---
Да, помогло. Спасибо большое, работает.
Но только при переходе на вторую строку, дата передачи меняется как надо, а вот датаПлан 11.01.2011 становится, когда вручную забиваю дату передачи на след строку уходит также, то есть датапередачи норм, а план 01.01.2011
---
Добавляйте условия, используйте события. Тут никто за Вас окончательный код писать не станет. Направление дано, а там уж каждый сам себе Буратино. :-)
---
Как понял вопрос, так и ответил. При неточном ТЗ результат ХЗ.
---
а по синтаксису можете описать, как это реализовать?
---
Написал вот так, считает дату исполнения план, но не передает на следующую строку ДатуПередачи
Где обшибся я?)

```1c
    СтрокаТЧ = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
    СтрокаТЧ.ДатаПлан = СтрокаТЧ.ДатаПередачи + (86400*СтрокаТЧ.СрокИсполнения);

    Номер = СтрокаТЧ.НомерСтроки;
    Для Каждого СтрокаТЧ из Объект.ПереченьНоменклатуры Цикл
    Если СтрокаТЧ.НомерСтроки = Номер Тогда
    Срок = СтрокаТЧ.СрокИсполнения;
    КонецЕсли;
    Если СтрокаТЧ.НомерСтроки = Номер + 1 Тогда
    СтрокаТЧ.ДатаПередачи = СтрокаТЧ.СрокИсполнения + 86400 ;

    СтрокаТЧ.ДатаПлан = СтрокаТЧ.ДатаПередачи + (86400*СтрокаТЧ.СрокИсполнения);

    КонецЕсли;
    КонецЦикла;
```