![]() |
|
Перечитать данные в табличной части документа | ☑ | ||
---|---|---|---|---|
0
digiti
14.01.16
✎
09:17
|
Здравствуйте!
Имеется документ Ремонтная ведомость (РВ), у которой есть табличная часть, состоящая из документов Ордер. При изменении реквизита РВ (коэффициента к стоимости работ) происходит запись и проведение документа РВ и пересчет и запись с проведение всех документов табличной части (ордеров). Но после этого на форме РВ в табличной части не обновляется колонка суммы ордеров, хотя подвал сумм обновляется. Суммы ордеров имеет путь к данным - ДокументОбъект.СписокОрдеров.Ордер.СуммаДляСписка, т.е. это реквизит ордера, а подвал - ДокументОбъект.ВсегоСтоимость (это реквизит РВ). Если открыть ордер в ТЧ и потом его провести и закрыть, то после этого все обновляется. Хотя открывается он уже с новыми пересчитанными данными. Закомментировала то, что пробовала. ============================== &НаКлиенте Процедура КоэффициентКСтРаботПриИзменении(Элемент) ПарЗап = Новый Структура; ПарЗап.Вставить("РежимЗаписи", РежимЗаписиДокумента.Проведение); ЭтотОбъект.Записать(ПарЗап); Всего = 0; Для Каждого СтрокаТЧ из ДокументОбъект.СписокОрдеров Цикл ПересчитатьВсеСтрокиПослеИзменений(СтрокаТЧ.Ордер); Всего = Всего + ПолучитьОбщуюСтоимость(СтрокаТЧ.Ордер); КонецЦикла; ДокументОбъект.ВсегоСтоимость = Всего; //Элементы.СписокОрдеров1.Обновить(); //ОбновитьОтображениеДанных(); //ЭтаФорма.ОбновитьОтображениеДанных(); //ЭтотОбъект.Прочитать(); //ЭтаФорма.Прочитать(); КонецПроцедуры ============================== &НаСервере Процедура ПересчитатьВсеСтрокиПослеИзменений(ОрдерСсылка) ..... расчеты.... Ордер.СуммаДляСписка = ОбщаяСтоимость; Ордер.Записать(РежимЗаписиДокумента.Проведение); КонецПроцедуры ============================== &НаСервере Функция ПолучитьОбщуюСтоимость(Ордер) ОС = 0; ОрдерОбъект = Ордер.ПолучитьОбъект(); ОС = ОрдерОбъект.СуммаДляСписка; Возврат ОС; КонецФункции |
|||
1
Никулин Леонид
14.01.16
✎
09:20
|
Тебе обновить отображение данных что ли нужно?
|
|||
2
digiti
14.01.16
✎
09:29
|
Да. Обновить суммы в каждой строчке ТЧ - ДокументОбъект.СписокОрдеров.Ордер.СуммаДляСписка
|
|||
3
Никулин Леонид
14.01.16
✎
11:11
|
&НаКлиенте
ОбновитьОтображениеДанных(); |
|||
4
rozer76
14.01.16
✎
12:53
|
>> происходит запись и проведение
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>) Прочитать (Read) Синтаксис: Прочитать() Описание: Считывает данные документа из базы данных. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Примечание: Позволяет прочесть данные заново. Недопустим для нового объекта. Пример: РасходнаяНакладная.Прочитать(); |
|||
5
digiti
15.01.16
✎
08:46
|
В примере кода закоменнтированные строчки - это то, что пробовала.
//ОбновитьОтображениеДанных(); //ЭтотОбъект.Прочитать(); //ЭтаФорма.Прочитать(); не помогают. |
|||
6
digiti
18.01.16
✎
08:43
|
Разобралась. Не хватало в цикле пересчета строчки ОповеститьОбИзменении(СтрокаТЧ.Ордер).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |