Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:57

Метод объекта не обнаружен(метаданные)

Автор illidanstr, 02 мая 2018, 14:07

0 Пользователей и 1 гость просматривают эту тему.

illidanstr

Создал форму в которой выбирается документ(любой) из базы данных и Параметр произвольного типа. При выборе документа и нажатии на кнопку документ преобразуется в метаданные.Однако падает с ошибкой:"Метод объекта не обнаружен(метаданные)".Просто пока мне  нужно было работать с выбранным документом не глобально(по нажатию кнопки записать метаданные в файл),а в процедуре формы "ПутьКДокументуНачалоВыбора", метаданные доксылки получались без ошибки&НаСервере
Функция ГенерДок()
     
     возврат Документы.ТипВсеСсылки();
КонецФункции



&НаКлиенте
Процедура ПутьКДокументуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)Экспорт
    перем ДокСсылка;

    Документы=ГенерДок();
   
   
    ВвестиЗначение(ДокСсылка,,Документы);
    Объект.ПутьКДокументу=ДокСсылка;
    Параметры.ДокСсылка=ДокСсылка;
    ИмяРеквизита = "Дата";


КонецПроцедуры


Процедура ВыгрузитьДокумент(Команда)
        Метаданные=Параметры.ДокСсылка.Метаданные();
       
       
   
           
КонецПроцедуры

AIFrame

Цитата: illidanstr от 02 мая 2018, 14:07документ преобразуется в метаданные
Звучит как "Брюки превращаются в Холодильник "Бирюса".
Цитата: illidanstr от 02 мая 2018, 14:07"Метод объекта не обнаружен(метаданные)"
Процедура ВыгрузитьДокумент(Команда)
Директива выполнения какая? И не вижу, где эта процедура вызывается. Вы либо весь код давайте, либо нормально рассказывайте, чего изобретаете.

illidanstr


&НаСервере
Функция ГенерДок()
возврат Документы.ТипВсеСсылки();
КонецФункции



&НаКлиенте
Процедура ПутьКДокументуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)Экспорт
перем ДокСсылка;

Документы=ГенерДок();


ВвестиЗначение(Параметры.ДокСсылка,,Документы);
Объект.ПутьКДокументу=Параметры.ДокСсылка;

ИмяРеквизита = "Дата";


КонецПроцедуры

&НаКлиенте
Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Фильтр = "(*.txt)|*.txt";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.ПроверятьСуществованиеФайла = Истина;
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
ДиалогОткрытияФайла.Заголовок = "Выберите текстовый файл";

Если ДиалогОткрытияФайла.Выбрать() Тогда             
                Объект.ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла;

Иначе
Сообщить("Выбран не текстовый формат");


Возврат;
КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ВыгрузитьДокумент(Команда)
Файл = Новый ЗаписьТекста(объект.ПутьКФайлу);

Метаданные=ГенерМетаданные();
Файл.ЗаписатьСтроку(Метаданные["имя"]);


КонецПроцедуры

&НаСервере
Функция ГенерМетаданные()
возврат Параметры.ДокСсылка.Метаданные();
КонецФункции


объект.ПутьКФайлу=Неопределено;
Параметры.ДокСсылка=Неопределено;


Вот весь код. Выполняю учебное задание,где произвольный документ преобразуется в текстовый формат и наоборот. Как я понял,метод "метаданные()" доступен только на сервере,создал функцию где он бы выполнялся и принимался на клиенте для записи в файл,однако все равно ошибки(

Добавлено: 02 мая 2018, 17:14


ошибка "Значение не является значением объектного типа"

AIFrame

Каша какая-то.
объект.ПутьКФайлу=Неопределено;
Параметры.ДокСсылка=Неопределено;

Ты вот это зачем делаешь?
Где проверки на is not None тогда?
Цитироватьпроизвольный документ преобразуется в текстовый формат
Ты зачем Документы=ГенерДок(); ? Ты зачем Параметры ? Добавь ты поле ввода, назначь ему Тип ДокументСсылка и выбирай. По очистке один фиг тип значения будет сброшен.
Выбирай док и передавай на сервер за метаданными, можешь без контекста. А то нагородил 3 колеса квадратных.
И проверки на None. Если переменная потенциально может быть неопределено - ВСЕГДА проверяй.
И отладчик с точками останова.

illidanstr

мне нужно делать по шаблону,а там должна быть кнопка выбора.Однако если я выбираю тип ДокументСсылка то она пропадает.Как-то можно исправить?

AIFrame

Я все еще не понимаю, в чем у тебя сложность.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск