Часто у пользователей возникает задача получить данные из информационной базы 1С в виде отдельного текстового файла. Например, необходимо выгрузить большой список вопросов для тестирования, перечень товаров из документа или справочник контрагентов. Разберем по шагам, где 1С хранит информацию и как правильно экспортировать нужные списки и документы, не прибегая к сложным манипуляциям.
Прежде чем говорить о выгрузке, проанализируем ситуацию с хранением. Все данные, которые пользователи вносят в режиме 1С:Предприятие (документы, элементы справочников, записи регистров), физически сохраняются в Системе Управления Базами Данных (СУБД). В зависимости от архитектуры, это может быть проприетарный внутренний формат 1С (файловый вариант работы) или промышленная СУБД вроде MS SQL или PostgreSQL (клиент-серверный вариант).
Сама по себе идея "выгрузить всю базу в текстовый файл" абсурдна, так как реляционная база имеет сложную структуру связей. Однако выгрузка конкретного документа, справочника или списка — это стандартная задача, которая решается несколькими способами. Рассмотрим подробнее каждый из них.
Самый простой и доступный метод для любого пользователя, не требующий навыков программирования.
Если нам нужно быстро перенести небольшой объем информации, воспользуемся простым выделением:
Если требуется выгрузить данные не просто для просмотра, а для переноса в другую базу 1С, посмотрим на стандартные инструменты:
Если список нужно предварительно отфильтровать (например, вывести только вопросы по определенной теме), мы можем использовать Систему Компоновки Данных (СКД) или консоль запросов/отчетов:
Для более сложных задач, когда нужен строго определенный формат текста (например, для загрузки в стороннюю программу), программисты используют инструменты встроенного языка. Разберем основные объекты:
1. Объект ТекстовыйДокумент
Позволяет сформировать файл в оперативной памяти и записать его на диск. Отлично подходит для небольших объемов данных.
Текст = Новый ТекстовыйДокумент;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Текст.ДобавитьСтроку(Выборка.Наименование + ";" + Выборка.Артикул);
КонецЦикла;
Текст.Записать("C:\Export\Data.txt");
2. Объект ЗаписьТекста
Если база содержит тысячи строк, использование предыдущего метода приведет к перерасходу памяти. В этом случае выясним причину и применим потоковую запись с помощью ЗаписьТекста. Данные будут писаться на диск построчно, что сэкономит ресурсы.
3. Выгрузка в JSON
В современных конфигурациях 1С 8.3 крайне популярна выгрузка в формат JSON. Для этого используется объект ЗаписьJSON, который формирует легковесный и понятный для других систем текстовый файл.
Таким образом, платформа 1С предоставляет множество вариантов получения данных: от элементарного копирования списка в блокнот до написания сложных алгоритмов построчной выгрузки в JSON или CSV. Выбор метода зависит от ваших текущих прав доступа (пользователь или разработчик) и конечной цели использования текстового файла.