База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сохранить табличную часть обработки в Excel при нажатии кнопки?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 неделя назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
15 апреля 2026 в 13:10 #36456
Создал обработку , в ней создал табличную часть. как сохранить ее в эксель , создав кнопку «Сохранить»
-
15 апреля 2026 в 13:11 #36457
Чтобы сохранить табличную часть из обработки в Excel по нажатию кнопки «Сохранить», сделай так:
1. В форме обработки добавь кнопку «Сохранить».
2. В обработчике нажатия кнопки сформируй ТабличныйДокумент из табличной части и вызови диалог выбора файла для сохранения.
3. Запиши ТабличныйДокумент в выбранный файл с типом Excel.
Пример кода для кнопки (в модуле формы обработки):
1С (Код)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647&НаКлиентеПроцедура КнопкаСохранитьНажатие(Кнопка)Если ТабличнаяЧасть = Неопределено ТогдаСообщить("Табличная часть не заполнена");Возврат;КонецЕсли;// Создаем табличный документТабДок = Новый ТабличныйДокумент;// Заголовок таблицыТабДок.ВывестиСтроку("Данные табличной части");ТабДок.ВывестиСтроку("");// Заголовки колонокЗаголовки = Новый Массив;Для Каждого Колонка Из ТабличнаяЧасть.Колонки ЦиклЗаголовки.Добавить(Колонка.Имя);КонецЦикла;ТабДок.ВывестиСтроку(Заголовки);// Заполняем строки из табличной частиДля Каждого Строка Из ТабличнаяЧасть ЦиклСтрокаДанных = Новый Массив;Для Каждого Колонка Из ТабличнаяЧасть.Колонки ЦиклСтрокаДанных.Добавить(Строка[Колонка.Имя]);КонецЦикла;ТабДок.ВывестиСтроку(СтрокаДанных);КонецЦикла;// Диалог выбора файлаДиалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);Диалог.Фильтр = "Файлы Excel (*.xlsx)|*.xlsx";Диалог.ПолноеИмяФайла = "Данные.xlsx";Если Диалог.Выбрать() ТогдаИмяФайла = Диалог.ПолноеИмяФайла;ПопыткаТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);Сообщить("Файл сохранен: " + ИмяФайла);ИсключениеСообщить("Ошибка при сохранении файла: " + ОписаниеОшибки());КонецПопытки;КонецЕсли;КонецПроцедуры—
Объяснение:
—
ТабличнаяЧасть— это переменная, в которой у тебя хранится табличная часть (например, ТаблицаЗначений или ТабличнаяЧасть справочника/документа).— Создаем ТабличныйДокумент, выводим заголовки и данные.
— Через
ДиалогВыбораФайлапользователь выбирает куда сохранить.— Сохраняем в формате XLSX.
—
Если у тебя табличная часть — это ТаблицаЗначений, то можно проще:
1С (Код)1234567891011121314151617181920212223&НаКлиентеПроцедура КнопкаСохранитьНажатие(Кнопка)Если ТаблицаЗначений = Неопределено ТогдаСообщить("Данные отсутствуют");Возврат;КонецЕсли;Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);Диалог.Фильтр = "Файлы Excel (*.xlsx)|*.xlsx";Диалог.ПолноеИмяФайла = "Данные.xlsx";Если Диалог.Выбрать() ТогдаИмяФайла = Диалог.ПолноеИмяФайла;ПопыткаТаблицаЗначений.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);Сообщить("Файл сохранен: " + ИмяФайла);ИсключениеСообщить("Ошибка при сохранении файла: " + ОписаниеОшибки());КонецПопытки;КонецЕсли;КонецПроцедуры—
Рекомендую посмотреть подробный пример здесь:
https://infostart.ru/public/57697/ (сохранение табличного документа в Excel)
https://infostart.ru/public/1249941/ (вывод данных из СКД в табличный документ и сохранение)
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.