|
УФ обновление инфы в табличной части документа | ☑ | ||
---|---|---|---|---|
0
invest
12.10.15
✎
11:26
|
Добрый день.
Имеется документ с табличной частью. Это таблица имеет всего одну физическую колонку который имеет путь Объект.Заказы.Документ. Также имеется формальная колонка сумма заявки которая имеет путь к данным Объект.Заказы.Документ.СуммаДокумента. Все конечно хорошо работает но когда сумма документа изменяется программно то в табличной части значение сумму заявки не изменяется. Как можно решить? |
|||
1
GreatOne
12.10.15
✎
11:28
|
обновить()
|
|||
2
invest
12.10.15
✎
11:39
|
(1) Элементы.Заказы.Обновить();
не сработало |
|||
3
hhhh
12.10.15
✎
11:47
|
перечитать() наверно
|
|||
4
GreatOne
12.10.15
✎
11:49
|
||||
5
invest
12.10.15
✎
12:10
|
(4) не открывается залейте, плиз на яндекс файлы
|
|||
6
Любопытная
12.10.15
✎
12:11
|
(5) ОбновитьОтображениеДанных ищи в СП
|
|||
7
DTXyupyup
12.10.15
✎
12:22
|
Я так понял, у него изменяется сумма другого документа.
> когда сумма документа изменяется программно то в табличной части значение сумму заявки не изменяется. Как можно решить? Программно изменить сумму заявки. А вообще покажи, как программно изменяешь сумму документа. Для ясности |
|||
8
invest
12.10.15
✎
12:26
|
(6) не сработало
|
|||
9
invest
12.10.15
✎
12:31
|
(7). активизируем строку табличной части. Нажимаем на кнопку "Изменить" в командной панели табличной части. Открывается окно в модальном режиме. там правим реквизиты. вызаваем серверную процедуру при нажатие кнопки ок.
&НаСервере Процедура ОбновитьЗаказКлиента() ЗаказОбъект = Документ.ПолучитьОбъект(); Для Каждого СтрокаНоменклатуры Из Товары Цикл НайденнаяСтрока = ЗаказОбъект.Товары.Найти(СтрокаНоменклатуры.Номенклатура, "Номенклатура"); Если НайденнаяСтрока = Неопределено Тогда Продолжить; КонецЕсли; Если СтрокаНоменклатуры.Количество = СтрокаНоменклатуры.Отказ Тогда // полный отказ по позиции НайденнаяСтрока.Отменено = Истина; НайденнаяСтрока.ПричинаОтмены = ПредопределенноеЗначение("Справочник.ПричиныОтменыЗаказовКлиентов.ОсновнаяПричина"); Иначе НайденнаяСтрока.Отменено = Ложь; НайденнаяСтрока.ПричинаОтмены = ПредопределенноеЗначение("Справочник.ПричиныОтменыЗаказовКлиентов.ПустаяСсылка"); НайденнаяСтрока.Количество = СтрокаНоменклатуры.Количество - СтрокаНоменклатуры.Отказ; НайденнаяСтрока.КоличествоУпаковок = НайденнаяСтрока.Количество; СтруктураДействий = Новый Структура; СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(ЗаказОбъект); СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц"); СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы); СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы); СтруктураДействий.Вставить("ПересчитатьСумму"); СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомРучнойСкидки", Новый Структура("Очищать", Ложь)); СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомАвтоматическойСкидки", Новый Структура("Очищать", Истина)); //ТекущаяСтрокаСтруктура = ПолучитьТекущуюСтрокуСтруктурой(НайденнаяСтрока, СтруктураДействий); ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(НайденнаяСтрока, СтруктураДействий, Неопределено); //ЗаполнитьЗначенияСвойств(ТекущаяСтрока,ТекущаяСтрокаСтруктура); КонецЕсли; КонецЦикла; НайденныеСтроки = ЗаказОбъект.Товары.НайтиСтроки(Новый Структура("Отменено", Истина)); Если НайденныеСтроки.Количество() = ЗаказОбъект.Товары.Количество() Тогда ЗаказОбъект.ЭтапыГрафикаОплаты.Очистить(); ЗаказОбъект.Статус = Перечисления.СтатусыЗаказовКлиентов.Закрыт; КонецЕсли; ЗаказОбъект.Записать(); КонецПроцедуры и ЭтаФорма.Закрыть(Новый Структура("Модифицирован", Истина)); модульная форма закрыта с передачей параметров. Теперь надо дать команду обновить реквизит. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |