0
temik_a
27.03.12
✎
18:07
|
Ребята, я начинающий поделитесь опытом)) В общем, Есть одно табличное поле с товаром (номенклатура) при активизации строки в другое табличное поле попадают данные.
Как сделать так чтоб при смене активизированной строки в первом табличном поле, менялись данные во втором. сейчас они просто добавляются к уже существующим.
Процедура ТаблицаНедовложенийПриАктивизацииСтроки(Элемент)
Стр = Элемент.ТекущаяСтрока;
//Стр = ЭлементыФормы.ТаблицаНедовложений.ТекущиеДанные;
Если Стр=Неопределено Тогда
Возврат;
КонецЕсли;
Стр = ПолучитьОстатокТовара(Стр.Номенклатура);
КонецПроцедуры
А это функция которая делает данные для второго табличного поля
Функция ПолучитьОстатокТовара (Номенклатура)
Запрос = Новый Запрос;
Запрос.Текст = "
| ВЫБРАТЬ
| ОстаткиТоваровКомпанииОстатки.СкладКомпании.Подразделение,
| ОстаткиТоваровКомпанииОстатки.СкладКомпании,
| ОстаткиТоваровКомпанииОстатки.Номенклатура,
| СУММА (ОстаткиТоваровКомпанииОстатки.КоличествоОстаток),
| ОстаткиТоваровКомпанииОстатки.Номенклатура.ОсновнаяЕдиницаИзмерения
|ИЗ
| РегистрНакопления.ОстаткиТоваровКомпании.Остатки (, Номенклатура = &Номенклатура) КАК ОстаткиТоваровКомпанииОстатки
|СГРУППИРОВАТЬ ПО
|ОстаткиТоваровКомпанииОстатки.СкладКомпании.Подразделение,
|ОстаткиТоваровКомпанииОстатки.СкладКомпании,
| ОстаткиТоваровКомпанииОстатки.Номенклатура ";
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("СкладКомпании", СкладКомпании);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Остаток = Недовложения.Добавить();
Остаток.Номенклатура = Выборка.Номенклатура;
Остаток.Остаток = Выборка.КоличествоОстаток;
Остаток.Склад = Выборка.СкладКомпании;
Остаток.Подразделение = Выборка.СкладКомпанииПодразделение;
Остаток.ЕдиницаИзмеренияНоменклатуры = Выборка.Номенклатура.ОсновнаяЕдиницаИзмерения;
КонецЦикла;
Возврат 0;
КонецФункции
|
|