20.12.2016

Выбор файла 1С 8.3

Автор: Белозерских Евгений

     Для выбора файла и последующих действий с ним (чтение, запись, xml чтение...), воспользуемся не модальным методом "НачатьПомещениеФайла". Короткая справка из синтакс-помощника:
Синтаксис:
НачатьПомещениеФайла(<ОписаниеОповещенияОЗавершении>, <Адрес>,
<НачальноеИмяФайла>, <Интерактивно>, <УникальныйИдентификаторФормы>)

Описание:
Помещает файл из локальной файловой системы во временное хранилище

Диалог выбора файла и обработка результата

     Начало выбора файла, выполняется на стороне клиента. Если пользователь выбрал файл, то переменная "Адрес" в процедуре "ЗакончитьВыборФайла" будет содержать адрес во временном хранилище, а переменная "Результат" будет равняться значению "Истина"
&НаКлиенте
Процедура ПрочитатьФайлВыписки(Команда)

	Описание	= Новый ОписаниеОповещения("ЗакончитьВыборФайла", ЭтотОбъект);
	НачатьПомещениеФайла(Описание, , , Истина, УникальныйИдентификатор);
	
КонецПроцедуры

&НаКлиенте
Процедура ЗакончитьВыборФайла(Результат, Адрес, Имя, ДопПараметры) Экспорт 

	Если Результат Тогда 

		ВыполнитьЧтениеНаСервре(Адрес);
		
	КонецЕсли;

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

Обработка файла на стороне сервера

     Теперь, мы можем перейти на сторону сервера, получить файл из временного хранилища, и выполнить чтение (например чтение файла xml)
&НаСервереБезКонтекста
Процедура ВыполнитьЧтениеНаСервре(АдресХранения)

	Путь	= КаталогВременныхФайлов() + "temp.xml";
	ФайлXML	= ПолучитьИзВременногоХранилища(АдресХранения);
	
	ФайлXML.Записать(Путь);

	ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.ОткрытьФайл(Путь);

	Пока ЧтениеXML.Прочитать() Цикл 
		// Какие-то действия
		// И еще немного
	КонецЦикла;

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

Другие статьи

Транзакция не активна «1С:Предприятие»

  Давайте рассмотрим как правильно организовать работу с транзакциями в 1С

Запуск фонового задания в 1С

    Наглядный пример выполнения произвольного алгоритма в режиме фонового задания

Переопределение (подмена) формы при открытии

    Предлагаю рассмотреть пример того, как можно переопределить (подменить) открываемую форму на другую (произвольную)

Функциональные опции 1С 8.3 (Механизм, использование)

    Рассмотрим механизмы, назначение и применение функциональных опций в платформе "1С:Предприятие" 8.3. Для этого возьмем простую конфигурацию и проверим поведение системы при использовании функциональных опций.

Общие реквизиты 1С 8.3

Общий реквизит – это реквизит, добавляемый к нескольким объектам конфигурации. Так же общий реквизит может использоваться как составная часть специального механизма разделения данных
 

Получение данных динамического списка 1С 8.3

      Динамический список обеспечивает быстрый просмотр больших объёмов данных. Но получить дополнительную информацию, например количество строк в списке, напрямую мы не можем.
      Давайте рассмотрим то, как это можно сделать. Например получить таблицу значений по данным динамического списка

Установка отбора в динамическом списке (1C 8.2, 8.3)

Рассмотрим пример программной установки отборов в динамических списках 1С

Представление объектов (ссылок) в 1С

Пара слов о том, как можно изменить получаемое представление объекта (ссылки) в 1С

Работаем с регистрами сведений

Разберем структуру таблиц регистров сведений в СУБД, механизмы предоставляемые платформой для операций чтения, записи и удаления записей периодических и непериодических регистров сведений, а также регистров подчиненных регистратору.

Версия 8.3.7 и приятные новшества

Приветствую! В данном обзоре предлагаю рассмотреть некоторые новшества в механизмах платформы 1С:Предприятие версии 8.3.7.