"Массив строк" -тип массив, но там пустые поля.Почему в таблице "товары" не находит номер строки?Из-за того, что в реквизитах этой таблицы нету реквизита номер строки?Номер строки ведь стандартно идет
У строки изменения тип неопределенно.

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

Выдает такую ошибку:
{Документ.КорректировкаРеализации.Форма.ФормаДокумента.Форма(2169)}: Ошибка при вызове метода контекста (ЗаполнитьЗначенияСвойств)
  ЗаполнитьЗначенияСвойств(СтрокаИзменения, ВыбранноеЗначение);
по причине:
Недопустимое значение параметра (параметр номер '1')
---
Зачем тогда делать НайтиСтроки, если он стандартный тогда он уникальный. Делай Товары[ВыбранноеЗначение.НомерСтроки-1]
---
Зачем тогда делать НайтиСтроки, если он стандартный тогда он уникальный. Делай Товары[ВыбранноеЗначение.НомерСтроки-1]
---
тогда выводит такую ошибку:
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(51)}: Метод объекта не обнаружен (Количество)
  Если МассивСтрок.Количество() > 0 Тогда
---
правильно, потому что МассивСтрок у тебя уже будет просто строкой, а не массивом.
---
и почему-то все равно у "СтрокиИзменений" тип неопределенно
---
а что такое вообще ИзмененияКоличества?
---
таблица значений
---
Вы задали вопрос как да что , а информации предоставили на кончике шила, потому кто ж вам реально сможет помочь...
Уж сами, сами справляйтесь, или ждите гениев предсказателей...
---
вот полный код:

```1c
    Перем ИзмененияКоличества;
    Перем ПервоначальныеДанные;

    Процедура ТоварыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
    Если НоваяСтрока Тогда
    Элемент.ТекущиеДанные.ИдентификаторСтроки = Новый УникальныйИдентификатор;
    КонецЕсли;
    КонецПроцедуры

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

    Форма.Открыть();
    КонецЕсли;
    КонецПроцедуры

    Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    ЭтотОбъект.ДополнительныеСвойства.Вставить("ИзмененияКоличества", ИзмененияКоличества);
    КонецПроцедуры

    Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    ИзмененияКоличества = Новый ТаблицаЗначений;
    ИзмененияКоличества.Колонки.Добавить("Период", Новый ОписаниеТипов("Дата", Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя)));
    ИзмененияКоличества.Колонки.Добавить("ИдентификаторСтроки", Новый ОписаниеТипов("УникальныйИдентификатор"));
    ИзмененияКоличества.Колонки.Добавить("ПричинаИзменения", Новый ОписаниеТипов("СправочникСсылка.ПричиныИзменения"));
    ИзмененияКоличества.Колонки.Добавить("КоличествоБыло", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
    ИзмененияКоличества.Колонки.Добавить("КоличествоСтало", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
    ИзмененияКоличества.Колонки.Добавить("Комментарий", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(200)));
    ИзмененияКоличества.Колонки.Добавить("НомерСтроки", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 0)));

    ПервоначальныеДанные = Товары.Выгрузить(, "ИдентификаторСтроки,Количество");
    КонецПроцедуры

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

    ЗаполнитьЗначенияСвойств(СтрокаИзменения, ВыбранноеЗначение);
    СтандартнаяОбработка = Ложь;

    //КонецЕсли;
    КонецПроцедуры

    Процедура ПослеЗаписи()
    ИзмененияКоличества.Очистить();
    ПервоначальныеДанные = Товары.Выгрузить(, "ИдентификаторСтроки,Количество");
    КонецПроцедуры
```

Идентификатор строки- реквизит таблицы "товары", у него тип уникальный идентификатор.Этот реквизит добавил для того, чтобы можно было распознать редактируемую строку
---
в вызываемой форме находится этот код:

```1c
    ПараметрыВыбора = Новый Структура;
    ПараметрыВыбора.Вставить("Период", ТекущаяДата());
    ПараметрыВыбора.Вставить("КоличествоБыло", КоличествоБыло);
    ПараметрыВыбора.Вставить("КоличествоСтало", КоличествоСтало);
    ПараметрыВыбора.Вставить("ПричинаИзменения", ПричинаИзменения);
    ПараметрыВыбора.Вставить("Комментарий", Комментарий);
    ПараметрыВыбора.Вставить("ИдентификаторСтроки", ЭтаФорма.КлючУникальности);
    ПараметрыВыбора.Вставить("НомерСтроки",НомерСтроки);

    ОповеститьОВыборе(ПараметрыВыбора);
```

Тут добавляются поля в ВыбранноеЗначение
---
так записывается в регистр сведений:

```1c
    Если Отказ ИЛИ Источник.ОбменДанными.Загрузка = Истина Тогда
    Возврат
    КонецЕсли;

    Если Источник.ДополнительныеСвойства.Свойство("ИзмененияКоличества") Тогда
    НаборЗаписей = РегистрыСведений.ЛогРедактированияДокументов.СоздатьНаборЗаписей();
    НаборЗаписей.Загрузить(Источник.ДополнительныеСвойства.ИзмененияКоличества);
    Для Каждого Запись Из НаборЗаписей Цикл
    Запись.Документ = Источник.Ссылка;
    Запись.Пользователь = ПараметрыСеанса.ТекущийПользователь;
    КонецЦикла;
    НаборЗаписей.Записать(Ложь);
    КонецЕсли;
```
---
Вы не озвучили до сих пор чем вы вообще занимаетесь?
Это обработка или что?
Вы вообще что делаете?

Напоминает - чел просит помочь зашить дырку, ему подсказывают как вдеть нитку в иголку, а у него просто носки уже износились да и на 3 размера меньше.
Нодо купить новые и все...
---
так тут ошибка в "СтрокаИзменения"
Иначе
                СтрокаИзменения = ИзмененияКоличества.Добавить();
вот это не смущает?
---
Если так делать, то все нормально работает. Но нужно , чтобы по номеру строки искал. Нежелательно добавлять дополнительный реквизит в таблицу товары.поэтому хочу сделать так,чтобы по номеру строки искал.Почему тогда с ИдендификаторСтроки все работает?

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