Здравствуйте! у меня такая проблема....имеются определенные коэффициенты. соответственно если данное число умножить на эти значения (они все меньше нуля), то в сумме получится число, которое мы имеем в табличной части. Проблема такая, нынешнее число на данным момент заполнено в ТЧ, после определенных процедур первая строка должна перезаписаться и при надобности должны добавить новые, чтобы в сумме этих числе получилось начальное число....у меня сейчас просто из него вычитаются данные числа и добавляются строки....надеюсь понятно объянсли...снизу прилагаю код...подскажите как исправить?

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

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

    КонецЦикла;
```
---
а что означает первый? это переменная?
---
тыж сам написал первая строка должна перезаписаться и при надобности должны добавить новые, вот для этого первый, остальные добавляются

добавь еще свое условие на обрабатываемую строку как у тебя

```1c
    Если (ЭлементТЧ.Начисление.Наименование = "Оплата работы в праздничные и выходные дни") ...
```

у тебя непонятно что такое ЭлементМассива.КоэффициентВыходные >0
---
разобрался) спасибо)
---
\Включаем телепат-бота\

Дано:

1. Исходное число - Табл[0].Результат;

2. Конечный набор коэффициентов, например
    мКоэф[0] = 0,045
    мКоэф[1] = 0,035
    ...
    мКоэф[n] = 0,15

3. Тождество
мКоэф[0] * Табл[0].Результат +
мКоэф[1] * Табл[0].Результат +
...
мКоэф[n] * Табл[0].Результат =
Табл[0].Результат

Необходимо получить вместо одной исходной строки
Табл[0]
набор строк, где
Табл[0].Результат = мКоэф[0] * Табл[0].Результат
Табл[1].Результат = мКоэф[1] * Табл[0].Результат
...
Табл[n].Результат = мКоэф[n] * Табл[0].Результат

Собственно, по постановке задачи решение очевидно.

Если я ничего не понял, то решение еще более очевидно
---
если дополнительных действий с добавленными строка не нужно,
вместо массива используй индекс первой добавленной строки для выхода из цикла