8.х 1C 8.2 Вызвать диалог открытия файла

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Yury, 8 фев 2012.

  1. TopicStarter Overlay
    Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29
    Здравствуйте,

    Столкнулся с такой как бы это сказать, даже проблемой не назовешь, фигней что-ли,

    Создаю объект метаданных Обработка, добавляю реквизит типа Строка
    Создаю форму обработки, добавляю реквизит на форму, устанавливаю для него событие НачалоВыбора, в модуле копирую в это событие из стандартной обработки:
    ===================
    Код:
    ДиалогФыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогФыбораФайла.Фильтр				  = "Файл данных (*.xml)|*.xml";
    ДиалогФыбораФайла.Заголовок			   = "Выберите файл";
    ДиалогФыбораФайла.ПредварительныйПросмотр = Ложь;
    ДиалогФыбораФайла.Расширение			  ="xml";
    ДиалогФыбораФайла.ИндексФильтра		   = 0;
    ДиалогФыбораФайла.ПолноеИмяФайла		  = Элемент.Значение;
    ДиалогФыбораФайла.ПроверятьСуществованиеФайла = ПроверятьСуществование;
    Если ДиалогФыбораФайла.Выбрать() Тогда
    Элемент.Значение = ДиалогФыбораФайла.ПолноеИмяФайла;
    КонецЕсли;

    ==================

    При сохранении получаю:
    Ну это борется директивой &НаКлиенте

    Форма открывается в но при начале выбора получаю другую ошибку:

    Что мне нужно сделать??? И еще вопрос, нельзя никак отказаться от этих управляемых форм, и полностью вручную лепить форму?
  2. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    посмотрите в отладчике какого типа Элемент.Значение.

    только что сделал подобное - все работает:

    Код:
    &НаКлиенте
    Процедура ФотографииИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    СтандартнаяОбработка = ложь;
    
    СтрокаТабличнойЧасти = Элементы.Файлы.ТекущиеДанные;
    
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Если Диалог.Выбрать() Тогда
    СтрокаТабличнойЧасти.ИмяФайла = Диалог.ПолноеИмяФайла;
    КонецЕсли;
    
    КонецПроцедуры
  3. TopicStarter Overlay
    Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29

    Элемент -- полеформы
  4. TopicStarter Overlay
    Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29

    А у вас что такое СтрокаТабличнойЧасти ??

    И вообще у меня не видит и
    .ТекущиеДанные
    Вызываю как Элементы.ФайлЛога.ТекущиеДанные, при трассировке посмотрел, действительно нет этого поля. ФайлЛога у меня это реквизит типа Строка самой обработки, и также называется поле формы обработки связанное с этим реквизитом.


    И как из модуля формы увидеть/обратиться к реквизиту? Из модуля объекта экспортные функции/процедуры тоже не видяться. Что нужно сделать чтоб все увидеть??
  5. TopicStarter Overlay
    Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29
    Странно, но получилось только когда сделал все через Объект
    Код:
    &НаКлиенте
    Процедура ФайлЛогаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    
    Диалог.Фильтр				  = "Файл данных (*.log)|*.log";
    Диалог.Заголовок			   = "Выберите файл";
    Диалог.ПредварительныйПросмотр = Ложь;
    Диалог.Расширение			  = "log";
    Диалог.ИндексФильтра		   = 0;
    Диалог.ПолноеИмяФайла		  = Объект.ФайлЛога;
    Диалог.ПроверятьСуществованиеФайла = Истина;
    
    
    Если Диалог.Выбрать() Тогда
    Объект.ФайлЛога = Диалог.ПолноеИмяФайла;
    КонецЕсли;
    
    КонецПроцедуры
  6. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Ничего странного, на клиент именно Объект доступен.

Поделиться этой страницей