Выгрузка данных документа в CSV

1. user1791360 03.06.23 14:14 Сейчас в теме
Добрый день! Уважаемые Гуру, помогите советом, плиз. Есть документ со списком студентов и нескольких ТЧ. Как проще и оптимальнее выгрузить все это в CSV? Из самого документа или посредством регистров? Пробовал оба способа - застрял, поэтому обращаюсь сюда. Простой пример с данными справочника у меня получился, с данными документа тоже, а вот с ТЧ никак. Читал что можно как то создать промежуточную таблицу для ТЧ и ее потом прикрепить к ТЗ, но не понимаю как это сделать?
вот последний мой код:
&НаСервере
Процедура ВыгрузкаВФайлCSVНаСервере()
ИспользуемыйРазделитель = ";";
ФайлCSV="d:\Data_Students.csv";

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

РезультатЗапроса = Запрос.Выполнить().Выгрузить();
ТЗ = РезультатЗапроса;
//**********************************

ТекстCSV=""; // Текст с учетом заголовков, разделителей и переноса строк
Для Каждого СтрокаТЗ Из ТЗ Цикл

Если ТекстCSV="" Тогда

СтрокаКол="";
КолонкиТЗ=ТЗ.Колонки;
Для Каждого Колонка Из КолонкиТЗ Цикл
СтрокаКол = "" + СтрокаКол + Колонка.Имя + ИспользуемыйРазделитель ;
КонецЦикла;
ТекстCSV = СтрокаКол + Символы.ПС;

КонецЕсли;

ТекстCSV = ТекстCSV + СтрокаТЗ.Код + ИспользуемыйРазделитель + СтрокаТЗ.Наименование
+ Символы.ПС;

КонецЦикла;

КодANSI = КодировкаТекста.ANSI;
ТекстовыйФайлЗапись = Новый ЗаписьТекста(ФайлCSV, КодANSI); // Создание файла CSV
ТекстовыйФайлЗапись.ЗаписатьСтроку(ТекстCSV); // Запись информации в файл
ТекстовыйФайлЗапись.Закрыть(); // Обязательно закрываем, иначе зависает в процессе
КонецПроцедуры

&НаКлиенте
Процедура ВыгрузкаВФайлCSV(Команда)
ВыгрузкаВФайлCSVНаСервере();
КонецПроцедуры
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starik-2005 3039 05.06.23 06:35 Сейчас в теме
//...
//  МассивКолонок - массив заголовков
//  Разделитель = ";" (как вариант)
//  Строки - коллекция строк или таблица значений
  КСВ = новый ЗаписьТекста(Что-тотам);
  КСВ.ЗаписатьСтроку(СтрСоединить(МассивКолонок, Разделитель));
  Для каждого Строка ИЗ Строки Цикл
    КСВ.ЗаписатьСтроку(СтрСоединить(МассивКолонок(Строка), Разделитель);
  КонецЦикла;
  КСВ.Звкрыть();
...
...
...
Функция МассивКолонок(Коллекция)
  М = Новый Массив;
  Для каждого Ст ИЗ Коллекция Цикл
    М.Добавить(Ст);
  КонецЦикла;
  Возврат М;
КонецФункции
Показать
user1619761; +1 Ответить
3. user1791360 05.06.23 08:29 Сейчас в теме
Реализовал через регистры
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот