Добрый день. Возник вопрос, как добавить разные, по виду движения, записи в регистр накопления через один документ? То есть, у меня есть документ, в котором должна выполняться функция "сторно", что означает вид движения расход, и функция "суммирование", то есть сумма каких-либо движений, соответсвенно вид движения приход. Как мне совместить эти функции в одном документе, с условием, чтоб вид движения для сторно и суммирования - были расход и приход соотвественно.
---
Реквизит объекта заведи "Сторно" - Булево.
Если на форме нажмут команду сторно, то устанавливай реквизит в "истина" и делай движения для сторно и наоборот.

Реквизит нужен для программного перепроведения документа, чтобы знать какие движения делать в любом случае.
---
И что вас останавливает ? Добавляйте движения в любом порядке с разными видами движений.
---
При проведении документа все движения по заданному номеру дублируются и записываются как приход, так и расход, не зависимо от того, какую функцию мы нажимали(сторно или суммирование). Хотелось бы, чтоб при нажатии на сторно - расход, при нажатии на суммирование - приход.

```1c
    Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    // регистр Мэтр_НакопленияПоКартамЛояльности Расход
    Движения.Мэтр_НакопленияПоКартамЛояльности.Записывать = Истина;
    Для Каждого ТекСтрокаКартыЛояльности Из КартыЛояльности Цикл
    Движение = Движения.Мэтр_НакопленияПоКартамЛояльности.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
    Движение.Период = Дата;
    Движение.ЧекККМ = ТекСтрокаКартыЛояльности.ЧекККМ;
    Движение.КартаЛояльности = ТекСтрокаКартыЛояльности.ОснКарта;
    Движение.Сумма = ТекСтрокаКартыЛояльности.Сумма;
    КонецЦикла;

    // регистр Мэтр_НакопленияПоКартамЛояльности Приход
    Движения.Мэтр_НакопленияПоКартамЛояльности.Записывать = Истина;
    Для Каждого ТекСтрокаКартыЛояльности Из КартыЛояльности Цикл
    Движение = Движения.Мэтр_НакопленияПоКартамЛояльности.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = Дата;
    Движение.ЧекККМ = ТекСтрокаКартыЛояльности.ЧекККМ;
    Движение.КартаЛояльности = ТекСтрокаКартыЛояльности.ОснКарта;
    Движение.Сумма = ТекСтрокаКартыЛояльности.СуммаВиртИФиз;
    КонецЦикла;

    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    КонецПроцедуры
```
---
Передавай в ДополнительныеСвойства флаг того, что нажимаешь
---
Можно поподробней, пожалуйста
---
Конструктором движений не все можно сделать...
Иногда нужно писать программы вручную...

И потом по предложенному выше варианту , анализируя состояние флага делай необходимые движения
---
Пробовал использовать менеджер временных таблиц, но результата не увидел. Списываю это на свою неграмотность, ибо с 1С начал работать относительно недавно
---
Реквизит объекта заведи "Сторно" - Булево.
Если на форме нажмут команду сторно, то устанавливай реквизит в "истина" и делай движения для сторно и наоборот.

Реквизит нужен для программного перепроведения документа, чтобы знать какие движения делать в любом случае.
---
Вот как выглядит результат при функции сторно. Видно, что строки просто дублировались, но с видом движения "приход"
---
Вы понимаете, что делает ваша процедура ОбработкаПроведения(...
Пока не поймете как она работает успеха не получите.
Вам уже насоветовали правильный путь. Вы же топчитесь на месте..

В тексте обработки проведения должно быть условие , проверка КАКАЯ кнопка была нажата, и в зависимости от этой проверки делать либо одно либо другое движение