|
УФ. Как передать на форму данные из обработчика СписокПриПолученииДанныхНаСервере? |
☑ |
0
Тенепопятам
07.06.23
✎
15:30
|
Форма списка документов. В документу поле "Сумма". Нужно в зависимости от отборов на форме и не только пересчитывать итоговую сумму, которая отображается в шапке формы. Проблема в том, что СписокПриПолученииДанныхНаСервере() выполняется на сервере без контекста, Оповестить() не подходит по этой же причине. Как обновить итоговую сумму?
|
|
1
Lite777888
07.06.23
✎
15:42
|
Через временное хранилище.
|
|
2
timurhv
07.06.23
✎
20:50
|
(0) Самая итоговая сумма у вас с учетом отборов уже считается?
Сумму необходимо рассчитывать при изменении отборов через обработчик ожидания.
Серверный вызов будет 1, т.к. при каждом выводе строки обработчик отключится и подключится заново без дерганья сервера (в типовых так реализовано).
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
ОтключитьОбработчикОжидания("Подключаемый_ОбновитьИтоги");
ПодключитьОбработчикОжидания("Подключаемый_ОбновитьИтоги", 0.4, Истина);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьИтоги()
ОбновитьИтогиНаСервере();
КонецПроцедуры
|
|
3
timurhv
07.06.23
✎
20:53
|
КэшНастроекДС - реквизит формы
&НаСервере
Процедура ОбновитьИтогиНаСервере()
НастройкиДС = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных().Отбор;
ТекущиеНастройкиДС = Строка(НастройкиДС);
Если ЭтотОбъект.КэшНастроекДС <> ТекущиеНастройкиДС Тогда
ЭтотОбъект.КэшНастроекДС = ТекущиеНастройкиДС;
РассчитатьИтоговыеСуммыДокументовНаСервере(Элементы, Список);
КонецЕсли;
КонецПроцедуры
|
|