Здравствуйте, в документе итоговая сумма по колонке таблицы суммируется, но если удаляешь строку, не меняется, снова добавляешь, пересчитывает, что не так?

```1c
    &НаКлиенте
    Процедура ПриходИзТорговыхТочекСуммаПриИзменении(Элемент)
    СуммаДокумента = 0;

    Для Каждого Стр Из Объект.ПриходИзТорговыхТочек Цикл

    Если Элементы.ПриходИзТорговыхТочек.ПроверитьСтроку(Стр.ПолучитьИдентификатор()) Тогда

    СуммаДокумента = СуммаДокумента + Стр.Сумма;
    КонецЕсли;

    КонецЦикла;
    Объект.СуммаДокумента = СуммаДокумента;
    КонецПроцедуры
```
---
Вдруг пригодится кому

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

```1c
    &НаКлиенте
    Процедура ПриходИзТорговыхТочекСуммаПриИзменении(Элемент)
    СуммаДокумента = 0;

    Для Каждого Стр Из Объект.ПриходИзТорговыхТочек Цикл

    СуммаДокумента = СуммаДокумента + Стр.Сумма;

    КонецЦикла;
    Объект.СуммаДокумента = СуммаДокумента;
    КонецПроцедуры
```
---
Потому что это событие не вызывается при удалении строки.
---
А как сделать чтоб вызывалось?
---
Ищите "обработчики событий элементов формы" в учебниках.
---
Я вас поняла, спасибо за совет)
---
Код не мой, я пытаюсь исправить то что есть.
Мною был добавлен данный кусочек, остальное уже имелось.

```1c
    Если Элементы.ПриходИзТорговыхТочек.ПроверитьСтроку(Стр.ПолучитьИдентификатор()) Тогда

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

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

```1c
    СуммаДокумента = ПриходИзТорговыхТочек.Итог("Сумма");
```

Тогда при записи документа сумма документа будет автоматически рассчитываться.
---
Согласна что не смешно, особенно не смешно разбираться новичку в коде программистов с многолетним опытом, почему и зачем они это закомментили. А еще не смешно обратиться на форум за помощью к программистам с опытом и вместо помощи слышать нападки.
---
Вам несколько раз сказали, в чем причина проблемы. Если вы не знаете что делать с этой информацией, это другой вопрос.
Добавить обработчик события элемента формы, это основы работы с формами.
Если не умеете это, почитайте например, книгу "Разработка управляемого интерфейса" и "Практическое пособие разработчика" Радченко.

Если у вас что-то не получается, то надо писать:
1 - что именно вы хотите сделать
2 - что сделали
3 - что именно не получается.
И прикладывать скрины.

Телепатов нет.
А выпытывать по слову, в чем же у вас проблема - это тупиковый путь, в таком случае ожидать помощи будете долго.
---
Всем кто пытается мне помочь, я именно так и отвечаю, ну или стараюсь так отвечать.
---
Работу я как раз таки не добавила, а упростила, хоть и не намного.
По поводу данной процедуры, я писала выше что у меня она не работает, почему, не знаю, пытаюсь разобраться.
---
А кто сказал что ее нужно в ручную считать, в подвале все прекрасно отображается.
---
Спасибо
---
не обижайтесь, ребята немного на взводе) работа такая)))
---
Какие тут обиды, просто не хочется такой же стать в таком окружении.
---
Вот она - благодарность: назвать всех на прощание мудаками.
---
Не знаю где вы увидели такое. Всех кто помогал я поблагодарила.