Всем доброго утра ребят!вот вопрос,у меня в доке несколько таблиц,последняя заполняется по нажатию кнопки, забирая данные по двум колонкам из каждой предыдущей таблицы, вписывая в новую строку данные из каждой таблицы!все работает норм!но есть "но",заполняются строки в любом случае,даже если количество("ОтданыНаПовторы") = 0,этого как раз и не нужно!нужно что бы строки заполнялись в том случае если Количество("ОтданыНаПовторы") больше нуля!
я попробовал дописать условие к тому что получилось,но он начал ругаться при нажатие на кнопку заполнения

```1c
    {Документ.Циклы.Форма.ФормаДокумента.Форма(143)}: Метод объекта не обнаружен (ОтданыНаПовторы)
    Если ТаблицаСборки.ОтданыНаПовторы() или ТаблицаПСИ.ОтданыНаПовторы()или ТаблицаОкончательнойСборки.ОтданыНаПовторы()или ТаблицаВыходногоКонтроля.ОтданыНаПовторы() > 0 Тогда
```

Подскажите пожалуйста в чем ошибка и как исправить!Вот Процедура уже с условием которое не работает

```1c
    Процедура ЗаполнитьПовторыНажатие(Элемент)

    Если ТаблицаСборки.ОтданыНаПовторы() или ТаблицаПСИ.ОтданыНаПовторы()или ТаблицаОкончательнойСборки.ОтданыНаПовторы()или ТаблицаВыходногоКонтроля.ОтданыНаПовторы() > 0 Тогда
    Для каждого Стр из ТаблицаСборки Цикл
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЦикла;
    Для каждого Стр из ТаблицаПСИ Цикл
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЦикла;

    Для каждого Стр из ТаблицаОкончательнойСборки Цикл
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЦикла;

    Для каждого Стр из ТаблицаВыходногоКонтроля Цикл
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЦикла;
    КонецЕсли;

    КонецПроцедуры
```
---
Для каждого Стр из ТаблицаСборки Цикл
        НоваяСтрока = ТаблицаПовторов.Добавить();
        НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
        НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЦикла;

Тут тоже условие нужно:

```1c
    Для каждого Стр из ТаблицаСборки Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;
```
---
нет. Перед обработкой каждой таблицы проверка количества нужна.

Типа так для каждой таблицы:

```1c
    Если ТаблицаВыходногоКонтроля.Итог("ОтданыНаПовторы") > 0 Тогда
    Для каждого Стр из ТаблицаВыходногоКонтроля Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли
```

Не по теме... А почему руководитель проектов занимается программированием?
---
Вот так: "()" - обращаются к методам, процедурам и функциям. К реквизитам обращаются без "()".
А теперь объясняйте словами, что в вашем понимании значит "количество("ОтданыНаПовторы") = 0"
---
это колонка -"ОтданыНаПовторы"
сам реквизит имеет тип число!
---
И что есть ""количество("ОтданыНаПовторы") = 0"? Количество строк, итоговая сумма по этой колонке, ноль в какой-то из строк?
---
Вот скажем возьмем первую таблицу "ТаблицаСборки" в ней есть такая колонка "ОтданыНаПовторы"!в этой колонки вписываются числа!если число в этой колонке = 0,то в сводную таблицу не нужно вносить новую строку!если же больше 0,то в сводной таблице должна заполняться новая строка

```1c
    Для каждого Стр из ТаблицаСборки Цикл
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЦикла;
```
---
я Вам в (6) ответил....
---
Спасибо корректирую,сейчас посмотрим!)
---
Если ТаблицаСборки.ОтданыНаПовторы() или ТаблицаПСИ.ОтданыНаПовторы()или ТаблицаОкончательнойСборки.ОтданыНаПовторы()или ТаблицаВыходногоКонтроля.ОтданыНаПовторы() > 0 Тогда
для каждого поля нужно условие написать:

```1c
    ТаблицаСборки.Итог("ОтданыНаПовторы") > 0 Или ТаблицаПСИ.Итог("ОтданыНаПовторы") > 0
```
 и т.д.
---
Для каждого Стр из ТаблицаСборки Цикл
        НоваяСтрока = ТаблицаПовторов.Добавить();
        НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
        НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЦикла;

Тут тоже условие нужно:

```1c
    Для каждого Стр из ТаблицаСборки Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;
```
---
сейчас попробую
---
Спасибо помогло,получилось вот так!

```1c
    Процедура ЗаполнитьПовторыНажатие(Элемент)

    Для каждого Стр из ТаблицаСборки Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;
    Для каждого Стр из ТаблицаПСИ Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;

    Для каждого Стр из ТаблицаОкончательнойСборки Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;

    Для каждого Стр из ТаблицаВыходногоКонтроля Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;

    КонецПроцедуры
```
---
Проверку перед обработкой каждой строки нужно поставить, а то вдруг повторов не будет, а вы будете циклы впустую гонять. я ранее писал, как.
---
Вот так тогда должно получиться?

```1c
    Процедура ЗаполнитьПовторыНажатие(Элемент)

    Если ТаблицаСборки.Итог("ОтданыНаПовторы") > 0 Или ТаблицаПСИ.Итог("ОтданыНаПовторы") > 0 или ТаблицаОкончательнойСборки.Итог("ОтданыНаПовторы") > 0 Или ТаблицаВыходногоКонтроля.Итог("ОтданыНаПовторы") > 0 тогда
    Для каждого Стр из ТаблицаСборки Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;
    Для каждого Стр из ТаблицаПСИ Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;

    Для каждого Стр из ТаблицаОкончательнойСборки Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;

    Для каждого Стр из ТаблицаВыходногоКонтроля Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;

    КонецПроцедуры
```
---
нет. Перед обработкой каждой таблицы проверка количества нужна.

Типа так для каждой таблицы:

```1c
    Если ТаблицаВыходногоКонтроля.Итог("ОтданыНаПовторы") > 0 Тогда
    Для каждого Стр из ТаблицаВыходногоКонтроля Цикл
    Если Стр.ОтданыНаПовторы > 0 Тогда
    НоваяСтрока = ТаблицаПовторов.Добавить();
    НоваяСтрока.ИсполняемыйПрибор = Стр.ИсполняемыйПрибор ;
    НоваяСтрока.Количество = Стр.ОтданыНаПовторы;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли
```

Не по теме... А почему руководитель проектов занимается программированием?
---
все понял спасибо!
Sorrryy!когда регился наверное ошибочно нажал,торопился!
исправил!)
А так программист!!но только учусь..самоучка,что то где то в книгах,что то тут,кто поможет!