здравствуйте. делаю выгрузку в еxcel файл, но почему то в макете ничего не отображается
&НаКлиенте
Процедура ВыгрузкаВExcel(Команда)
Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытия.Каталог = "";
ДиалогОткрытия.МножественныйВыбор = Ложь;
ДиалогОткрытия.Заголовок = "Выберите файл с контрагентами";
Если ДиалогОткрытия.Выбрать() Тогда
ПутьККаталогу = ДиалогОткрытия.Каталог;
КонецЕсли;
Если Прав(ПутьККаталогу,1) <> "\" Тогда
Объект.КаталогСохранения = ПутьККаталогу+"\";
Иначе
Объект.КаталогСохранения = ПутьККаталогу;
КонецЕсли;
//Сформируем уникальное имя файла
ДатаИВремя = СтрЗаменить(ТекущаяДата(),":",".");
ИмяФайла = "Импорт_" + ДатаИВремя;
ФорматФайла = Объект.ТипФайла;
//Добавим выбранный каталог к именя файла
ПолноеИмяФайла = Объект.КаталогСохранения + ИмяФайла + "." + ФорматФайла;
// Определим в каком формате будет выгружен документ
Если ФорматФайла = "XLS" Тогда
ЗадатьТип = ТипФайлаТабличногоДокумента.xls;
ИначеЕсли ФорматФайла = "DOCX" Тогда
ЗадатьТип = ТипФайлаТабличногоДокумента.docx;
ИначеЕсли ФорматФайла = "PDF" Тогда
ЗадатьТип = ТипФайлаТабличногоДокумента.pdf;
ИначеЕсли ФорматФайла = "TXT" Тогда
ЗадатьТип = ТипФайлаТабличногоДокумента.txt;
ИначеЕсли ФорматФайла = "XLSX" Тогда
ЗадатьТип = ТипФайлаТабличногоДокумента.xlsx;
Иначе
Сообщить("Необходимо выбрать формат файла");
Возврат;
КонецЕсли;
СозданныйФайл = ЗаполнитьТаблицуНаСервере() ;
СозданныйФайл.Записать(ПолноеИмяФайла, ЗадатьТип);
Сообщить("Выгрузка данных успешно завершена!");
КонецПроцедуры
&НаСервере
Функция ЗаполнитьТаблицуНаСервере() Экспорт
Макет = Документы.ПоступлениеТоваровУслуг.ПолучитьМакет("Макет");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Товары.(
| Номенклатура КАК Номенклатура,
| Количество КАК Количество,
| Сумма КАК Сумма,
| Цена КАК Цена
| ) КАК Товары
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг";
РезультатЗапроса = Запрос.Выполнить().Выбрать();
ТабДок = Новый ТабличныйДокумент;
//ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока РезультатЗапроса.Следующий() Цикл
ОбластьСтрока.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьСтрока);
КонецЦикла;
Возврат(ТабДок);
КонецФункции
// Конец СтандартныеПодсистемы.РаботаСФайлами
#КонецОбласти
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Пользовательские макеты внешних печатных форм и настраиваемый комплект документов по договорам
- Программная корректировка при выводе отчета СКД
- Фишки платформы и конфигураций 1С, о которых все знают, но почти никто не помнит
- Как я с отчетом СКД боролся (произвольный макет)!
- Пример внешней печатной формы в Word на БСП для УТ 11.5
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Если уж начал учиться, то логично делать это аккуратно последовательно.
1) учимся писать запрос и обходить его результаты. Для контроля пользуйся отладчиком или выводом сообщений. Делаем, пока не получим правильный результат.
2) учимся выводить результат, полученный в п. 1, в табличный документ и показывать его. Делаем, пока не получим правильный результат.
3) учимся записывать полученный в п. 2 результат в файл.
А ты хватаешься сразу за третий пункт, не сделав до конца первые.
Все это в предположении, что мы уже понимаем, что такое база данных, как она устроена, какие там таблицы есть, как и что туда записано и как это читать и т.д. и т.п.
1) учимся писать запрос и обходить его результаты. Для контроля пользуйся отладчиком или выводом сообщений. Делаем, пока не получим правильный результат.
2) учимся выводить результат, полученный в п. 1, в табличный документ и показывать его. Делаем, пока не получим правильный результат.
3) учимся записывать полученный в п. 2 результат в файл.
А ты хватаешься сразу за третий пункт, не сделав до конца первые.
Все это в предположении, что мы уже понимаем, что такое база данных, как она устроена, какие там таблицы есть, как и что туда записано и как это читать и т.д. и т.п.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот