Описание: перечитать строки, отображаемые в данный момент в табличном поле. Табличное поле будет стараться сохранить текущую строку.
Есть код:
Функция СформироватьТекстЗапроса()
ТекстЗапроса = "
|SELECT $ОстаткиТоваровИтоги.Товар AS [Товар $Справочник.Номенклатура]
| , $ОстаткиТоваровИтоги.Склад AS [Склад $Справочник.МестаХранения]
| , Номенклатура.CODE AS Код
| , Номенклатура.DESCR AS Наименование
| , Sum($ОстаткиТоваровИтоги.Количество) AS Остаток
|FROM $РегистрИтоги.ОстаткиТоваров AS ОстаткиТоваровИтоги
| INNER JOIN $Справочник.Номенклатура AS Номенклатура ON $ОстаткиТоваровИтоги.Товар = Номенклатура.ID
//|WHERE ($ОстаткиТоваровИтоги.Склад = :ВыбСклад)
|GROUP BY $ОстаткиТоваровИтоги.Товар
| , $ОстаткиТоваровИтоги.Склад
| , Номенклатура.CODE
| , Номенклатура.DESCR
|
|";
Возврат ТекстЗапроса;
КонецФункции
Процедура Обновить()
ПоставщикДанных = тпТовары.ПоставщикДанных("ODBCDataProvider.VFP");
//ПоставщикДанных.УстановитьТекстовыйПараметр("ВыбСклад", ВыбСклад);
ПоставщикДанных.УстТекстЗапроса(СформироватьТекстЗапроса());
ПоставщикДанных.УстКлючПорядка("Товар");
ПоставщикДанных.УстИДПоле("Товар");
тпТовары.ТаймаутОбновления = 15;
тпТовары.ДобавитьПоле(ПоставщикДанных, "Товар", 0, 0);
тпТовары.ДобавитьПоле(ПоставщикДанных, "Код", 0, 1);
тпТовары.ДобавитьПоле(ПоставщикДанных, "Наименование", 0, 1);
тпТовары.ДобавитьПоле(ПоставщикДанных, "Остаток", 0, 0);
тпТовары.ПоставщикДанных = ПоставщикДанных;
тпТовары.ОбновитьСтроки();
КонецПроцедуры
Так все нормально, а если комментарии снять, то при обновлении строка текущая не сохраняется, ею становится первая.
? Что не так делаю?