Имя: Пароль:
1C
 
Не удается получить объект
0 falselight
 
11.12.17
13:55
Необходимо получить объект что бы очистить его табличную часть
и провести его. Но упорно выходит ошибка. Как получить объект
что бьы произвести над ним действия?


{ВнешняяОбработка.ПроведениеОчисткаТЧ.Форма.Форма.Форма(5)}: Ошибка при вызове метода контекста (ВернутьДокОбъект)
    ДокОбъект = ВернутьДокОбъект();
по причине:
При подписке ЗаписатьВерсиюОбъекта на событие ПриЗаписи произошла ошибка. Обработчик события не найден.

//
&НаКлиенте
Процедура ПровестиИОчиститьТЧ(Команда)
    ДокОбъект = ВернутьДокОбъект();
    МетаданныеОбъекта = ДокОбъект.Метаданные();
    Если МетаданныеОбъекта.ТабличныеЧасти.Найти("ВидыЗапасов") <> Неопределено Тогда    
        ДокОбъект.ВидыЗапасов.Очистить();
        ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
        Сообщить("Проведен документ " + СТРОКА(ДокОбъект.Ссылка));
    Иначе
        Сообщить("У документа нет табличной части <<виды запасов>>");
    КонецЕсли;
КонецПроцедуры
//
&НаСервере
Функция ВернутьДокОбъект()
    Возврат ЭтаФорма.ПроводимыйДокумент.ПолучитьОбъект();
КонецФункции
1 vicof
 
11.12.17
13:57
Угадал автора
2 Pandoch
 
11.12.17
14:01
У тебя вобще ругается на то, что обработчик не найден в подписке на событие..проверьё есть ли в модуле объекта процедура ПриЗаписи
3 mehfk
 
11.12.17
14:01
(0) Пригласите специалиста.
4 Pandoch
 
11.12.17
14:02
А, не, обработчик не задан в подписке или задан не существующий
5 perester
 
11.12.17
14:04
Почисти кэш, если не поможет посмотри подписки на события
6 falselight
 
11.12.17
14:05
Туплю..... Все на сервере стал делать!!!!
7 falselight
 
11.12.17
14:07
так нормально работает


//
&НаКлиенте
Процедура ПровестиИОчиститьТЧ(Команда)
    ВыполнитьНаСервере();
КонецПроцедуры
//
&НаСервере
Процедура ВыполнитьНаСервере()
    ДокОбъект = ЭтаФорма.ПроводимыйДокумент.ПолучитьОбъект();
    МетаданныеОбъекта = ДокОбъект.Метаданные();
    Если МетаданныеОбъекта.ТабличныеЧасти.Найти("ВидыЗапасов") <> Неопределено Тогда    
        ДокОбъект.ВидыЗапасов.Очистить();
        ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
        Сообщить("Проведен документ " + СТРОКА(ДокОбъект.Ссылка));
    Иначе
        Сообщить("У документа нет табличной части <<виды запасов>>");
    КонецЕсли;    
КонецПроцедуры
//
8 perester
 
11.12.17
15:08
(7) так ругалось на получить объект, а не последующий код, при чем тут следующий код если ошибка выдавалась до его обработки?
9 Mankubus
 
11.12.17
15:22
(8) из клиента не был виден модуль в котором лежит обработчик подписки