При изменении количества в таблице вызывается форма.Как сделать так, чтобы если эта форма закрыта(когда форма закрывается вызывается вопрос,если пользователь нажимает "да" запись в РС осуществляется) количество возвращалась в значение до изменения?. Думаю, что можно написать в "иначе" что количество в таблице "Товары" равняется переменной, которая сохраняет количеству до изменения(такое количество уже есть "МассивСтрок[0].Количество").Буду благодарен, если сможете пример привести, как сделать.

```1c
    ТекущиеДанные = ЭлементыФормы.Товары.ТекущиеДанные;
    Данные=ЭлементыФормы.Товары.ТекущиеДанные.Количество;
    Отбор = Новый Структура("ИдентификаторСтроки", ТекущиеДанные.ИдентификаторСтроки);
    МассивСтрок = ПервоначальныеДанные.НайтиСтроки(Отбор);
    Если МассивСтрок.Количество() > 0 И МассивСтрок[0].Количество <> ТекущиеДанные.Количество Тогда
    Форма = ПолучитьФорму("РегистрСведений.ЛогРедактированияДокументов.Форма.Реализация", , ЭлементыФормы.Товары);
    Форма.КлючУникальности = ТекущиеДанные.ИдентификаторСтроки;
    Форма.Номенклатура = ТекущиеДанные.Номенклатура;
    Форма.КоличествоБыло = МассивСтрок[0].Количество;
    Форма.КоличествоСтало = ТекущиеДанные.Количество;
    СтрокиИзменений = ИзмененияКоличества.НайтиСтроки(Отбор);
    КонецЕсли;
    Форма.ОткрытьМодально();

    ТекстВопроса = "Данные будут записаны в регистр сведений.Продолжить??";
    Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да, );
    Если Ответ = КодВозвратаДиалога.Да Тогда

    Запрос=Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ
    | РеализацияТоваровУслугТовары.Номенклатура,
    | СУММА(ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0)) КАК Резерв,
    | СУММА(ЕСТЬNULL(ВложенныйЗапрос.КоличествоОстаток, 0)) КАК Остаток,
    | РеализацияТоваровУслугТовары.ИдентификаторСтроки,
    | РеализацияТоваровУслугТовары.Количество
    |ИЗ
    | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ), ) КАК ТоварыВРезервеНаСкладахОстатки
    | ПО РеализацияТоваровУслугТовары.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
    | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    | ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
    | ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура
    | ИЗ
    | РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладахОстатки
    |
    | СГРУППИРОВАТЬ ПО
    | ТоварыНаСкладахОстатки.Номенклатура,
    | ТоварыНаСкладахОстатки.КоличествоОстаток) КАК ВложенныйЗапрос
    | ПО РеализацияТоваровУслугТовары.Номенклатура = ВложенныйЗапрос.Номенклатура
    |ГДЕ
    | РеализацияТоваровУслугТовары.Ссылка.Ссылка = &Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    | РеализацияТоваровУслугТовары.Номенклатура,
    | РеализацияТоваровУслугТовары.ИдентификаторСтроки,
    | РеализацияТоваровУслугТовары.Количество";
    Запрос.УстановитьПараметр("Ссылка",Ссылка);
    Запрос.УстановитьПараметр("НачалоПериода",Ссылка.Дата);
    Выборка=Запрос.Выполнить().Выгрузить();
    Для Каждого Стр Из ИзмененияКоличества Цикл
    МассивСтрок = ПервоначальныеДанные.НайтиСтроки(Новый Структура("ИдентификаторСтроки", Стр.ИдентификаторСтроки));
    Если МассивСтрок.Количество() > 0 И МассивСтрок[0].Количество = Стр.КоличествоСтало Тогда
    Продолжить;
    КонецЕсли;
    КонецЦикла;

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

    =МассивСтрок[0].Количество;
    КонецЕсли;
```

Да, дальше продолжаю огород городить)
---
вот так сделал:
Переменная=ЭлементыФормы.Товары.ТекущаяСтрока;
Переменная.Количество=Например 22;
---
как вообще изменить количество в таблице в коде?
---
Не надо так делать. Элементы формы оставь в покое. Ну и если надо что-то "временно изменить" - не надо это менять, достаточно завести временную переменную...
---
в переменные записываются данные до изменения ПервоначальныеДанные и количество после изменения "Изменения количества".А как лучше сделать?
Предположим пользователю в документе Реализация товаров и услуг нужно изменить количество.Он хотел изменить на 23, но не попал на кнопку и написал 24.Но количество в таблице то уже изменилась и пользователь по невнимательности может сохранить документ, а записи в РС не будет.А так нельзя, чтобы было. Все изменения количества должны записываться в РС.
Как сделать так, чтобы таких случаев не было?
---
Предположим пользователю в документе Реализация товаров и услуг нужно изменить количество.Он хотел изменить на 23, но не попал на кнопку и написал 24.Но количество в таблице то уже изменилась и пользователь по невнимательности может сохранить документ, а записи в РС не будет.А так нельзя, чтобы было. Все изменения количества должны записываться в РС.А зачем в регистр записывать все изменения количества? Невнимательный пользователь вообще не будет смотреть, что там и как, а просто сохранит документ. Более того, 23 может оказаться как раз правильным значением - что с этим делать?

Вообще, пока документ не записан, данные о "старом" количестве и так есть в базе (можно просто взять Ссылка.Товары[НомерСтроки].Количество - там будет старое значение из базы). И если речь идет о подсветке, например, измененных данных, то можно либо перед записью проверять измененные количества (запросом к табличной части по ссылке с табличной частью из объекта) и отображать вопрос на корректность изменений (хоть и в отдельном окне), либо при изменении количества подсвечивать колонку, а строки, в которых количество было изменено, сохранять в, допустим, списке значений. Т.е. есть масса способов для того, чтобы ждать пользователю знать, что он изменил и попросить подтвердить или опровергнуть изменения.
---
А как вообще изменить значение?Чтобы знать вообще.
Сделал так:

```1c
    Для Каждого ТекСтрока из Товары Цикл
    КонецЦикла;
    ТекСтрока.Количество =МассивСтрок[0].Количество;
```

Отладка показывает количество до изменения,но почему-то в самой таблицу это значение не изменяется.
МассивСтрок находится нужную строку по идентификатору строки

```1c
    Отбор = Новый Структура("ИдентификаторСтроки", ТекущиеДанные.ИдентификаторСтроки);
    МассивСтрок = ПервоначальныеДанные.НайтиСтроки(Отбор);
```

Почему в самой в таблице не изменятся значение?

Например если просто в цикле сделать, в таблице все значения изменяются.
например вот так:

```1c
    Для Каждого ТекСтрока из Товары Цикл
    ТекСтрока.Количество =МассивСтрок[0].Количество;
    КонецЦикла;
```
---
вот так сделал:
Переменная=ЭлементыФормы.Товары.ТекущаяСтрока;
Переменная.Количество=Например 22;