1с таблица значений в csv

//сохранение данных таблицы значений в текстовой файл

//аргументы: М — таблица значений

Процедура ВыполнитьЭкспорт ( М )

Т =СоздатьОбъект( «Текст» );

Пока М . ПолучитьСтроку ()= 1 Цикл

Состояние( «Экспорт: » +Цел( М . НомерСтроки / М . КоличествоСтрок ()* 100 )+ «%» );

тФирма = М . Фирма . ПолныйКод ();

тТовар = М . Товар . ПолныйКод ();

тСклад = М . Склад . ПолныйКод ();

тКоличество = М . Количество ;

тСумма = М . Сумма ;

Т . ДобавитьСтроку ( «Фирма=» + тФирма + «;Товар=» + тТовар + «;Склад=» + тСклад + «;Количество=» + тКоличество + «;Сумма=» + тСумма + «;» );

Файл = «export» +Формат( ДатаК , «Д ГГГГММДД» )+ «.csv» ;

Т . Записать ( Файл );

Сообщить( «Файл с данными сохранен в каталоге экспортной БД: » +КаталогИБ()+ Файл );

Замечания на J008@J008.ru.

Отдельное спасибо Анастасии С. за ценные замечания.

Весь процесс получения файла можно разделить на три шага:

В примере мы ограничимся первыми 1000 записями. Если нужно получить всю выборку — первую строчку запроса нужно изменить:

Вместо: «ВЫБРАТЬ ПЕРВЫЕ 1000»

  • Выполним запрос к справочнику Номенклатуры — вернем Таблицу Значений в основную функцию
  • Из Таблицы Значений создаем текст-строку CSV -(текст заголовков и текст данных)
  • Строку CSV записываем в обычный текстовый файл с кодировкой ANSI и с расширением .csv

На выходе получаем:

Открыть csv файл можно в текстовом редакторе в виде простого текста или в Excel в виде таблицы: Последовательность экспора my.csv в Excel:

Предлагаем решение Ваших задач 1С.

Внедрение 1С:

  • Организуем вам индивидуальное экспресс обучение программам 1С.
  • Мы поможем Вам начать работать с программами 1С.
  • Мы поможем Вам настроить ваши отчеты в 1С.
  • Установим и настроим 1С под ваши задачи.
  • Поможем сделать ввод начальных остатков по складам и контрагентам
  • Перенесем данные из старых систем.
  • Подскажем как избежать ошибок.

Доработка и сопровождение 1С:

  • Доработаем существующие или создадим новые печатных формы и документы.
  • Разработаем внешние отчеты по Вашим требованиям.
  • Напишем внешние обработоки по загрузке документов из учетных (торговых) систем в бухгалтерию.
  • Разработаем приложения для выгрузки данных на сайты.

Ориентировочная стоимость работ программиста 1С : 500 р. за 1 час работы.

Формат CSV распространен в современном информационном мире достаточно широко, поэтому взаимодействовать с ним рано или поздно придется любому разработчику в среде 1С. Наиболее часто импорт CSV используют, чтобы получить в 1С данные с сайта. Несмотря на то, что часто в него выгружают таблицы, важно понимать, что это текстовый формат со специальными разделителями. В их роли могут выступать различные знаки препинания или специальные символы – табуляция и другие.

Загрузка CSV в 1C 8.3

Самостоятельных функций работы с CSV-файлами в платформе 1С Предприятие 8.3 нет. Разработчикам приходится работать с ним как с текстовым форматом, впоследствии разбивая полученные данные на отдельные столбцы. Это немного сложнее и требует от неопытных программистов некоторого времени на теоретическую подготовку. Впрочем, если у вас простой формат данных, то можно воспользоваться текстом универсальной обработки выгрузки и загрузки информации.

В первую очередь необходимо нужный файл разместить в каталоге, доступном 1С. Также придется выбрать символ – разделитель, который отделяет данные различных столбцов в строке текстового документа. Проследите, чтобы в значениях не встречался выбранный символ-разделитель, так как это помешает корректной обработке при загрузке данных. В большинстве случаев алгоритм загрузки CSV файла в 1С состоит из следующих этапов:

  • Считываем данные на клиенте в текстовый документ, указав путь к файлу формата CSV;
  • Передаем прочитанный текстовый документ в процедуру на сервере;
  • В серверной процедуре создаем таблицу значений, в которую впоследствии будут загружены данные и задаем разделитель, используемый в конкретном CSV. Очень важно, чтобы это был уникальный символ, не используемый в значениях. Часто используют знаки препинания или специальные знаки;
  • Если в файле присутствует шапка таблицы, то считываем ее и разделяем на отдельные значения в массив по символу-разделителю. Используется стандартная функция платформы «СтрРазделить», с которой можно ознакомиться в синтакс-помощнике. Если в файле не было названий столбцов, то эти команды нужно убрать;
  • Задаем столбцы в ТЗ, которую создали, попутно приравнивая их к единому формату. Кроме этого, в названии столбцов таблицы значений не допускается пробелов, поэтому их нужно убирать;
  • В цикле проходим построчно весь текстовый файл и каждую строку разделяем на столбцы с помощью выбранного разделителя. Во вложенном цикле заполняем каждый столбец значением из строки текстового документа.

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

Также в работе часто приходится выгружать данные из 1С для разнообразных программ. Формат CSV отлично подходит для этого, так как с ним работает большинство приложений. Единственный момент – разделяющий символ нужно заранее продумать и согласовать, чтобы принимающему данные программисту было легче обрабатывать файлы.

Выгрузка в CSV из 1С 8.3

Перед тем как настраивать экспорт в CSV, стоит определиться с каталогом, в который будут выгружаться данные. У пользователя, который будет выгружать данные, должен быть доступ на запись в выбранную папку. Обработка для CSV будет состоять из нескольких функций – так намного нагляднее и понятнее, чем одна большая процедура:

  1. Процедура запуска выгрузки в файл. Указываем путь к файлу, который нужно создать;
  2. Задаем разделитель и вызываем последовательно все функции – запроса данных, их обработки и записи;
  3. Функция получения данных, которые необходимо сохранить в CSV. Информация выгружается из базы данных в таблицу значений с помощью запроса;
  4. Формирование текста для нового файла с учетом разделителей, заголовков и переноса строк;
  5. Процедура записи полученной текстовой строки в конечный файл с указанием нужной кодировки.

Чтобы представить полученный файл в виде таблицы в Excel, можно воспользоваться мастером импорта текста. На вкладке «Данные» есть кнопка «Текст по столбцам». Необходимо выделить наш текст, который по умолчанию сохраняется в первый столбец, и нажать на эту кнопку. После простой настройки, в течение которой вы укажете разделитель, перед нами появится таблица.

Это код универсальной выгрузки данных, которая применима в большинстве случаев. Важно помнить, что выбранный символ разделителя не должен встречаться в данных, иначе придется обрабатывать конечный файл. Поэтому, перед тем как выгружать данные, проведите их анализ и определите наилучший вариант. Платформа 1С Предприятие 8.3 предоставляет широкий выбор, поэтому вряд ли возможна ситуация, когда в данных встречаются все спецсимволы.

Уверенная работа с CSV позволит вам зарекомендовать себя не только как опытного разработчика 1С, но и интегратора. На текущий момент большинство задач для 1С от крупных компаний связано именно с обменом данными между системами. Конечно, не во всех случаях подойдет приведенный выше алгоритм, но поняв его принцип, вы с легкостью доработаете его при необходимости.

Оцените статью
Добавить комментарий