|
Очистить табличное поле при смене активизации строки | ☑ | ||
---|---|---|---|---|
0
temik_a
27.03.12
✎
18:07
|
Ребята, я начинающий поделитесь опытом)) В общем, Есть одно табличное поле с товаром (номенклатура) при активизации строки в другое табличное поле попадают данные.
Как сделать так чтоб при смене активизированной строки в первом табличном поле, менялись данные во втором. сейчас они просто добавляются к уже существующим. Процедура ТаблицаНедовложенийПриАктивизацииСтроки(Элемент) Стр = Элемент.ТекущаяСтрока; //Стр = ЭлементыФормы.ТаблицаНедовложений.ТекущиеДанные; Если Стр=Неопределено Тогда Возврат; КонецЕсли; Стр = ПолучитьОстатокТовара(Стр.Номенклатура); КонецПроцедуры А это функция которая делает данные для второго табличного поля Функция ПолучитьОстатокТовара (Номенклатура) Запрос = Новый Запрос; Запрос.Текст = " | ВЫБРАТЬ | ОстаткиТоваровКомпанииОстатки.СкладКомпании.Подразделение, | ОстаткиТоваровКомпанииОстатки.СкладКомпании, | ОстаткиТоваровКомпанииОстатки.Номенклатура, | СУММА (ОстаткиТоваровКомпанииОстатки.КоличествоОстаток), | ОстаткиТоваровКомпанииОстатки.Номенклатура.ОсновнаяЕдиницаИзмерения |ИЗ | РегистрНакопления.ОстаткиТоваровКомпании.Остатки (, Номенклатура = &Номенклатура) КАК ОстаткиТоваровКомпанииОстатки |СГРУППИРОВАТЬ ПО |ОстаткиТоваровКомпанииОстатки.СкладКомпании.Подразделение, |ОстаткиТоваровКомпанииОстатки.СкладКомпании, | ОстаткиТоваровКомпанииОстатки.Номенклатура "; Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("СкладКомпании", СкладКомпании); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл Остаток = Недовложения.Добавить(); Остаток.Номенклатура = Выборка.Номенклатура; Остаток.Остаток = Выборка.КоличествоОстаток; Остаток.Склад = Выборка.СкладКомпании; Остаток.Подразделение = Выборка.СкладКомпанииПодразделение; Остаток.ЕдиницаИзмеренияНоменклатуры = Выборка.Номенклатура.ОсновнаяЕдиницаИзмерения; КонецЦикла; Возврат 0; КонецФункции |
|||
1
Alex S D
27.03.12
✎
18:09
|
Недовложения.Очистить()
|
|||
2
Человечкин
27.03.12
✎
18:23
|
(1) ))))))))))
|
|||
3
temik_a
28.03.12
✎
10:03
|
Не помогает, удаляет все, а при следующей активизации данные из функции не переходят
|
|||
4
temik_a
28.03.12
✎
11:23
|
НЕт, все таки помогло. Недовложения.Очистить() нужно было вставить в самое начало функции ПолучитьОстатокТовара
|
|||
5
cViper
28.03.12
✎
11:29
|
(0) Рекомендую сделать КЭШ в виде временной таблицы, и потом к этому кэшу обращаться при активизации строки. Так как делаешь ты получится слишком ресурсо-затратно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |