Создание обработки для выгрузки в Excel, PDF, Docx, TXT (управляемые формы)

18.07.22

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

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

Создадим обработку ВыгрузкаВФайл. Добавим реквизиты КаталогСохраненния (строка Неограниченная длина), ТипФайла (строка 50).

 

 

Создадим форму обработки (контекстное меню "Форма" нашей обработки  -- Добавить -- Готово).

Перенесем на нее ТипФайла (синоним Формат файла). В свойствах элемента ТипФайла на закладке Использование откроем СписокВыбора и добавим значения XLS, PDF, DOCX, TXT.

 

 

Далее на вкладке "Основное" свойство Вид выберем "Вид переключателя". А свойство ВидПереключателя - Тумблер.

 

 

Создадим команду формы "Выгрузить". Разместим на форме и создадим обработчик &НаКлиенте

 

 

В процедуре размещаем следующий код:

	&НаКлиенте
	Процедура КнопкаВыгрузить(Команда)
		
	Режим = РежимДиалогаВыбораФайла.ВыборКаталога; 
	ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим); 
	ДиалогОткрытия.Каталог = ""; 
	ДиалогОткрытия.МножественныйВыбор = Ложь; 
	ДиалогОткрытия.Заголовок = "Выберите файл с контрагентами"; 

	Если ДиалогОткрытия.Выбрать() Тогда 
		ПутьККаталогу = ДиалогОткрытия.Каталог; 
	КонецЕсли;   
	
	Если Прав(ПутьККаталогу,1) <> "\" Тогда
		Объект.КаталогСохранения = ПутьККаталогу+"\";
	Иначе
		Объект.КаталогСохранения = ПутьККаталогу; 
		
	КонецЕсли;
	
	
	//Сформируем уникальное имя файла 
	ДатаИВремя = СтрЗаменить(ТекущаяДата(),":",".");
	ИмяФайла = "Импорт_" + ДатаИВремя;  
	
	//Создадим табличный документ
	ТабДок = Новый ТабличныйДокумент;
	
	ФорматФайла =  Объект.ТипФайла;
	
	//Добавим выбранный каталог к именя файла 
	ПолноеИмяФайла = Объект.КаталогСохранения + ИмяФайла + "." + ФорматФайла;
	
		// Определим в каком формате будет выгружен документ
	Если   ФорматФайла = "XLS" Тогда
		ЗадатьТип =  ТипФайлаТабличногоДокумента.xls; 
		
	ИначеЕсли 	ФорматФайла = "DOCX" Тогда   
		ЗадатьТип = ТипФайлаТабличногоДокумента.docx;
		
	ИначеЕсли ФорматФайла = "PDF" Тогда   
		ЗадатьТип = ТипФайлаТабличногоДокумента.pdf; 
		
	ИначеЕсли  ФорматФайла = "TXT" Тогда  
		ЗадатьТип = ТипФайлаТабличногоДокумента.txt;
		
	Иначе 
		Сообщить("Необходимо выбрать формат файла"); 
		Возврат;
	КонецЕсли;   
	
	 //Создадим файл и запишем в табличный документ
		ТабДок.Записать(ПолноеИмяФайла, ЗадатьТип); 
		
		//Заполним ТабДок на сервере
		ЗаполнитьТаблицуНаСервере(ТабДок);
		
		//Запишем заполненную таблицу в тот же файл
		ТабДок.Записать(ПолноеИмяФайла, ЗадатьТип);    		

	Сообщить("Выгрузка данных успешно завершена!");
 КонецПроцедуры

 

Создаем Макет у нашей обработки. У меня он максимально прост, всего два параметра: Наименование и Город; одна область - Строка.

 

 

Создаем в модуле формы следующую функцию.


Функция ЗаполнитьТаблицуНаСервере(ТабДок) Экспорт
	Макет = Обработки.ВыгрузкаВФайл.ПолучитьМакет("Макет");
	ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
	
		
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Контрагенты.Наименование,
		|	Контрагенты.Город
		|ИЗ
		|	Справочник.Контрагенты КАК Контрагенты
		|ГДЕ
		|	Контрагенты.ЭтоГруппа = Ложь";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		ОбластьСтрока.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
		ТабДок.Вывести(ОбластьСтрока);
	КонецЦикла;
	
	Возврат(ТабДок);
	
КонецФункции

Как видите, нажатие на кнопку "Выгрузить" сначала открывает окно выбора каталога для выгрузки. Затем формируется Табличный документ, ему присваивается уникальное имя.

 

В процедуре вызывается функция ЗаполнитьТаблицуНаСервере(ТабДок), в которую передается наш табличный документ.

В функции в запросе отбираются необходимые поля и заполняются строки таблицы. ТабДок возвращается в процедуру и записывается документ в выбранном формате.

Обработка готова. Пробуйте :)

 

Вы можете отредактировать запрос, доработать макет и заполнение табДока под Ваши нужды.

Успешной работы!

Загрузка документов из Excel в 1С

УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы. Загружайте документы из Excel в 1С за секунды! Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить".


Вступайте в нашу телеграмм-группу Инфостарт

обработка выгрузка в файл табличный документ XLS PDF DOCX TXT

См. также

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27660 руб.

12.06.2017    150374    875    302    

457

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    176704    323    271    

392

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

16260 руб.

18.02.2016    193593    632    540    

547

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

55778 50200 руб.

15.04.2019    77449    209    161    

146

Загрузка и выгрузка в Excel Маркетплейсы Программист Бухгалтер Пользователь 1С v8.3 Бухгалтерский учет 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы преобразуете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, Детский мир, МагнитЭкспресс (быв.Казань-Экспресс), Леруа Мерлен, ЭНФАНТА (Акушерство), ЛаМода, Летуаль, Твой дом, Золотое Яблоко в документы "Отчет комиссионера (агента) о продажах" и другие. Работает в 1С:БП 3.0, 1С:БП 3.0 КОРП, 1С:УТ 11, 1С:УНФ, 1С:ERP Управление предприятием.

5400 руб.

12.08.2021    41171    475    71    

198

SALE! 10%

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

55778 50200 руб.

24.04.2015    201498    166    248    

291

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:ERP Управление предприятием 2.5 и 1С:Комплексную автоматизацию 2.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.250.x), ERP 2.5 (2.5.22.x), КА 2.5 (2.5.22.x).

38000 34200 руб.

24.06.2020    66707    90    28    

100