Имя: Пароль:
1C
1С v8
УФ. Как очистить табличную часть на форме?
0 Strogg
 
13.10.14
17:12
Добрый день, коллеги.
Создал общую команду. Работа команды - очистка табличных частей документов, переданных в качестве параметра. Тип параметра команды - составной тип, ссылки на несколько документов. Короче, не могу понять, как очистить ТЧ. Привожу код, который депйствует на одном типе документа, и не действует на другом:
---
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Если Вопрос("Очистить табличную часть?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да тогда
            ОчиститьНаСервере(ПараметрКоманды);
        КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ОчиститьНаСервере(ПараметрКоманды)
    ДокОбъект = ПараметрКоманды.ПолучитьОбъект();
    ДокОбъект.тч.Очистить();
    ДокОбъект.Записать();
КонецПроцедуры
----
В одном типе документа команда очищает ТЧ и все ок. В другом типе документа - не происходит обновление отображения на форме. Хотя у объекта данные очищаются. Но мне-то надо, чтоб пользователь видел изменения...
1 Heckfy
 
13.10.14
17:16
Элементы.ТЧ.Обновить();
2 Krolik Bezobraznik
 
13.10.14
17:18
Что то не ясно. Вы хотите обработкой очистить ТЧ каких то документов.Так? Если так, то формы доков не открыты же, зачем их обновлять?
3 Krolik Bezobraznik
 
13.10.14
17:24
Если ты очистил ТЧ дока а пользователь этот док смотрит и необходимо обновить, то думаю тебе поможет ОповеститьОбИзменении()
4 silent person
 
13.10.14
17:31
(3) он создал общую команду в составе конфигурации и повесил на нее обработчик. на управляемой форме документа команда появляется автоматически.
5 Strogg
 
13.10.14
19:15
(1) Где я возьму эти элементы, когда в параметре ссылка на документ?
(2), (3) все это выполняется в контексте формы, я думаю, а не в команде.
(4) да, так и есть. Надо как-то передать в параметр упр. форму. Если ничего не придумаю - сделаю тип параметра команды- множественный и попробую как-нибудь замутить с передачей управляемой формы в качестве параметра...
6 Strogg
 
13.10.14
20:01
В обсчем, коллеги, на будуЮсчее:
---
ПараметрыВыполненияКоманды.Источник.Объект.[ИмяТЧ].Очистить();
---
Т.к. у меня ИмяТЧ одинаковое во всех документах - то метод отрабатывает на ура после выполнения серверной процедуры. На ура, в смысле, в открытой форме ТЧ обновляется.
Спасибо за внимание :)
7 Маленький Вопросик
 
13.10.14
21:09
Объект.ТабЧасть.Очистить() - не работает?
8 Strogg
 
13.10.14
21:13
Работает. Для объекта. А вот данные формы не обновляет.