Как открыть как файл в 1с 8

Обновлено: 01.07.2024

Как прочитать текстовый файл средствами платформы 1С 8.3 и как работать с ними в целом? Если не брать во внимание чтение специализированных форматов текстовых файлов то, по сути, во встроенном языке для этих целей реализованы два объекта: ЧтениеТекста и ТекстовыйДокумент. Рассмотрим на примерах, какие возможности предоставляет каждый из них.

ЧтениеТекста()

Объект ЧтениеТекста() предназначен для последовательного чтения текстовых файлов (большой длины)

Если требуется предварительно проанализировать параметры файла или параметры каталога, в котором он расположен необходимо использовать совместно с объектом Файл(). Пример кода, который перед чтением проверяет текстовый файл на существование, может выглядеть так:

Зачастую требуется возможность интерактивного выбора файла. Тогда необходимо использовать объект ДиалогВыбораФайла().Доступны три режима роботы объекта: ВыборКаталога, Открытие, Сохранение. Пример кода:

Если есть необходимость контролировать длину читаемых строк текстового файла, стоит заменить метод ПрочитатьСтроку() на Прочитать(). Однако отметим, что при указании параметра <РазмерСтроки>, заданное число может включать в себя символы переноса строки. То есть символы переноса строки идут в счёт параметра. Пример кода:

ТекстовыйДокумент()

Объект ТекстовыйДокумент() предназначен для работы с текстами. Позволяет получать и сохранять текст в файле, работать со строками, открывать текст в текстовом редакторе 1С:Предприятия. Обладает более богатым набором методов и свойств в отличие от объекта ЧтениеТекста(). При необходимости к нему так же применимы объекты Файл() и ДиалогВыбораФайла().

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Таким образом, с помощью данных объектов разработчику предоставляются широкие возможности для анализа и обработки текстовых документов.

В 1С 8.3 (8.2) для работы с файлами существует два объекта: Файл и ДиалогВыбораФайла.

Рассмотрим каждый по отдельности.

Объект Файл служит для управления параметрами файлов.

Сразу стоит заметить, что данный объект не предназначен для чтения и записи из файлов.

Например, прочитаем параметры некоторого файла, находящегося на диске C:

В результате мы получим следующую информацию (если файл найден):

Параметры файла:
Полное имя файла: C:\Работа с файлами\статья.txt
Имя: статья.txt
Имя без расширения: статья
Расширение: .txt
Путь без имени: C:\Работа с файлами\
Размер: 899
Это файл: Да
Изменен: 18.05.2015 16:21:28
Только чтение: Нет
Невидимость: Нет

Запись в файл

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Теперь, когда мы выбрали и открыли файл, можно с ним работать, т.е. прочитать его содержимое или записать в него что-нибудь.
Рассмотрим пример:

Чтение файла в 1С

Часто бывает необходимо прочитать текст файла построчно, например, для анализа каждой строки. Для этого используем объект ЧтениеТекста.

Запись текста из 1С в файл

Заметим, что при записи текстового файла можно установить кодировку.

Копирование файла

Здесь все очень просто

Перемещение

Удаление

Диалог выбора файла

В указанных выше примерах есть одно неудобство. Путь к файлу прописан жестко в коде. Чтобы выбрать файл интерактивно, существует объект ДиалогВыбораФайла, о котором речь пойдет ниже.

Объект ДиалогВыбораФайла служит для открытия файла (файлов), сохранения файла или выбора каталога в диалоге специального вида.

Например, выберем и откроем некоторый файл с расширением txt:
Задаем режим диалога выбора. Доступны три варианта: ВыборКаталога, Открытие, Сохранение

Время неумолимо идёт вперёд, а платформа 1С 8 бежит ещё быстрей этого времени.

Управляемые формы теперь называются "интерфейс ТАКСИ", модальные окна запрещены, а режим использования синхронных вызовов расширений и внешних компонент наглухо положил работоспособность большинства этих расширений и внешних компонент, и половину старых методов в добавок.

В общем, пацаны, дела такие - многие из вас читали статью великолепного Чистова П. о работе с файлами в 8.3

Если Вы ещё этого не сделали - бегом марш! (ссылка)

Суть механизма работы с файлами в кратце:

1) На клиенте выбираем файл

2) Пихаем его в чёрный ящик

3) Сохраняем содержимое чёрного ящика на сервере

Загвоздка состоит в том, что делать это надо особенно, по-новому и с душой.

