21.04.2018

Чтение (Загрузка) данных из MXL в 1С 8.3

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

Выбор файла для обработки на клиенте

   Начнем с описания процедуры выбора файла MXL с учетом отказа от использования модальных вызовов. Для этих целей нам потребуется описать несколько клиентских процедура для управляемой формы:

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

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

Команда начала выполнения загрузки

«Форма диалога вопрос» перед началом обработки файла
&НаКлиенте
Процедура ВыполнитьЗагрузку(Команда)
	
	Оповещение	= Новый ОписаниеОповещения("НачатьВыполнениеЗагрузки", ЭтаФорма);
	ПоказатьВопрос(
		Оповещение, "Выполнить загрузку данных из файла """ + ИмяФайла + """ ?",
		РежимДиалогаВопрос.ДаНет, , , "Начало загрузки"
	);

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

&НаКлиенте
Процедура НачатьВыполнениеЗагрузки(Результат, Параметры) Экспорт
	
    Если НЕ Результат = КодВозвратаДиалога.Да Тогда
        Возврат;
    КонецЕсли;

	РезультатЗагрузки	= ВыполнитьЗагрузкуНаСервере(
		АдресХранения, ПерваяСтрока, КолонкаНаименование
	);
	
КонецПроцедуры
   Т.к. модальные вызовы мы не используем, то применяем соответствующие процедуры для формирования диалогового окна вопроса:
  • ОписаниеОповещения
  • ПоказатьВопрос

Чтение данных из файла MXL на стороне сервера

&НаСервереБезКонтекста
Функция ВыполнитьЗагрузкуНаСервере(АдресХранения, ПерваяСтрока, КолонкаНаименование)

	Путь	= КаталогВременныхФайлов() + "temp.mxl";
	Файл	= ПолучитьИзВременногоХранилища(АдресХранения);
	
	Файл.Записать(Путь);
	
	ДокументДляЧтения	= Новый ТабличныйДокумент;
	ДокументДляЧтения.Прочитать(Путь);
	
	ТекстВДокументе	= "";
	
	Для Индекс = ПерваяСтрока По ДокументДляЧтения.ВысотаТаблицы Цикл 
		
		//Метод ПолучитьОбласть(<НомерПервойСтроки>, <НомерПервойКолонки>,
		//<НомерПоследнейСтроки>, <НомерПоследнейКолонки>)
		
		ОбластьДокумента= ДокументДляЧтения.ПолучитьОбласть(Индекс, КолонкаНаименование);
		ТекстЯчейки		= ОбластьДокумента.ТекущаяОбласть.Текст;
		
		ТекстВДокументе	= ТекстВДокументе + ТекстЯчейки + Символы.ПС;
		
	КонецЦикла;
	
	Возврат ТекстВДокументе;
	
КонецФункции

Результат выполнения

Форма обработки чтения данных из MXL файла

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

Функция вычисления контрольной цифры для штрихкода EAN-13 (EAN-8)

    Рабочая функция для вычисления контрольной цифры в штрихкоде формата EAN-13 или EAN-8

Чтение текстового файла в 1С

    Пример чтения данных текстового файла (на клиенте и сервере) при разработке в режиме управляемого приложения 1С

Открыть форму выбора 1С 8.3

    Пример кода для открытия окна выбора элемента справочника, без использования модальных вызовов

Чтение и загрузка DBF в 1С 8.3

    Пример программного кода для чтения и/или записи файлов в формате DBF

Выгрузка объекта «1С» в XML и загрузка объекта из XML файла

    Пример выгрузки объекта информационной базы (СправочникОбъект, ДокументОбъект) «1С» в XML файл, и пример обратной загрузки объекта из XML файла

Выгрузка и загрузка XML через DOM

    Полезный пример того, как можно выгрузить в XML данные и загрузить обратно через DOM. Обработка осуществляется при помощи таких объектов как: ЗаписьXML, ЧтениеXML, ЗаписьDOM, ДокументDOM, ПостроительDOM.

HTTP запрос в 1С средствами «WinHttpRequest»

    Пример реализации HTTP запроса в 1С, средствами «WinHttpRequest» 

Программное изменение расписания фонового задания 1С 8.3

   Пример программного кода, для редактирования расписания выполнения фонового задания в 1С 8.3 в режиме отказа использования модальных вызовов

Оформление строк табличной части 1С 8.3

    Пример условного оформления элементов формы, в частности строк табличной части в 1С 8.3 (управляемые формы)

Обработка заполнения табличной части в 1С 8.3

    В статье рассматривается разработка обработки заполнения табличной части на примере конфигурации 1С:ERP
 

Запрос к таблице значений 1С 8.3

    В статье описан простой пример того, как можно сформировать запрос 1С к данным таблицы значений, т.е. как передать таблицу значений в параметр запроса
 

Динамическое создание колонок в таблице на форме 1С (Обычное приложение)

     Практический пример того, каким образом в таблице на форме (в режиме обычного приложения 1С), можно динамически создавать необходимое количество колонок, с возможностью установки обработки событий (например "ПриИзменении" в ячейке таблицы)

Динамическое создание колонок в таблице на форме 1С 8.3

      Практический пример того, каким образом в управляемом интерфейсе можно создавать и удалять колонки в таблице значений на форме

Чтение (загрузка) данных в 1С 8.3 из Excel

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

Сохранение и восстановление настроек 1С 8.3

    Пример работы с хранилищем настроек 1C, для программного сохранения и получения сохраненных настроек

Внешняя печатная форма 1С 8.3

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

Определение даты создания ссылки в 1С

Определяем дату создания ссылки по уникальному идентификатору объекта 1С

Программное создание команды и кнопки на форме 1С 8.3

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

Открыть форму созданного объекта (Справочник, документ в 1С 8.2, 8.3)

Создаем новый объект, НЕ записываем его в базу, и открываем форму