Обращение к файловой системе
Для работы с файловой системой предназначен объект "ФС". В принципе его не требуется создавать с помощью функции СоздатьОбъект. Можно считать, что он уже создан. Но 1С позволяет создать сколько угодно таких объектов при помощи функции СоздатьОбъект;
Пример:
ГдеМыНаходимся = ФС.ТекКаталог();
ФС.СоздатьКаталог("DOCS");
НовФС = СоздатьОбъект("ФС");
Объект "ФС" имеет следующие методы:
Метод | Описание |
ВыбратьФайл(<ИмяФайла>) | Открывает окно диалога выбора/сохранения файла. Возвращает: 0 - если в окне диалога нажата кнопка 'Отмена', 1 - если нажата кнопка 'ОК'. Синтаксис: ВыбратьФайл (<ТипДиалога>, <ИмяФайла>, <ИмяНачКаталога>, <ЗаголовокОкна>, <Фильтр>, <Расширение>, <Таймаут>) Параметры: <ТипДиалога> -: 0 - диалог типа <открыть>, 1 - диалог типа <сохранить>; <ИмяФайла> - переменная, содержащая на входе строку с именем файла, а на выходе - имя выбранного файла; <ИмяНачКаталога> - переменная, содержащая на входе строку с начальным каталогом, а на выходе - имя выбранного каталога; <ЗаголовокОкна> - строка с заголовком окна; <Фильтр> - строка с фильтром отбора файлов (например: 'Все файлы (*.*) |*.*'); <Расширение> - строка с расширением файла по умолчанию; <Таймаут> - время ожидания отклика пользователя в секундах (необязателен). |
ВыбратьФайлКартинки | Открывает окно диалога выбора/сохранения файла картинки. Возвращает: 0 - если в окне диалога нажата кнопка 'Отмена', 1 - если нажата кнопка 'ОК'. Синтаксис: ВыбратьФайлКартинки (<ТипДиалога>, <ИмяФайла>, <ИмяНачКаталога>, <ЗаголовокОкна>, <Расширение>, <Таймаут>) |
ВыбратьКаталог | Открывает окно диалога выбора каталога. Возвращает: 0 - если в окне диалога нажата кнопка 'Отмена'; 1 - если в окне диалога нажата кнопка 'ОК', при этом в переменную <ИмяНачКаталога> возвращается имя выбранного каталога; -1 (минус единица) - закончилось время <Таймаут> ожидания отклика пользователя. Синтаксис: ВыбратьКаталог(<ИмяКаталога>,<ЗаголовокОкна>,<Таймаут>) |
СуществуетФайл | Проверяет существование файла.. Возвращает: 1 - файл существует; 0 - не существует. Синтаксис: СуществуетФайл(<ИмяФайла>) |
КопироватьФайл | Копирует файл. Синтаксис: КопироватьФайл(<ИмяФайлаИсточника>,<ИмяФайлаПриемника>,<ФлагПерезаписи>) Параметры: <ИмяФайлаИсточника> - строка с именем файла источника; <ИмяФайлаПриемника> - строка с именем файла приемника; <ФлагПерезаписи> -: 0 - существующий файл приемника перезаписать; 1 - существующий файл приемника не перезаписывать. |
УдалитьФайл | Удаляет файл. Синтаксис: УдалитьФайл(<ИмяФайла>) |
ПереименоватьФайл | Переименовать/переместить файл. Синтаксис: ПереименоватьФайл(<ИмяФайлаИсточника>, <ИмяФайлаПриемника>, <ФлагПерезаписи>) Параметры: <ИмяФайлаИсточника> - строка с именем файла источника; <ИмяФайлаПриемника> - строка с новым именем файла; <ФлагПерезаписи> -: 0 - запрещает перемещение файла между дисками и существующий файл приемника не перезаписывается; 1 - разрешает перемещение файла между дисками (только для файлов) и существующий файл приемника перезаписывается. |
НайтиПервыйФайл | Открывает выборку файлов по заданной маске и находит первый файл. Возвращает строку с именем найденного файла. Синтаксис: НайтиПервыйФайл(<МаскаИмени>) |
НайтиСледующийФайл | Находит следующий файл по открытой выборке файлов. Возвращает строку с именем найденного файла. Синтаксис: НайтиСледующийФайл() |
АтрибутыФайла | Возвращает атрибуты файла (в параметрах). Синтаксис: АтрибутыФайла (<ИмяФайла>, <РазмерФайла>, <АтрибутыФайла>, <ВремяСоздания>, <ВремяПоследнегоДоступа>, <ВремяПоследнейЗаписи>, <РасширенноеИмяФайла>) Атрибуты файла закодированы, об этом см. Синтакс-Помощник или описание встроенного языка |
СоздатьКаталог | Создать новый каталог (папку). Синтаксис:СоздатьКаталог(<ИмяКаталога>) |
УдалитьКаталог | Удаляет каталог файлов. Синтаксис: УдалитьКаталог(<ИмяФайла>) |
УстТекКаталог | Устанавливает текущий каталог файлов. Синтаксис: УстТекКаталог(<ИмяФайла>) |
ТекКаталог | Возвращает строку с именем текущего каталога файлов. |
WindowsКаталог | Возвращает строку с именем Windows директории. |
СвободноеМестоНаДиске | Возвращает размер свободного дискового пространства в байтах. Синтаксис: СвободноеМестоНаДиске(<ИмяДиска>) |
Также часто применяются системные функции:
Метод | Описание |
КаталогИБ | Возвращает имя каталога базы данных. |
КаталогПользователя | Возвращает имя каталога пользователя. |
КаталогПрограммы | Возвращает имя каталога с исполняемыми файлами системы 1С:Предприятие. |
КаталогВременныхФайлов | Возвращает имя каталога временных файлов. |
ИмяКомпьютера | Возвращает сетевое имя компьютера, работающего в данный момент с программой. |
Примеры
Пример 1
//переместить все текстовые файлы (*.txt) из каталога информационной базы в каталог TXT.
ФС.УстТекКаталог(КаталогИБ());
ИмяФайла = "";
ИмяФайла = ФС.НайтиПервыйФайл("*.txt");
Если ИмяФайла <> "" Тогда
.... ФС.СоздатьКаталог("TXT");
.....ФС.КопироватьФайл(ИмяФайла,ФС.ТекКаталог() + "TXT" + ИмяФайла);
.....ФС.УдалитьФайл(ИмяФайла);
Пока 1=1 Цикл
ИмяФайла = " ";
.....ИмяФайла = ФС.НайтиСледующийФайл()
Если ИмяФайла <> "" Тогда
.....ФС.КопироватьФайл(ИмяФайла,ФС.ТекКаталог() + "TXT" + ИмяФайла);
.....ФС.УдалитьФайл(ИмяФайла);
Иначе
..... Прервать;
КонецЕсли;
КонецЦикла;
Пример 2
//выбрать файл с фотографией сотрудника
ИмяФайла = "";
ИмяКаталога = КаталогИБ();
Если ФС.ВыбратьФайлКартинки(0,ИмяФайла,ИмяКаталога,"Укажите файл с фотографией:",,20)=1 Тогда
ВремКартинка = СоздатьОбъект("Картинка");
ВремКартинка.Загрузить(ИмяКаталога + ИмяФайла);
КартинкаНаФорме.УстановитьКартинку(ВремКартинка);
КонецЕсли;
Диаграммы
Диаграмма предоставляет удобное графическое представление некоторого набора данных, чаще всего результатов каких-либо изменений. 1С предоставляет собственный (надо сказать, приятный) инструмент такого графического представления - объект "Диаграмма". Область диаграммы состоит из нескольких частей: область построения (там создается рисунок), заголовка (надписи над рисунком), легенды (расшифровки меток серий). В диаграмме имеются серии (т.е. наборы значений) и точки, из которых состоят серии (см. рис.1).
Создание диаграммы
Диаграмма вставляется в таблицу печатной формы с помощью пункта Вставить рисунок меню Таблица. Далее необходимо сделать следующие действия: определить тип диаграммы (гистограмма, график, круговая и т.п.), настроить внешний вид составных частей диаграммы, а затем описать процедуру "наполнения" данными при выводе печатной формы. Пройдемся поподробнее по каждому из этих действий.
Задание типа диаграммы
Для отображения разных наборов данных имеются более или менее удачные типы диаграмм. Задача программиста при конфигурировании определить тип будущей диаграммы, и задать его при форматировании области построения (контекстное меню области - закладка Тип диаграммы). Задав тип и закрыв окно форматирования, можно увидеть пример построенной диаграммы.