Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 09:33
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Экспорт данных из 1С в документ .txt.  (Прочитано 5578 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн bandit541

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-04-04
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте. Сделал 11 отчетов, готовых, который формируют данные.
Помогите пожалуйста в следующем:
Все эти отчеты объединить в один файл (обработку), чтобы экспорт (выгрузка) данных происходила в файлы с расширением .txt в количестве 11 штук с определенным наименованием (наименования тоже есть).
Не получается домыслить куда и как прилепить код.
Находил примеры готовых процедур типа:       но что то неполучилось
Помогите пожалуйста :)
v8.x: Пример выгрузки данных в Текстовый файл, документ
Код 1C v 8.х

 Режим = РежимДиалогаВыбораФайла.Сохранение;
ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогСохраненияФайла.ПолноеИмяФайла = "Выгрузка_"+Формат(ПериодРегистрации,"ДФ=M_yy");
Фильтр = "Текст(*.txt)|*.txt";                 
ДиалогСохраненияФайла.Фильтр = Фильтр;
ДиалогСохраненияФайла.МножественныйВыбор = Ложь;
ДиалогСохраненияФайла.Заголовок = "Выберите файл";
Если ДиалогСохраненияФайла.Выбрать() Тогда
   ПутьКФайлу = ДиалогСохраненияФайла.ПолноеИмяФайла;
   // выбрали файл, сохраняем в него Проводки
   ТекДок = Новый ТекстовыйДокумент;
   Для Каждого Стр Из Проводки Цикл
      Состояние("Выгружаю строку: "+Строка(Стр.НомерСтроки));
      ТекДок.ДобавитьСтроку(Строка(стр.СчетДт)+"~"+Строка(стр.СчетКт)+"~"+Строка(стр.Физлицо.Код)+"~"+Формат(стр.СуммаВыгр,"ЧГ=0"));
   КонецЦикла;   
КонецЕсли;   
ТекДок.Записать(ПутьКФайлу);   

____________________________________________________________________________________________
Пример кода одного из отчетов:

Процедура КнопкаСформироватьНажатие(Кнопка)
   //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

   Макет = ПолучитьМакет("Макет");
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ТоварыНаСкладахОстатки.Номенклатура.Код КАК code,
      |   ТоварыНаСкладахОстатки.Номенклатура.Артикул КАК art,
      |   Штрихкоды.Штрихкод КАК barcode,
      |   ТоварыНаСкладахОстатки.Номенклатура КАК name,
      |   ТоварыНаСкладахОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент КАК pack,
      |   ЦеныНоменклатурыКонтрагентов.Цена КАК price,
      |   88 КАК manfid
      |ИЗ
      |   РегистрСведений.Штрихкоды КАК Штрихкоды
      |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура.ОсновнойПоставщик = &Поставщик) КАК ТоварыНаСкладахОстатки
      |      ПО Штрихкоды.Владелец = ТоварыНаСкладахОстатки.Номенклатура,
      |   РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентов";

      Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
          Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
      Запрос.УстановитьПараметр("Поставщик", Поставщик);
 
   Результат = Запрос.Выполнить();

   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
   ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
   ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
   ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

   ТабДок = ЭлементыФормы.ТабДок ;
   ТабДок.Очистить();
   ТабДок.Вывести(ОбластьЗаголовок);
   ТабДок.Вывести(ОбластьШапкаТаблицы);
   ТабДок.НачатьАвтогруппировкуСтрок();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
      ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
   КонецЦикла;

   ТабДок.ЗакончитьАвтогруппировкуСтрок();
   ТабДок.Вывести(ОбластьПодвалТаблицы);
   ТабДок.Вывести(ОбластьПодвал);

   //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
                         

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

В этом отчете вывод данных происходит в ТабДок, сейчас нужно это убрать и сделать просто экспорт данных.


Оффлайн wise

  • ****
  • Сообщений: 428
  • РЕПУТАЦИЯ: 58
  • КПД: 14%
  • Кто сгорел, того не подожжешь
  • Регистрация: 2013-03-21
  • Сайт: 
  • Профессия: Ученик 1С
Цитировать
нужно это убрать и сделать просто экспорт данных
ну, дык, и выводи поля в текст...
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Та же самая процедура, просто вместо всяких ТабДок.Вывести() необходимо писать в файл

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
У табличного документа есть метод Записать(), который позволяет сохранить ТабДок во внешний файл, с выбранным форматом.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн bandit541

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-04-04
  • Сайт: 
  • Профессия: Ученик 1С
Та же самая процедура, просто вместо всяких ТабДок.Вывести() необходимо писать в файл
Писать в файл, как эта процедура наглядно выглядеть должна. Правильный синтаксис
?????
Покажите пожалуйста на примере с кодом отчета который в теме.

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
А вариант Klyacksa Вам не подходит?

UPD:
навскидку
Процедура КнопкаСформироватьНажатие(Кнопка)
   //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ТоварыНаСкладахОстатки.Номенклатура.Код КАК code,
      |   ТоварыНаСкладахОстатки.Номенклатура.Артикул КАК art,
      |   Штрихкоды.Штрихкод КАК barcode,
      |   ТоварыНаСкладахОстатки.Номенклатура КАК name,
      |   ТоварыНаСкладахОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент КАК pack,
      |   ЦеныНоменклатурыКонтрагентов.Цена КАК price,
      |   88 КАК manfid
      |ИЗ
      |   РегистрСведений.Штрихкоды КАК Штрихкоды
      |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура.ОсновнойПоставщик = &Поставщик) КАК ТоварыНаСкладахОстатки
      |      ПО Штрихкоды.Владелец = ТоварыНаСкладахОстатки.Номенклатура,
      |   РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентов";

      Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
          Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
      Запрос.УстановитьПараметр("Поставщик", Поставщик);
 
   Результат = Запрос.Выполнить();
   ТекДок = Новый ТекстовыйДокумент;
   ВыборкаДетальныеЗаписи = Результат.Выбрать();
   
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      ТекДок.ДобавитьСтроку("Тут нужные данные с разделителем");
   КонецЦикла;

  ТекДок.Записать(ПутьКФайлу);   
                         
КонецПроцедуры     


Теги:
 

Перенос данных из 1с 82 БП (базовая) в 1с 82 БГУ (базовая)

Автор Владимир87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7445
Последний ответ 06 Дек 2014, 17:40
от дфтын
Поиск по бае данных,(полнотекстовый поиск)

Автор kot_ooРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 3887
Последний ответ 19 Май 2014, 15:40
от kot_oo
Как исправить при обновлении ИБ: Ошибка в запросе набора данных по причине: {(58, 2)}: Несовместимые типы "ВЫБОР" <<?>>ВЫБОР

Автор dollРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2119
Последний ответ 01 Янв 2017, 20:27
от Геннадий ОбьГЭС
"Задваивание" данных в отчете

Автор mashencev_antonРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 13
Просмотров: 7351
Последний ответ 15 Окт 2015, 11:21
от Mari_beginner
Куда сохраняются данные в режиме работы клиент при выгрузке данных обработкой "Универсальный обмен данными в формате XML"

Автор xDDРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 6961
Последний ответ 13 Ноя 2014, 08:23
от cska-fanat-kz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
177 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
AIFrame
45 Сообщений
alex0402
44 Сообщений
andron81_81
38 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 678
  • Точка Скрытых: 0
  • Точка Пользователей: 19
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal