//сохранение данных таблицы значений в текстовой файл
//аргументы: М — таблица значений
Процедура ВыполнитьЭкспорт ( М )
Т =СоздатьОбъект( «Текст» );
Пока М . ПолучитьСтроку ()= 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 будет состоять из нескольких функций – так намного нагляднее и понятнее, чем одна большая процедура:
- Процедура запуска выгрузки в файл. Указываем путь к файлу, который нужно создать;
- Задаем разделитель и вызываем последовательно все функции – запроса данных, их обработки и записи;
- Функция получения данных, которые необходимо сохранить в CSV. Информация выгружается из базы данных в таблицу значений с помощью запроса;
- Формирование текста для нового файла с учетом разделителей, заголовков и переноса строк;
- Процедура записи полученной текстовой строки в конечный файл с указанием нужной кодировки.
Чтобы представить полученный файл в виде таблицы в Excel, можно воспользоваться мастером импорта текста. На вкладке «Данные» есть кнопка «Текст по столбцам». Необходимо выделить наш текст, который по умолчанию сохраняется в первый столбец, и нажать на эту кнопку. После простой настройки, в течение которой вы укажете разделитель, перед нами появится таблица.
Это код универсальной выгрузки данных, которая применима в большинстве случаев. Важно помнить, что выбранный символ разделителя не должен встречаться в данных, иначе придется обрабатывать конечный файл. Поэтому, перед тем как выгружать данные, проведите их анализ и определите наилучший вариант. Платформа 1С Предприятие 8.3 предоставляет широкий выбор, поэтому вряд ли возможна ситуация, когда в данных встречаются все спецсимволы.
Уверенная работа с CSV позволит вам зарекомендовать себя не только как опытного разработчика 1С, но и интегратора. На текущий момент большинство задач для 1С от крупных компаний связано именно с обменом данными между системами. Конечно, не во всех случаях подойдет приведенный выше алгоритм, но поняв его принцип, вы с легкостью доработаете его при необходимости.