и прочие языческие штучки здесь не прокатят.

Вот листинг кода, который позволяет загрузить файл с клиента

Нас интересует метод "НачатьПомещениеФайлов", который, собственно, вызывает диалог выбора файла и помещает этот файл во временное хранилище. Заморачиваться с описанием временного хранилища нет смысла, просто запомните - это то место, куда помещаются все выбранные нами файлы в виде двоичных данных (черный ящик).

Понять, что там и как храниться в этом временном хранилище практически невозможно. Можно только обратиться к нашему файлу по навигационной ссылке, которая присваивается автоматически (см. переменную "Адрес").

С тем, что файлы нужно хранить в реквизите или ресурсе с типом "Хранилище значения", спорить, думаю, никто не будет. Достать файл из временного хранилища и поместить его в реквизит с типом "Хранилище значения" можно след.образом:

С одним разобрались, теперь второе - как достать файл из этого хранилища значений (которое, напомню, находится на сервере) и сохранить на диск клиента?

Прежде всего, нам надо получить навигационную ссылку на реквизит с типом "Хранилище значения", куда у нас помещается файл в виде бинарных данных.

Будьте, внимательны! Эта навигационная ссылка уже не имеет с временным хранилищем ничего общего! Проверить тип навигационной ссылки можно методом

По традиции, листинг кода, который вызывает диалог сохранения файла

Значение переменной "Файл" это ещё одна особенность данного способа. Здесь стоит обратить внимание на "ИмяФайла". Дело в том, что помещая файл во временное хранилище, информация о его имени и расширении теряется. Поэтому не забудьте где-нибудь сохранять корректное имя файла, или хотя бы его расширение, чтобы потом не мучаться с вопросом "А это вордовский документ или мп3?"

Метод "НачатьПолучениеФайлов" аналогичен методу "НачатьПомещениеФайлов". Просто один открывает диалог для выбора файла, другой же, наоборот, открывает диалог для сохранения файла.

При использовании данного способа, никакие совместимости модальности и синхронных вызовов в свойствах конфигурации устанавливать не нужно.

Файл 1С с расширением *dt — это файл, который можно получить при создании копии базы через Конфигуратор. С помощью него в дальнейшем можно восстановить копию базы. Рассмотрим подробнее, как работать с этим файлом, на примере программы 1С:Бухгалтерия предприятия.

Как получить файл dt

Зайдем в программу через Конфигуратор под пользователем с полными правами.


Откроем меню «Администрирование — Выгрузить информационную базу».


Укажем папку для сохранения файла и название файла, нажмем «Сохранить». Название файлу рекомендуем давать понятное, осмысленное, а не оставлять по умолчанию. Так будет проще ориентироваться, если файлов будет несколько.


Получите понятные самоучители по 1С бесплатно:


В итоге в папке будет файл dt.


Как загрузить файл dt

Далее рассмотрим, как загрузить файл dt. На практике есть несколько частых сценариев:

  1. Переносим базу на другой компьютер.
  2. Продолжаем работать на текущем компьютере в имеющейся базе. Копия же нужна, например, чтобы поэкспериментировать.
  3. Текущая рабочая база нам не нужна, мы хотим ее заменить на копию.

В зависимости от этого немного отличаются дальнейшие действия.

В первом и втором случаях проще всего создать новую пустую базу и загрузить туда копию.

В третьем случае загружаем копию прямо на рабочую базу.

Загрузка копии в пустую базу

Для начала создадим пустую базу. Нажмем кнопку «Добавить».


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

Выбираем пункт «Создание новой информационной базы».



Можно создать базу и из шаблона, но это займет больше времени. Быстрее создать пустую базу, учитывая то, что на нее мы будем грузить копию.

Укажем название базы и папку для ее хранения.



Затем заходим в созданную базу в Конфигураторе.

Переходим в меню «Администрирование — Загрузить информационную базу».


Выбираем наш файл с расширением *dt и нажимаем «Открыть».


Нажимаем «Да» на предупреждение.


Через некоторое время база будет загружена.


Здесь нажмем «Нет», если не нужно заходить повторно в Конфигуратор загруженнной базы.

В итоге мы получим базу с данными из копии.

Загрузка копии в рабочую базу

В этом случае новую базу создавать не нужно.

Просто заходим в Конфигуратор той базы, которую нужно заменить на копию.

Затем выполняем описанные выше действия по загрузке файла dt.

Читайте также: