1С-Предприятие. Документация | Описание внешней компоненты V7Plus.dll
Введение. Свойства и методы объекта V7Mail
Назначение и порядок использования
Объект компоненты предназначен для расширения функциональности 1С:Предприятия
в части работы с электронной почтой. Он позволяет работать как с программой
1C:Электронная Почта, так и с любым почтовым клиентом, работающим
через MAPI (например Outlook Express, Outlook ). С помощью объекта V7Mail
можно создавать, посылать и принимать сообщения, причем сообщение может иметь
несколько адресатов и присоединенных файлов.
Для осуществления доступа к методам и свойствам объекта V7Mail необходимо
вызвать функциюСоздатьОбъект, передав ей строку AddIn.V7Mail в
качестве параметра, и получить ссылку на объект, которая присваивается переменной,
через которую и будет осуществляться доступ.
Например:
Почта = СоздатьОбъект(AddIn.V7Mail);
Работа с почтой начинается с установки соединения с помощью метода Подключиться,
который инициализирует сеанс работы с почтой. Если параметры подключения не
заданы, то они берутся со страницы свойств компоненты. Для организации сеанса
с параметрами подключения, отличающимися от заданных на странице свойств компоненты,
необходимо указать эти параметры в методе Подключиться. Если подключение прошло
успешно, можно начать работу с сообщениями.
Для инициализации процесса создания нового сообщения используется метод НовоеСообщение.
Далее, с помощью метода ДобавитьАдрес можно задать один или несколько адресов,
по которым будет отправлено сообщение. Формат адреса зависит от почтового
клиента, выбранного в параметрах подключения. При необходимости, можно присоединить
к сообщению один или несколько файлов, воспользовавшись методом ДобавитьФайл.
Заголовок и текст сообщения задаются в соответствующих атрибутах сообщения.
Отправка сообщения осуществляется с помощью метода Послать. Для успешной
отправки сообщения необходимо, чтобы для него был задан хотя бы один адресат.
Метод Послать предоставляет возможность просмотра и редактирования сообщения
перед отправкой (только в случае работы с клиентом MAPI ). Для этого необходимо
передать в качестве параметра Просмотр 1.
Процесс приема сообщений инициализируется методом ВыбратьСообщения. Если
в полученной выборке присутствует хотя бы одно сообщение - он возвращает 1,
в противном случае - 0. Если выбрано хотя бы одно сообщение, то можно организовать
цикл их получения с помощью метода ПолучитьСообщение, который последовательно
выбирает их из полученной выборки. Если возвращаемое значение равно 0, то
сообщений больше нет. После получения сообщения доступны для чтения адрес
отправителя и заголовок сообщения. Для получения доступа к тексту и присоединенным
файлам сообщения, его необходимо прочитать с помощью метода ПрочитатьСообщение.
Этот метод изменяет статус сообщения на прочитанное, и оно не попадает в последующие
выборки.
Если необходимо, чтобы сообщение попадало в последующие выборки, можно не
изменять статус сообщения, передав в качестве параметра 0. Текст сообщения
хранится в атрибуте Текст, а полные пути к присоединенным файлам можно получить,
организовав цикл с помощью метода ПолучитьФайл. Если присоединенных файлов
больше нет, метод ПолучитьФайл возвращает 0. Файлы копируются во временный
каталог и удаляются при переходе на следующее сообщение (ПолучитьСообщение).
Завершается работа с почтой с помощью метода Отключиться.
Настройка параметров объекта
Настройка параметров объекта V7Mail производится в диалоге системных настроек,
который вызывается при выборе пункта Параметры раздела меню Сервис.
На закладке Электронная почта вынесены следующие настройки:
Тип почты2>
MAPI или 1C:Электронная Почта - позволяет установить
тип электронной почты, с которой будет работать компонента. Если этот параметр
не задан, при инициализации сеанса работы с почтой в методе Подключиться следует
указать его значение (см. описание метода Подключиться).
В зависимости от выбранного типа электронной почты на странице свойств отображаются
соответствующие данному типу параметры подключения.
MAPI2>
Для этого типа электронной почты необходимо указать следующие параметры:
Конфигурация подключения (строковое выражение) - конфигурация подключения
(например - Outlook).
Пароль (строковое выражение) - пароль абонента.
Указывать параметры не обязательно, т.к. если они не заданы или заданы неправильно,
то при инициализации сеанса работы с почтой методом Подключиться без параметров
выбирается конфигурация подключения, заданная по умолчанию почтовым клиентом
MAPI.
Если нужно организовать сеанс работы с почтой с параметрами подключения,
отличными от заданных в конфигурации подключения клиента MAPI, то нужно задать
эти параметры на странице свойств компоненты (Сервис/Параметры/Электронная
почта) или в методе Подключиться.
1C:Электронная почта2>
Для этого типа электронной почты необходимо указать следующие параметры:
Имя пользователя (строковое выражение) - почтовое имя абонента в системе
1С:Электронная Почта (например - ИМЯ.УЗЕЛ, где Имя
- локальное имя пользователя, УЗЕЛ - наименование почтового узла).
Пароль (строковое выражение) - пароль абонента в системе 1С:Электронная
Почта.
Каталог почтового узла (строковое выражение) - путь к сетевому почтовому
узлу (диск должен быть обязательно подключен).
В случае использования программы 1С:Электронная Почта параметры
подключения должны быть обязательно определены либо на странице свойств компоненты,
либо при инициализации сеанса работы с почтой с помощью метода Подключиться.
Все параметры являются обязательными и не могут быть пропущены. При нажатии
кнопки Применить компонента пытается установить соединение с почтовым узлом
и, если соединение установлено, сохраняет параметры подключения.
В случае использования программы 1С:Электронная Почта необходимо
дополнительно использовать dll-файлы 1cml32.dll и unizip32.dll,
которые следует поместить в каталог с файлом программы (на
Пример: C:\Program
Files\1cv77\BIN) или каталог базы данных.
Внимание!!! Если до использования метода Подключить уже запущена программа
1C:Электронная Почта, соединение с почтовым узлом не может быть
установлено, а в табло сообщений об этом выводится соответствующее сообщение.
Описание атрибутов и методов объекта V7Mail
Атрибуты2>
Заголовок
Синтаксис:
Заголовок
Англоязычный синоним:
Subject
Описание:
Заголовок сообщения (строковое выражение).
Текст
Синтаксис:
Текст
Англоязычный синоним:
Text
Описание:
Текст сообщения (строковое выражение).
ДатаОтправки
Синтаксис:
ДатаОтправки
Англоязычный синоним:
DatеSend
Описание:
Дата отправки письма в формате ГГГГ/ММ/ДД ЧЧ:ММ, где ГГГГ - год,
ММ - месяц, ДД - день; ЧЧ - час, ММ - минута отправки письма.
2>
Методы2>
Подключиться
Инициализация сеанса работы с почтой
Синтаксис:
Подключиться()
Подключиться(1C, ИмяАбонента, Пароль, КаталогПочтовогоУзла)
Подключиться(MAPI, КонфигурацияПодключения, Пароль)
Англоязычный синоним:
Logon
Параметры:
ИмяАбонента (строковое выражение)
- почтовое имя абонента в системе 1С:Электронная Почта
Пароль (строковое выражение) - пароль
КаталогПочтовогоУзла (строковое выражение) - каталог почтового
узла (диск должен быть обязательно подключен)
КонфигурацияПодключения (строковое выражение) - название
используемой конфигурации подключения
Возвращаемое значение:
Нет
Описание:
1.Метод Подключиться инициализирует сеанс работы с почтой в соответствии
с выбранным на закладке свойств компоненты типом почты и параметрами подключения.
2.Метод Подключиться инициализирует сеанс работы с 1С:Электронная Почта
с выбранными параметрами подключения.
3.Метод Подключиться инициализирует сеанс работы с почтой MAPI с соответствующими
параметрами подключения и паролем.
Отключиться
Завершить сеанса работы с почтой
Синтаксис:
Отключиться()
Англоязычный синоним:
Logoff
Параметры:
Нет
Возвращаемое значение:
Нет
Описание:
Метод Отключиться завершает сеанс работы с почтой инициализированный методом
Подключиться.
НовоеСообщение
Создать новое сообщение
Синтаксис:
НовоеСообщение()
Англоязычный синоним:
NewMessage
Параметры:
Нет
Возвращаемое значение:
Нет
Описание:
Метод НовоеСообщение инициализирует создание нового сообщения. После инициализации
происходит заполнение его реквизитов с последующим вызовом метода Послать.
ДобавитьАдрес
Добавляет адрес рассылки письма
Синтаксис:
ДобавитьАдрес(Адрес)
Англоязычный синоним:
AddAddress
Параметры:
Адрес (строковое выражение) - почтовый адрес
Возвращаемое значение:
Нет
Описание:
Метод ДобавитьАдрес добавляет адрес в список адресов получателей данного
сообщения, созданного методом НовоеСообщение. Адрес формируется в соответствии
с выбранным типом ЭП.
ДобавитьФайл
Добавляет файл к письму
Синтаксис:
ДобавитьФайл(ИмяФайла)
Англоязычный синоним:
AddFile
Параметры:
ИмяФайла (строковое выражение) - значение полного пути к добавляемому
файлу
Возвращаемое значение:
Нет
Описание:
Метод ДобавитьФайл позволяет добавить имя нового файла в список присоединенных
файлов сообщения, созданного методом НовоеСообщение. Файл должен существовать.
В случае 1C:Электронная Почта диск, на котором находится файл
(диск должен быть обязательно подключен).
Послать
Послать сообщение
Синтаксис:
Послать(Просмотр)
Англоязычный синоним:
Send
Параметры:
Просмотр числовое значение
0 - не отображать окно редактирования сообщения перед отправкой (значение
по умолчанию)
1 - отображает окно редактирования и позволяет просмотреть и отредактировать
сообщение перед отправкой (только в случае работы с клиентом MAPI)
Возвращаемое значение:
Нет
Описание:
Метод Послать позволяет отправить сообщение, созданного методом НовоеСообщение.
У посылаемого сообщения обязательно должен быть задан хотя бы один адресат.
ВыбратьСообщения
Инициализирует процесс получения сообщений
Синтаксис:
ВыбратьСообщения()
Англоязычный синоним:
SelectMеssages
Параметры:
Нет
Возвращаемое значение:
Числовое значение:
0 - сообщений нет;
1 - выбрано хотя бы одно сообщение.
Описание:
Метод ВыбратьСообщения инициализирует процесс получения сообщений с помощью
метода ПолучитьСообщение.
ПолучитьСообщение
ПолучитьСообщение
Синтаксис:
ПолучитьСообщение()
Англоязычный синоним:
ReceiveMessage
Параметры:
Нет
Возвращаемое значение:
Числовое значение:
1 - сообщение получено успешно;
0 - сообщений больше нет.
Описание:
Метод ПолучитьСообщение выбирает следующее сообщение из выборки, открытой
с помощью метода ВыбратьСообщения. Данный метод используется для организации
цикла по сообщениям. После получения сообщения доступны для чтения адрес
отправителя и заголовок сообщения. Содержимое сообщения (текст и присоединенные
файлы) будет доступно после выполнения метода ПрочитатьСообщение.
ПрочитатьСообщение
Получить содержимое сообщения
Синтаксис:
ПрочитатьСообщение(Флаг)
Англоязычный синоним:
ReadMessage
Параметры:
Флаг Числовое значение
0 - не помечать как прочитанное
1 - помечать как прочитанное (значение по умолчанию)
Возвращаемое значение:
Нет
Описание:
Метод ПрочитатьСообщение позволяет получить содержимое сообщения
(текст и присоединенные файлы), полученного с помощью метода ПолучитьСообщение.
Текст сообщения хранится в атрибуте Текст, а полные пути к присоединенным
файлам можно получить с помощью метода ПолучитьФайл. Файлы копируются во
временную директорию и удаляются при переходе на следующее сообщение (метод
ПолучитьСообщение)
Параметр Флаг определяет состояние сообщения после прочтения:
0 - сообщение не помечается как прочитанное и может быть повторно получено
и прочитано;
1 - сообщение помечается как прочитанное и не попадает в последующие выборки.
АдресОтправителя
Получить адрес отправителя полученного сообщения
Синтаксис:
АдресОтправителя()
Англоязычный синоним:
SenderAddress
Параметры:
Нет
Возвращаемое значение:
Адрес (строковое выражение) - значение адреса отправителя сообщения
Описание:
Метод АдресОтправителя позволяет получить адрес, с которого было отправлено
сообщение. Для того, чтобы получить адреса отправителя надо сначала получить
сообщение с помощью метода ПолучитьСообщение.
ПолучитьФайл
Получить имя и полный путь к следующему присоединенному файлу полученного
сообщения
Синтаксис:
ПолучитьФайл(ИмяФайла,Каталог)
Англоязычный синоним:
GetFile
Параметры (возвращаемые):
ИмяФайла (строковое выражение) - имя файла
Каталог (строковое выражение) - каталог
(Disk:\Path\)
Возвращаемое значение:
Числовое значение:
1 - получено успешно;
0 - файлов больше нет
Описание:
Метод ПолучитьФайл получить имя и каталог следующего присоединенного файла
сообщения, прочитанного с помощью метода ПрочитатьСообщение. Данный метод
используется для организации цикла по присоединенным файлам сообщения. Если
файл в дальнейшем планируется использовать, то его необходимо переименовать
или скопировать в другое место. При получении следующего сообщения все присоединенные
файлы данного сообщения будут удалены.
УдалитьСообщение
Удалить сообщение
Синтаксис:
УдалитьСообщение()
Англоязычный синоним:
DeleteMessage
Параметры:
Нет
Возвращаемое значение:
Нет
Описание:
Метод УдалитьСообщение удаляет текущее сообщение, полученное с помощью метода
ПолучитьСообщение. (и, возможно, прочитанное с помощью метода ПрочитатьСообщение).
Примеры
Перем Почта Экспорт;
ЗагрузитьВнешнююКомпоненту(V7Plus.dll);
Почта = СоздатьОбъект(AddIn.V7Mail);
Процедура ПослатьСообщение()
Почта.Подключиться(MAPI,МояКонфигурацияПодключения,
);
Почта.НовоеСообщение();
Почта.ДобавитьАдрес();
Почта.ДобавитьФайл(invoice.txt);
Почта.Заголовок=Прайс-лист фирмы ТоргТехника;
Почта.Текст=В прилагаемом файле помещен прайс лист
нашей
фирмы;
Почта.Послать();
Почта.Отключиться();
КонецПроцедуры
Процедура ПринятьСообщения()
Перем ПутьКФайлу, ИмяФайла;
ТекстДок=СоздатьОбъект(Текст);
Почта.Подключиться();
Почта.ВыбратьСообщения();
Пока Почта.ПолучитьСообщение() = 1 Цикл
АдресОтправителя=Почта.АдресОтправителя();
Заголовок=Почта.Заголовок;
Почта.ПрочитатьСообщение(0);
Текст=Почта.Текст;
Пока Почта.ПолучитьФайл(ПутьКФайлу, ИмяФайла) =
1 Цикл
ТекстДок.Открыть(ПутьКФайлу+ИмяФайла);
ТекстДок.ТолькоПросмотр(1);
ТекстДок.Показать(Заголовок);
КонецЦикла;
КонецЦикла;
Почта.Отключиться();
КонецПроцедуры
Особенности работы с различными клиентами MAPI.
Работа объекта V7Mail компоненты проверялась со следующими программами:
Outlook Express 5.0.2>
Не нужно задавать конфигурацию подключения - всегда выбирается конфигурация,
заданная по умолчанию в Internet Accounts (меню Tools-Accounts, закладка
Mail).
Outlook 97.2>
При отправке сообщения необходимо перед адресом добавлять SMTP:
(например - SMTP:xxxxxx@ru);
Outlook 2000. 2>
1. При отправке сообщения необходимо перед адресом добавлять SMTP:
(например - SMTP:xxxxxx@ru);
2. Если E-Mail сервис сконфигурирован как Internet Only, то
прием и отправка сообщений происходит только при запущенном Outlook 2000.
Рекомендуется использовать конфигурацию Corporate or Workgroup,
которая не требует для работы с сообщениями запущенного Outlook 2000.
Netscape Messenger.2>
При приеме с помощью объекта V7Mail сообщений, содержащих присоединенные
файлы, эти файлы оказываются в составе текста сообщения. Отправка сообщений
проходит нормально.
Свойства и методы объекта V7HttpReader. Атрибуты объекта V7SysInfo
Объект компоненты предназначен для расширения функциональности 1С:Предприятия
в части работы с ресурсами серверов, поддерживающих обмен данными по протоколу
HTTP. Объект компоненты позволяет определить параметры, которые будут использоваться
для доступа к ресурсам, т.е. имя и пароль пользователя для доступа к ресурсам,
требующим авторизации. При формировании запроса имеется возможность задать
состав и содержание заголовков запроса. Передаваемый запрос может содержать
присоединенные данные, извлекаемые при посылке запроса из файла, строки или
объекта OLE-Automation, имплементирующего интерфейс IStream. После того, как
получен ответ на запрос от сервера, объект компоненты позволяет разобрать заголовки
ответа и сохраняет полученные данные в виде файла, переменной типа строка или
объект OLE-Automation, имплементирующий интерфейс IStream.
Для работы компоненты необходимо, чтобы в системе была установлена динамически
загружаемая библиотека доступа к Internet - WinInet.dll.
Для осуществления доступа методам и свойствам объекта V7HttpReader необходимо
вызвать функцию СоздатьОбъект, передав ей строку AddIn.V7HttpReader
в качестве параметра, и получить ссылку на объект, которая присваивается переменной,
через которую и будет осуществляться доступ.
Например:
Соединение = СоздатьОбъект(AddIn.V7HttpReader);
Описание атрибутов и методов объекта V7HttpReader
Атрибуты2>
КоличествоПопытокАвторизации
Синтаксис:
КоличествоПопытокАвторизации
Англоязычный синоним:
AuthAttemptsNum
Описание:
При помощи атрибута можно задавать значение числа попыток авторизации.
Если данный атрибут установлен в ноль, вывод диалога задания параметров соединения
запрещен, т.е. все параметры соединения должны быть установлены методами Ошибка!
Источник ссылки не найден. и Пользователь.
Пример:
Соединение.КоличествоПопытокАвторизации = 0;
СтрокаСостоянияОтвета
Синтаксис:
СтрокаСостоянияОтвета
Англоязычный синоним:
ResponseStatusLine
Описание:
По окончании обмена с сервером данное свойство содержит возвращенную сервером
строку статуса, которая состоит их 3-х частей : использовавшийся при обмене
протокол, код статуса, вербальное описание кода статуса.
Примеры строки состояния ответа:
HTTP/1.1 200 OK
HTTP/1.1 404 Object Not Found
Пример:
см. пример из описания метода Получить.
Методы2>
Пользователь
Устанавливает имя и пароль пользователя.
Синтаксис:
Пользователь(Имя,Пароль)
Англоязычный синоним:
User
Параметры:
Имя
- Имя пользователя, которое
будет использоваться
для доступа к Web-серверу
Пароль - Пароль пользователя,
который будет
использоваться
для
доступа к Web-серверу
Возвращаемое значение:
Нет
Описание:
Применение этого метода позволяет подключаться к защищенным паролем Web-серверам
автоматически, без ввода пароля вручную.
Пример:
// Установка пароля
Соединение.Пользователь(Guest,
Password);
Получить
Помещает содержимое указанного ресурса в файл или указанную переменную, в
зависимости от указанного типа приемника.
Синтаксис:
Получить(URL, Приемник, ТипПриемника)
Англоязычный синоним:
Receive
Параметры:
URL Строковая переменная, Uniform Resource Locator, адрес
ресурса в Internet
Приемник Переменная, в которую следует поместить содержимое Internet-ресурса
ТипПриемника Числовое выражение, определяет
способ сохранения содержимого
Internet-ресурса. Допустимые
значения приведены в таблице:
|
ТипПриемника |
Способ сохранения |
|
1 |
Переменная Приемник должна иметь тип строки, ее содержимое интерпретируется
как путь к файлу, в
который следует записать содержимое ответа сервера |
|
2 |
Ответ сервера запоминается в переменной Приемник в виде строки |
|
3 |
Переменная Приемник должна иметь тип объекта OLE-Automation,
имплементирующего интерфейс IStream. Cодержимое ответа будет передано
этому интерфейсу, способ обработки этих данных будет зависеть от реализации
OLE-объекта. |
Возвращаемое значение:
Нет
Описание:
URL записывается в форме протокол://хост/путь. Протокол может быть не указан
или указан, как
http://. В обоих случаях будет использован протокол передачи
гипертекста (HTTP). Хост определяет имя Web-сервера, на котором расположен
требуемый ресурс, а путь указывает на расположение ресурса на сервере. Если
в процессе обработки возникает ошибка, генерируется исключительная ситуация.
Пример:
//
Попытка
HTTPСоединение.Получить (
,
c:\dnld\price.xml, 1);
Исключение
Сообщить(HTTPСоединение.СтрокаСостоянияОтвета)
;
. . . . . .
КонецПопытки ;
ПолучитьКакФайл
Помещает содержимое указанного ресурса в файл.
Примечание. Данный метод является частным случаем метода Получить, если при
его вызове 3-й параметр равен 1. В новых разработках рекомендуется применять
метод Получить, данный метод сохранен для совместимости с конфигурациями и
внешними отчетами, разработанными для более ранней версии компоненты.
Синтаксис:
ПолучитьКакФайл(URL, ИмяФайла)
Англоязычный синоним:
ReceiveAsFile
Параметры:
URL
- Строковая переменная, Uniform Resource Locator,
адрес
ресурса в Internet
ИмяФайла Строковое выражение, имя файла, в который следует
поместить
содержимое
Internet-ресурса
Возвращаемое значение:
Нет
Описание:
URL записывается в форме протокол://хост/путь. Протокол может быть не указан
или указан, как
http://. В обоих случаях будет использован протокол передачи
гипертекста (HTTP). Хост определяет имя Web-сервера, на котором расположен
требуемый ресурс, а путь указывает на расположение ресурса на сервере. Если
в процессе обработки возникает ошибка, генерируется исключительная ситуация.
Пример:
//
Попытка
HTTPСоединение.ПолучитьКакФайл(
,
c:\dnld\price.xml);
Исключение
Сообщить(HTTPСоединение.
СтрокаСостоянияОтвета) ;
. . . . . .
КонецПопытки ;
ПолучитьКакСтроку
Помещает содержимое указанного ресурса в строковую переменную.
Примечание. Данный метод является частным случаем метода Получить, если при
его вызове 3-й параметр равен 2. В новых разработках рекомендуется применять
метод Получить, данный метод сохранен для совместимости с конфигурациями и внешними
отчетами, разработанными для более ранней версии компоненты.
Синтаксис:
ПолучитьКакСтроку(URL, СтрокаДляПриема)
Англоязычный синоним:
ReceiveAsString
Параметры:
URL
- Строковая переменная, Uniform Resource Locator,
адрес
ресурса в Internet
СтрокаДляПриема Строковая переменная, в
которую следует поместить
содержимое
Internet-ресурса
Возвращаемое значение:
Нет
Описание:
URL записывается в форме протокол://хост/путь. Протокол может быть не указан
или указан, как
http://. В обоих случаях будет использован протокол передачи
гипертекста (HTTP). Хост определяет имя Web-сервера, на котором расположен
требуемый ресурс, а путь указывает на расположение ресурса на сервере.
Если в процессе обработки возникает ошибка, генерируется
исключительная ситуация.
Пример:
//
1С_ПрайсЛист = ;
Адрес =
http://www.ResourceServer.ru/resources/price.txt;
Соединение.ПолучитьКакСтроку(Адрес, ПрайсЛист);
ПолучитьКакОбъект
Помещает содержимое указанного ресурса в файл.
Примечание. Данный метод является частным случаем метода Получить, если при
его вызове 3-й параметр равен 3. В новых разработках рекомендуется применять
метод Получить, данный метод сохранен для совместимости с конфигурациями и внешними
отчетами, разработанными для более ранней версии компоненты.
Синтаксис:
ПолучитьКакОбъект(URL, Объект)
Англоязычный синоним:
ReceiveAsObject
Параметры:
URL
- Строковая переменная, Uniform Resource Locator,
адрес
ресурса в Internet
Объект Объект, который следует
загрузить из содержимого
Internet-ресурса
Возвращаемое значение:
Нет
Описание:
URL записывается в форме протокол://хост/путь. Протокол может быть не указан
или указан, как
http://. В обоих случаях будет использован протокол передачи
гипертекста (HTTP). Хост определяет имя Web-сервера, на котором расположен
требуемый ресурс, а путь указывает на расположение ресурса на сервере.
Объектом может быть любой OLE-объект, имплементирующий интерфейс IStream.
Если в процессе обработки возникает ошибка, генерируется исключительная ситуация.
Пример:
//
HTTPСоединение.ПолучитьКакОбъект(,XMLДокумент);
ОтправитьДляОбработки
Данный метод предназначен для организации двунаправленного обмена информацией
с сервером. Его имеет смысл применять, когда адресуемый ресурс содержит код,
способный обрабатывать переданные вместе с запросом данные и формировать данные,
присоединяемые к ответу.
Синтаксис:
ОтправитьДляОбработки(URL, Источник, ТипИсточника [, Приемник,
ТипПриемника])
Англоязычный синоним:
SendAndProcess
Параметры:
URL -Строковая переменная, Uniform
Resource Locator,
адрес ресурса в
Internet
Источник Переменная, содержимое которой
следует передать для
обработки
Internet-ресурсу
ТипИсточника Числовое выражение, определяет тип переменной Источник
и,
соответственно, способ передачи ее
содержимого Internet-ресурсу.
Допустимые значения приведены в
таблице:
|
ТипИсточника |
Способ передачи |
|
1 |
Переменная Источник должна иметь тип строки, ее содержимое интерпретируется
как путь к файлу, содержимое которого следует присоединить к запросу
|
|
2 |
Переменная Источник должна иметь тип строки, к
запросу будет присоединено ее содержимое |
|
3 |
Переменная Источник должна иметь тип объекта OLE-Automation, имплементирующего
интерфейс IStream. К запросу будут присоединены данные, полученные
через этот интерфейс. |
Приемник Переменная, в которую следует поместить содержимое Internet-ресурса
ТипПриемника Числовое выражение, определяет
способ сохранения
содержимого
Internet-ресурса. Допустимые
значения приведены
в таблице:
|
ТипПриемника |
Способ сохранения |
|
1 |
Переменная Приемник должна иметь тип строки, ее содержимое интерпретируется
как путь к файлу, в который следует записать содержимое ответа сервера |
|
2 |
Ответ сервера запоминается в переменной Приемник в виде строки |
|
3 |
Переменная Приемник должна иметь тип объекта OLE-Automation, имплементирующего
интерфейс IStream. Cодержимое ответа будет передано этому интерфейсу,
способ обработки этих данных будет зависеть от реализации OLE-объекта. |
Возвращаемое значение:
Нет
Описание:
URL записывается в форме протокол://хост/путь. Протокол может быть не указан
или указан, как
http://. В обоих случаях будет использован протокол передачи
гипертекста (HTTP). Хост определяет имя Web-сервера, на котором расположен
требуемый ресурс, а путь указывает на расположение ресурса на сервере.
Если в процессе обработки возникает ошибка, генерируется
исключительная ситуация.
Пример:
//
HTTPСоединение.ОтправитьДляОбработки(
http://www.ResourceServer.ru/res/Active_page.asp,
XMLДокументОтпр, 3, XMLДокументПолуч, 3);
УдалитьЗаголовкиЗапроса
Метод удаляет из запроса все ранее определенные заголовки.
Синтаксис:
УдалитьЗаголовкиЗапроса()
Англоязычный синоним:
removeRequestHeaders
Параметры:
Нет
Возвращаемое значение:
Нет
Описание:
Объект компоненты сохраняет состав и содержимое заголовков запроса между обращениями
к ресурсам, поэтому до начала формирования запроса, требующего иного состава
или содержания заголовков, чем предыдущий, требуется вызвать данный метод.
Пример:
//
HTTPСоединение.УдалитьЗаголовкиЗапроса();
УстановитьЗаголовокЗапроса
Устанавливает значение заголовка запроса.
Синтаксис:
УстановитьЗаголовокЗапроса(ИмяЗаголовка, Содержимое)
Англоязычный синоним:
setRequestHeader
Параметры:
ИмяЗаголовка Строковое выражение,
наименование
устанавливаемого
заголовка
Содержимое Строковое выражение,
устанавливаемое значение
заголовка
Возвращаемое значение:
Нет
Описание:
Если заголовок с таким именем уже существовал, изменяет его содержимое,
если такого заголовка не было, новый заголовок
будет добавлен.
Пример:
//
HTTPСоединение.УстановитьЗаголовокЗапроса(MyAction,Upload);
ПолучитьЗаголовокОтвета
Возвращает наименование заголовка ответа по номеру.
Синтаксис:
ПолучитьЗаголовокОтвета(НомерЗаголовка)
Англоязычный синоним:
getResponseHeader
Параметры:
НомерЗаголовка Число, порядковый номер
заголовка в ответе
сервера. Нумерация
начинается с 1.
Возвращаемое значение:
Строка, наименование заголовка ответа.
Пример:
//
Заголовок = HTTPСоединение.ПолучитьЗаголовокОтвета(1)
;
ПолучитьСодержаниеЗаголовкаОтвета
Возвращает содержание заголовка.
Синтаксис:
ПолучитьСодержаниеЗаголовкаОтвета(Заголовок)
Англоязычный синоним:
getResponseContents
Параметры:
//
Для Сч = 1 По HTTPСоединение.КоличествоЗаголовковОтвета()
Цикл
Заголовок = HTTPСоединение.ПолучитьЗаголовокОтвета(Сч);
Содержимое = HTTPСоединение.ПолучитьСодержимоеЗаголовкаОтвета(Заголовок);
Сообщить(Заголовок + = + Содержимое;
КонецЦикла;
Атрибуты объекта V7SysInfo.
Назначение объекта компоненты V7SysInfo.
Объект компоненты V7SysInfo предназначена для получения информации о системе,
на которой работает 1С:Предприятие. Объект позволяет определить версию операционной
системы, тип процессора, объем оперативной памяти компьютера и номер релиза
1С:Предприятия. Для осуществления доступа к атрибутам объекта V7Mail необходимо
вызвать функцию СоздатьОбъект, передав ей строку AddIn.V7SysInfo
в качестве параметра, и получить ссылку на объект, которая присваивается переменной,
через которую и будет осуществляться доступ к методам и свойствам полученного
объекта.
Например:
Инфо = СоздатьОбъект(AddIn.V7SysInfo );
Описание атрибутов объекта V7SysInfo
Атрибуты2>
ВерсияОС
Синтаксис:
ВерсияОС
Англоязычный синоним:
OSVersion
Описание:
Атрибут ВерсияОС содержит наименование версии операционной системы (строковое
выражение).
Процессор
Синтаксис:
Процессор
Англоязычный синоним:
Processor
Описание:
Атрибут Процессор (строковое выражение) содержит наименование тип процессора,
установленного на компьютере.
ОперативнаяПамять
Синтаксис:
ОперативнаяПамять
Англоязычный синоним:
Memory
Описание:
Атрибут ОперативнаяПамять (число) содержит информацию об объеме оперативной
памяти, установленный на компьютере, в мегабайтах.
РелизПрограммы
Синтаксис:
РелизПрограммы
Англоязычный синоним:
ProgrammRelease
Описание:
Атрибут РелизПрограммы (строковое выражение) содержит информацию о
номере релиза 1С:Предприятия.
ИмяФайлаПрограммы
Синтаксис:
ИмяФайлаПрограммы
Англоязычный синоним:
ProgrammFileName
Описание:
Атрибут ИмяФайлаПрограммы (строковое выражение) содержит информацию
об имени файла программы (1С:Предприятия).
Методы2>
ПроверитьИмяФайла
Синтаксис:
ПроверитьИмяФайла(Адрес)
Англоязычный синоним:
CheckFileName
Параметры:
Адрес Строковое значение
Адрес ключевого слова
Возвращаемое значение:
Строковое выражение - ключевое слово.
Описание:
Метод ПроверитьИмяФайла предназначен для получения ключевого слова по указанному
адресу на диске ИТС.
Пример:
Инфо = СоздатьОбъект(AddIn.V7SysInfo);
ВерсияОперационнойСистемы = Инфо.ВерсияОС;
ТипПроцессора = Инфо.Процессор;
ОперативнаяПамятьКомпьютера = Инфо.ОперативнаяПамять;
НомерРелизаПрограммы = Инфо.РелизПрограммы;
НаименованиеФайлаПрограммы = Инфо.ИмяФайлаПрограммы;
СоздатьGUID
Синтаксис:
СоздатьGUID()
Англоязычный синоним:
CreateGUID
Параметры:
нет
Возвращаемое значение:
Строковое выражение - новый GUID.
Описание:
Метод СоздатьGUID генерирует новый GUID (Globally Unique Identifier).
Пример:
Инфо = СоздатьОбъект(AddIn.V7SysInfo);
ГлобальноУникальныйИдентификатор = Инфо.СоздатьGUID();
Анализатор XML-документов XMLParser
Основные понятия и термины
Язык расширяемой разметки XML (eXtensible Markup Language) был создан как
средство представления произвольных структур данных. Не останавливаясь подробно
на его семантике, заметим, что XML-документ может быть представлен в виде дерева
узлов, каждый из которых имеет один узел-родитель. Единственным исключением
является корневой узел, представляющий собой узел документа.
Узлы документа могут нести различную функциональную нагрузку, определяемую
типом узла. Всю нагрузку по информационному наполнению документа несут узлы
типа элемент и атрибут, в связи с чем именно узлы этих типов представляют
наибольший интерес при разборе и обработке документа. Язык XML не ограничивает
создателя документа в названиях элементов и атрибутов, позволяя давать им осмысленные
названия. Это свойство является одной из ключевых особенностей языка. Возможность
подчинять один элемент другому позволяет создавать составные структуры данных
произвольной иерархической сложности.
Для работы с XML-документами применяется специальное программное обеспечение
под общим собирательным названием XML-анализаторы (XML parsers). Это название
не вполне точно отражает сущность этого вида ПО, оно появилось, когда анализаторы
были способны лишь разобрать существующий документ. Современные анализаторы
обладают более широкой функциональностью, например, с их помощью можно создавать
новые документы, редактировать существующие и т.д.
Однако возможность давать элементам и атрибутам произвольные, осмысленные названия
несет в себе определенную опасность. В самом
деле, предположим, что при описании некоторого товара используется элемент,
называемый Размер. Очевидно, что его содержимое
существенно различается для случаев, если описывается обувь или половая доска.
XML позволяет избежать возникающих в данном случае
проблем с помощью применения пространств имен и связанных с ними префиксов.
При объявлении элемента имеется возможность задать, с
каким пространством имен связан тот или иной префикс имени (или отсутствие
префикса), причем эти определения будут действовать, как для данного элемента,
так и для подчиненных ему, если в их объявлении не сделано соответствующего
переопределения.
Одним из основных назначений XML является предоставление универсального формата
обмена информацией между приложениями, работающими на разных платформах, с
различными форматами данных. Для осуществления корректного обмена необходимо,
чтобы приложение, осуществляющее выгрузку, создавало XML-документ, имеющий
структуру, понятную приложению, осуществляющему разбор документа.
Чем же тогда отличается выгрузка информации в XML формате, а не в любом другом,
например, текстовом? Принципиальная разница состоит в том, что для XML- документа
имеется возможность задать правила, задающие возможный структурный состав документа
и типы данных, которые должна содержать структурная единица документа, фактически
создав, таким образом, новый язык на базе XML. Совокупность таких правил образует
схему. Существует несколько языков, на которых можно описать такие правила.
Самым перспективным на момент написания этого материала считается язык XML
Schema, вытесняющий более традиционный DTD (Document Type Definition), возможности
которого гораздо скромнее. Пожалуй, основным (хотя далеко не единственным)
преимуществом XML Schema является то, что само описание схемы является XML-документом,
написанным специальным образом, имеющим строго определенный набор элементов
и атрибутов, т.е., в свою очередь, также соответствующий определенной схеме.
Применение XML Schema позволяет работать и с самим документом и, при необходимости,
с правилами, определяющими его содержание, с применением единого инструмента
- анализатора, что предоставляет определенные удобства. Различные фрагменты
документа могут соответствовать различным схемам, здесь снова на помощь приходят
пространства имен. Каждому пространству имен в соответствие может быть поставлена
определенная схема, в процессе разбора документа по префиксу (или его отсутствию)
элемента или атрибута определяется контекст пространства имен, к которому он
принадлежит. Если данному пространству имен поставлена в соответствие какая-либо
схема, содержимое разбираемого элемента или атрибута проверяется с применением
сформулированных в данной схеме правил. Совокупность пространств имен с указанием
соответствующих им схем называется коллекцией схем.
Процесс проверки соответствия документа какой-либо схеме (схемам) называется
валидацией или проверкой состоятельности. Анализаторы,
реализующие такую возможность, называются валидирующими или с проверкой состоятельности.
Как правило, проверка состоятельности
осуществляется анализаторами в момент загрузки документа, однако некоторые
анализаторы позволяют сделать это по запросу программы,
в произвольный момент времени. Это свойство анализатора можно использовать,
например, при создании документа, чтобы проверить его состоятельность перед
выгрузкой.
Объектная модель анализатора
Состав объектной модели2>
В состав модели входят объекты следующих типов:
Анализатор -
базовый объект. Позволяет создать новые объекты
типа Документ, КоллекцияСхем.
Документ \
Элемент |
Атрибут | реализуют узлы
ИнструкцияОбработки | соответствующих
Комментарий | типов
Текст |
СекцияДанных /
КоллекцияСхем - специальное средство, позволяющее при загрузке документа
применить набор схем (пространств имен), или подменить определенный в документе
набор.
ВыборкаУзлов - коллекция элементов и атрибутов, отобранных по
совокупности признаков, заданных при создании.
Прозрачность объектов
Все входящие в модель объекты (кроме объекта Анализатор) расширяют
или переопределяют состав свойств и методов объектов, входящих в состав DOM
(Document Object Model) модели, реализованных в анализаторе XML-документов
от фирмы Microsoft. Таким образом, если объект, входящий в рассматриваемую
модель, не имеет свойства или метода, к которому происходит обращение в вызывающей
программе, то объект переадресует вызов данного свойства или метода к объекту-родителю,
входящему в состав DOM-модели. Примечание. Рекомендуется использовать свойства
и методы объектов, описанные в данном документе, по возможности не прибегая
к использованию свойства прозрачности объекта.
Базовый объект
Все объекты, кроме объектов Анализатор, КоллекцияСхем и ВыборкаУзлов, являются
разновидностями абстрактного объекта - узел
дерева, в виде которого в объектной модели представляется весь документ. В
соответствии с объектно-ориентированным подходом, все
эти объекты наследуют свойства и методы базового объекта. Поэтому, чтобы не
описывать общие для всех типов узлов свойства и методы,
эти описания вынесены в отдельный раздел, где рассматриваются методы и свойства
абстрактного узла, хотя объект такого типа получить невозможно, все объекты,
кроме упомянутых выше, будут лишь его производными.
Примечание. При изучении свойств и методов конкретных объектов может создаться
впечатление, что некоторые из них, имея другое наименование, перекрывают какие-то
свойства или методы базового объекта, по сути лишь повторяя его действия. Как
правило, это не так, и существуют нюансы исполнения, так как метод конкретного
объекта специально создан для работы именно с этим типом объекта. В таких
случаях рекомендуется использовать свойства и методы конкретного типа объекта.
Анализатор
Методы2>
СоздатьДокумент
Синтаксис:
СоздатьДокумент()
Англоязычный синоним:
CreateDocument
Параметры:
нет
Возвращаемое значение:
Узел документа
Описание:
Создает новый объект узла XML документа
Пример:
Документ = Анализатор.СоздатьДокумент() ;
СоздатьКоллекциюСхем
Синтаксис:
СоздатьКоллециюСхем()
Англоязычный синоним:
CreateSchemasCollection
Параметры:
нет
Возвращаемое значение:
Объект коллекции схем
Описание:
Создает новый объект коллекции схем
Пример:
КоллекцияСхемДляПроверки = Анализатор. СоздатьКоллециюСхем() ;
Атрибуты2>
ВерсияАнализатора
Синтаксис:
ВерсияАнализатора
Англоязычный синоним:
ParserVersion
Описание:
Возвращает версию компоненты в виде строки, только для чтения.
Пример:
Версия = Анализатор. ВерсияАнализатора ;
ВерсияБазовогоАнализатора
Синтаксис:
ВерсияБазовогоАнализатора
Англоязычный синоним:
BaseParserVersion
Описание:
Возвращает в виде строки версию базового анализатора - Microsoftв XML Parser.
Пример:
Версия = Анализатор. ВерсияБазовогоАнализатора;
Базовый объект - узел
Методы2>
КоличествоПодчиненных
Синтаксис:
КоличествоПодчиненных()
Англоязычный синоним:
NumberChilds
Параметры:
нет
Возвращаемое значение:
Число, количество узлов, подчиненных данному.
Описание:
Метод возвращает количество узлов, подчиненных данному. В это количество
не включается количество узлов-атрибутов.
Пример:
см. пример для метода ПолучитьПодчиненныйПоНомеру.
ПолучитьПодчиненныйПоНомеру
Синтаксис:
ПолучитьПодчиненныйПоНомеру(НомерУзла )
Англоязычный синоним:
GetChildByNum
Параметры:
НомерУзла числовое выражение, содержащее номер требуемого узла. Нумерация
узлов начинается с нуля.
Возвращаемое значение:
объект узла документа определенного типа
Описание:
В совокупности с КоличествоПодчиненных данный метод используется для обхода
узлов, подчиненных данному узлу. Порядок обхода совпадает с расположением узлов
в документе.
Пример:
Для Сч = 0 По Элемент.КоличествоПодчиненных()-1 Цикл
ПодчУзел = Элемент.ПолучитьПодчиненныйПоНомеру(Сч) ;
. . . . . . .
КонецЦикла ;
ДобавитьПодчиненный
Синтаксис:
ДобавитьПодчиненный(НовУзел[, ВставитьПеред])
Англоязычный синоним:
appendChild
Параметры:
НовУзел Объект нового узла
ВставитьПеред Необязательный параметр, тип - узел. Если параметр указан,
новый узел будет вставлен перед ним, в противном случае новый узел будет
вставлен последним.
Возвращаемое значение:
нет
Описание:
Метод используется для вставки нового узла, созданного с помощью соответствующих
методов объекта документа, в список подчиненных данному узлу.
Пример:
ИнструкцияОбработки = Документ.СоздатьУзел(7, xml)
;
ИнструкцияОбработки.Данные = version='1.0' ;
Документ.ДобавитьПодчиненный(ИнструкцияОбработки,
Документ.ЭлементДокумента) ;
УдалитьПодчиненный
Синтаксис:
УдалитьПодчиненный(УдаляемыйУзел)
Англоязычный синоним:
removeChild
Параметры:
УдаляемыйУзел Объект узла, удаляемого из списка подчиненных
данному
узлу
Возвращаемое значение:
нет
Описание:
Метод удаляет указанный узел из списка узлов, подчиненных данному.
Пример:
ПервыйПодчиненный = Документ.УзелДокумента.ПолучитьПоНомеру(0) ;
Документ.УзелДокумента.УдалитьПодчиненный(ПервыйПодчиненный) ;
ВыбратьУзлы
Синтаксис:
ВыбратьУзлы(КритерийОтбора)
Англоязычный синоним:
selectNodes
Параметры:
КритерийОтбора Строковое выражение, содержащее критерии отбора узлов в создаваемую
коллекцию
Возвращаемое значение:
Объект коллекции узлов, содержащий узлы элементов или атрибутов, которые удовлетворяли
критерию отбора, сформулированного в
параметре КритерийОтбора.
Описание:
Метод возвращает объект коллекции узлов, содержащий узлы элементов или атрибутов,
которые удовлетворяли критерию отбора,
сформулированного в параметре КритерийОтбора. Запрос формулируется на языке
запросов XSL (XSL Pattern Language).
Пример:
// отбираем все элементы Товар
Выборка = Документ.УзелДокумента.ВыбратьУзлы(Товар) ;
ВыбратьУзел
Синтаксис:
ВыбратьУзел(КритерийОтбора)
Англоязычный синоним:
selectSingleNode
Параметры:
КритерийОтбора Строковое выражение,
содержащее
критерии
выбора узла
Возвращаемое значение:
Первый узлов, элемент или атрибут, который удовлетворяет критерию отбора, сформулированного
в параметре КритерийОтбора.
Описание:
Метод возвращает первый узел, элемент или атрибут, который удовлетворял критерию
отбора, сформулированного в параметре
КритерийОтбора. Запрос формулируется на языке запросов XSL (XSL Pattern Language).
Пример:
// находим информацию о товарах
Каталог = Документ.УзелДокумента.ВыбратьУзел(//ИнформацияОТоварах)
;
СоздатьПодчиненныйЭлемент
Синтаксис:
СоздатьПодчиненныйЭлемент(НаимЭлемента[, ВставитьПеред][, ПространствоИмен])
Англоязычный синоним:
createChildElement
Параметры:
НаимЭлемента Строковое выражение,
содержащее наименование
создаваемого элемента
ВставитьПеред Необязательный параметр.
Узел, перед которым
следует вставить
создаваемый узел элемента.
ПространствоИмен Необязательный параметр, строковое выражение, указывающее
пространство имен, в контексте которого создается новый
элемент. Если не указан, анализатор предпринимает попытку создать элемент в
контексте пространства имен, определенного у стоящих выше по иерархии узлов
документа с учетом префикса, указанного в параметре НаимЭлемента.
Возвращаемое значение:
Объект созданного элемента
Описание:
Предназначением метода является облегчение часто встречающейся операции - процесса
создания подчиненного элемента. Если параметр ВставитьПеред не используется,
элемент будет вставлен в конец списка.
Пример:
НовыйТовар = Документ.УзелДокумента.СоздатьПодчиненныйЭлемент(Товар)
;
ПреобразоватьВ_ИД
Синтаксис:
ПреобразоватьВ_ИД(СтрИД)
Англоязычный синоним:
ConvertToID
Параметры:
СтрИД Строковое выражение, преобразуемая строка
Возвращаемое значение:
Преобразованная строка, допустимая с точки зрения допустимых значений атрибута,
имеющего тип id.
Описание:
Тип атрибута id накладывает определенные ограничения на возможные значения,
которые могут быть присвоены этому атрибуту. Данный метод преобразует переданную
строку к виду, который допустим для присвоения атрибуту данного типа.
Пример:
СтрИД = ЗначениеВСтрокуВнутр(СпрТовары) ;
ЭлТовар.УстановитьАтрибут(ИДТовара, ЭлТовар.
ПреобразоватьВ_ИД(СтрИД)) ;
Атрибуты2>
Тип
Синтаксис:
Тип
Англоязычный синоним:
nodeType
Описание:
Число, соответствующее типу узла в DOM (Document Object Model):
Тип узла Значение свойства
Элемент 1
Атрибут 2
Текст 3
Секция данных 4
Ссылка на компонент 5
Компонент 6
Инструкция обработки7
Комментарий 8
Документ 9
Определение типа 10
документа (DTD)
Фрагмент документа 11
Описание 12
Пример:
Если Узел.Тип = 1 Тогда
// Этот узел - элемент
. . . . . .
КонецЕсли ;
ТипСтрока
Синтаксис:
ТипСтрока
Англоязычный синоним:
nodeTypeString
Описание:
Строка, соответствующая типу узла в DOM (Document Object Model)
Тип узла Значение свойства
Атрибут attribute
Секция данных cdatasection
Комментарий comment
Документ document
Фрагмент documentfragment
документа
Определение documenttype
типа документа
(DTD)
Элемент element
Компонент entity
Ссылка на entityreference
компонент
Описание notation
Инструкция processinginstruction
обработки
Текст text
Пример:
Сообщить(Тип узла - + Узел.ТипСтрока) ;
ПолноеНаименование
Синтаксис:
ПолноеНаименование
Англоязычный синоним:
nodeName
Описание:
Значение зависит от типа узла. Наибольший интерес представляет для элементов
и атрибутов, для которых возвращает наименование полностью, т.е. префикс и наименование,
разделенные двоеточием.
Пример:
Сообщить(Полное наименование узла - + Узел.ПолноеНаименование)
;
Наименование
Синтаксис:
Наименование
Англоязычный синоним:
baseName
Описание:
Значение зависит от типа узла. Наибольший интерес представляет для элементов
и атрибутов, для которых возвращает только наименование, без префикса.
Пример:
Сообщить(Наименование узла - + Узел.Наименование) ;
Префикс
Синтаксис:
Префикс
Англоязычный синоним:
prefix
Описание:
Значение зависит от типа узла. Наибольший интерес представляет для элементов
и атрибутов, для которых возвращает только префикс.
Пример:
Сообщить(Префикс узла - + Узел.Префикс) ;
Родитель
Синтаксис:
Родитель
Англоязычный синоним:
parentNode
Описание:
Узел, которому принадлежит данный узел. Отметим, что узлы атрибутов родителя
не имеют и данное свойство для них всегда является пустым значением.
Пример:
ЭлПодразделение = ЭлСотрудник.Родитель ;
ДокументВладелец
Синтаксис:
ДокументВладелец
Англоязычный синоним:
ownerDocument
Описание:
Узел документа, которому принадлежит данный узел.
Пример:
УзелДокумента = Узел.ДокументВладелец ;
ТипДанных
Синтаксис:
ТипДанных
Англоязычный синоним:
dataType
Описание:
Строка, соответствующая типу данных, которое имеет значение узла. Влияет на
допустимые значения, которые могут быть
присвоены данному узлу, способ их хранения и, для атрибутов, тип возвращаемого
значения при запросе свойства Значение.
Пример:
Если Атрибут.Наименование = Дата Тогда
Атрибут.ТипДанных = date ;
Атрибут.Значение = ТекущаяДата() ;
КонецЕсли ;
Текст
Синтаксис:
Текст
Англоязычный синоним:
text
Описание:
Строка соответствующая содержимому узла вместе со всеми принадлежащими ему
подчиненными узлами. Заметим, что присвоение этого свойства полностью реорганизует
всю структуру подчиненных узлов.
Пример:
Сообщить(Текст узла - + Узел.Текст) ;
Значение
Синтаксис:
Значение
Англоязычный синоним:
nodeValue
Описание:
Строка, соответствующая содержимому узла.
Пример:
Сообщить(Значение узла - + Узел.Значение) ;
ПредставлениеXML
Синтаксис:
ПредставлениеXML
Англоязычный синоним:
xml
Описание:
Строка, представление данного узла со всеми подчиненными узлами в формате
XML документа.
Пример:
Сообщить(Представление узла - + Узел.ПредставлениеXML) ;
Документ
Методы2>
Загрузить
Синтаксис:
Загрузить(Откуда)
Англоязычный синоним:
load
Параметры:
Откуда Может быть строкой или
объектом OLE Automation,
созданным
системной
функцией СоздатьОбъект и
имплементирующим интерфейс
IStream или
IPersistStream
Возвращаемое значение:
нет
Описание:
В случае, если Откуда является строкой, ее содержимое интерпретируется, как
путь к файлу, содержащему XML документ. В случае, если Откуда является объектом
OLE Automation, документ загружается из потока, представленного интерфейсом
IStream или IPersistStream.
При возникновении ошибочной ситуации во время загрузки или разбора источника
генерируется ошибка исполнения.
Пример:
Документ.Загрузить(C:\XMLDocuments\SrcDocument.xml) :
Записать
Синтаксис:
Записать(Куда)
Англоязычный синоним:
save
Параметры:
Куда Может быть строкой или COM-объектом, имплементирующим интерфейс IStream
или IPersistStream
Возвращаемое значение:
нет
Описание:
В случае, если Куда является строкой, ее содержимое интерпретируется, как
путь к файлу, где следует сохранить XML документ.
В случае, если Куда является COM-объектом, документ выгружается в поток, представленный
интерфейсом IStream или IPersistStream.
При возникновении ошибочной ситуации во время загрузки или разбора источника
генерируется ошибка исполнения.
Пример:
Документ.Записать(C:\XMLDocuments\SrcDocument.xml) :
ЗагрузитьИзСтроки
Синтаксис:
ЗагрузитьИзСтроки(СтрокаИсточник)
Англоязычный синоним:
loadXML
Параметры:
СтрокаИсточник Строка, содержащая XML
документ
Возвращаемое значение:
нет
Описание:
При возникновении ошибочной ситуации во время разбора строки генерируется
ошибка исполнения.
Пример:
// создать копию документа
Документ2.ЗагрузитьИзСтроки(Документ1.ПредставлениеXML) ;
СоздатьУзел
Синтаксис:
СоздатьУзел(ТипУзла, Наименование, ПространствоИмен)
Англоязычный синоним:
createNode
Параметры:
ТипУзла Числовое или строковое
выражение, определяющее
тип создаваемого узла.
Значение параметра должно
быть
равно одному из возможных значений
свойств узла Тип или
ТипСтрока
(см. описания
упомянутых свойств узла).
Наименование Строковое выражение, для
элемента или атрибута
-
полное наименование,
включающее префикс, для инструкции
обработки -
имя приложения. Для
узлов, у которых
наименование
не имеет
смысла, опускается или
задается равным пустой
строке.
ПространствоИмен Необязательный параметр, строковое выражение. Если
этот параметр задан, узел создается в контексте указанного пространства имен
с учетом префикса, указанного в наименовании. Если в наименовании префикс
отсутствует, данное пространство имен интерпретируется как пространство
имен по умолчанию.
Возвращаемое значение:
Созданный узел
Описание:
Данный метод позволяет создать новый узел указанного типа. Новый узел после
создания еще не включен в документ, т.к. не имеет узла-родителя, т.е. не является
частью иерархической структуры документа. Чтобы узел был включен в документ,
нужно воспользоваться методом узла ДобавитьПодчиненный.
Пример:
см. пример из описания метода ДобавитьПодчиненный.
НайтиПоИД
Синтаксис:
НайтиПоИД(ИД)
Англоязычный синоним:
nodeFromID
Параметры:
ИД Строковое выражение, содержащее искомое поле идентификатора
Возвращаемое значение:
Узел элемента
Описание:
Метод позволяет получить элемент, атрибут с типом id которого имеет значение,
совпадающее с заданным при вызове метода.
Пример:
ИскомыйЭлемент = Документ.НайтиПоИД(А0001) ;
Проверить
Синтаксис:
Проверить()
Англоязычный синоним:
validate()
Параметры:
нет
Возвращаемое значение:
нет
Описание:
Данный метод осуществляет проверку состоятельности документа. Если документ
не состоятелен, генерируется ошибка исполнения.
Пример:
Документ. Схемы = СхемыДляПроверки ;
Документ.Проверить() ;
Атрибуты2>
ЭлементДокумента
Синтаксис:
ЭлементДокумента
Англоязычный синоним:
documentElement
Описание:
По стандарту XML документ может иметь ровно один элемент, принадлежащий непосредственно
документу, все остальные элементы документа подчинены (возможно, по многоуровневой
иерархии) ему. Этот элемент также называют корневым (root).
Пример:
Сообщить(Документ.ЭлементДокумента.Наименование) ;
Кодировка
Синтаксис:
Кодировка
Англоязычный синоним:
encode
Описание:
Позволяет установить/считать кодировку, в которой сохраняется документ. Задается
строкой в соответствии стандартными наименованиями наборов символов для использования
в Интерненте. По умолчанию установлена кодировка windows-1251. Со списком
определенных наименований наборов символов можно ознакомиться по адресу
http://www.isi.edu/in-notes/iana/assignments/character-sets.
Пример:
Документ.Кодировка = UTF-16 ;
ПространстваИмен
Синтаксис:
ПространстваИмен
Англоязычный синоним:
namespaces
Описание:
Тип - коллекция схем. Предоставляет доступ к использованным в документе пространствам
имен.
Пример:
Стр = Количество использованных в документе пространств имен -;
Стр = Стр + Документ.ПространстваИмен.КоличествоСхем()) ;
Сообщить(Стр) ;
Схемы
Синтаксис:
Схемы
Англоязычный синоним:
schemas
Описание:
Тип - коллекция схем. Позволяет получить доступ к коллекции схем, установленных
документу для проверки состоятельности во время загрузки или проверки состоятельности
(см. метод Проверить).
Пример:
См. пример в описании метода Проверить.
РазрешатьВнешниеСсылки
Синтаксис:
РазрешатьВнешниеСсылки
Англоязычный синоним:
resolveExternals
Описание:
Возвращает/устанавливает режим разрешения внешних ссылок при загрузке или
проверке состоятельности.
Пример:
См. пример в описании метода Проверить.
Элемент
Методы2>
УстановитьАтрибут
Синтаксис:
УстановитьАтрибут(НаименованиеАтрибута, Значение)
Англоязычный синоним:
setAttribute
Параметры:
НаименованиеАтрибута Строковое выражение, наименование атрибута, значение
которого устанавливается Значение Значение, которое следует присвоить
атрибуту.
Если
атрибуту присвоен
определенный тип,
выполняется
попытка
преобразования.
Возвращаемое значение:
нет
Описание:
Устанавливает значение для указанного атрибута. Если указанный атрибут отсутствует,
добавляет его.
Пример:
ПолучитьАтрибут
Синтаксис:
ПолучитьАтрибут(НаименованиеАтрибута)
Англоязычный синоним:
getAttribute
Параметры:
НаименованиеАтрибута Строковое выражение, наименование атрибута, значение
которого требуется получить
Возвращаемое значение:
Значение атрибута.
Описание:
Если атрибуту установлен тип данных, то возвращаемое значение приводится к
соответствующему типу, в противном случае возвращается строка.
Пример:
ДатаПриемаНаРаботу = ЭлСотрудник.ПолучитьАтрибут(ДатаПриема);
КоличествоАтрибутов
Синтаксис:
КоличествоАтрибутов()
Англоязычный синоним:
AttributesNumber
Параметры:
Возвращаемое значение:
Число, количество атрибутов у данного элемента.
Описание:
Метод возвращает количество атрибутов у данного элемента.
Пример:
Для Сч = 0 по Элемент.КоличествоАтрибутов()-1 Цикл
УзелАтрибута = Элемент.ПолучитьУзелАтрибута(Сч) ;
. . . . . . .
КонецЦикла
ПолучитьУзелАтрибута
Синтаксис:
ПолучитьУзелАтрибута(НомерАтрибута)
или
ПолучитьУзелАтрибута(НаименованиеАтрибута)
Англоязычный синоним:
getAttributeNode
Параметры:
НомерАтрибута Числовое выражение,
номер требуемого
узла
атрибута из списка
принадлежащих элементу
атрибутов
НаименованиеАтрибута Строковое выражение, наименование требуемого узла атрибута
из списка принадлежащих элементу атрибутов
Возвращаемое значение:
Узел атрибута
Описание:
Метод позволяет получить объект узла атрибута по номеру или по наименованию.
Пример:
АтДатыПриема = ЭлСотрудник.ПолучитьУзелАтрибута(ДатаПриема) ;
см. также пример из описания метода КоличествоАтрибутов
УдалитьАтрибут
Синтаксис:
УдалитьАтрибут(УзелАтрибута)
Англоязычный синоним:
removeAttribute
Параметры:
УзелАтрибута Объект узла атрибута,
который требуется удалить
Возвращаемое значение:
нет
Описание:
Метод удаляет указанный атрибут из списка принадлежащих данному элементу.
Пример:
ЭлСотрудник.УдалитьАтрибут(ЭлСотрудник.ПолучитьУзелАтрибута(Да;
ДобавитьАтрибут
Синтаксис:
ДобавитьАтрибут(НаименованиеАтрибута)
Англоязычный синоним:
addAttribute
Параметры:
НаименованиеАтрибута Строковое выражение, наименование добавляемого атрибута
Возвращаемое значение:
Узел атрибута
Описание:
Метод добавляет элементу новый атрибут.
Пример:
Атр = Документ.ЭлементДокумента.ДобавитьАтрибут(ДатаСоздания) ;
Атр.Значение = ТекущаяДата() ;
УстановитьПространствоИмен
Синтаксис:
УстановитьПространствоИмен (ПространствоИмен[, Префикс])
Англоязычный синоним:
setNamespace
Параметры:
ПространствоИмен Строковое выражение, наименование пространства имен
Префикс Необязательный параметр.
Строковое выражение,
префикс, ставящийся в
соответствие пространству
имен
Возвращаемое значение:
нет
Описание:
Метод устанавливает соответствие префикса в полных наименованиях элементов
и атрибутов некоторому пространству имен для элементов, починенных данному.
Если в вызове отсутствует параметр Префикс, то устанавливается пространство
имен для элементов и атрибутов без префикса, т.е. пространство имен по
умолчанию.
Данный метод не может применяться для установки контекста пространства имен
для данного элемента, т.е. префикс в имени данного элемента и параметр Префикс
не должны совпадать или не должны быть оба пустыми. Контекст пространства имен
может быть присвоен элементу только при его создании.
Пример:
Док.ЭлементДокумента.УстановитьПространствоИмен(urn:schemas-mi
Атрибуты2>
ИмяТега
Синтаксис:
ИмяТега
Англоязычный синоним:
tagName
Описание:
Строка - наименование тега элемента.
Пример:
Сообщить(Тег элемента - + Элемент.ИмяТега) ;
Атрибут
Все методы и свойства наследуются от базового узла. Однако, имеется особенность
- для узлов этого типа значение свойства Родитель всегда пустое.
КоллекцияСхем
Методы2>
ДобавитьСхему
Добавляет новую схему в коллекцию схем, связывая уникальный идентификатор
ресурса пространства имен с указанной схемой.
Синтаксис:
ДобавитьСхему(УникальныйИДРесурсаПространстваИмен, СпецификаторСхемы)
Англоязычный синоним:
add
Параметры:
УникальныйИДРесурсаПространстваИмен Строковое выражение, пространство имен
СпецификаторСхемы Строковое выражение
или объект
документа
с
загруженной схемой
(схема также
является XML документом,
отвечающим определенным требованиям). Если этот параметр является строкой, то
она интерпретируется как путь к файлу, содержащему схему, и схема загружается
из указанного файла.
Возвращаемое значение:
нет
Описание:
Данный метод добавляет новую схему в коллекцию схем, связывая уникальный идентификатор
ресурса пространства имен с указанной схемой.
Пример:
КоллекцияСхем.ДобавитьСхему(
http://server/schemas/Sc1.xml,C:
;
ПолучитьСхему
Синтаксис:
ПолучитьСхему(УникальныйИДРесурсаПространстваИмен)
или
ПолучитьСхему(НомерСхемы)
Англоязычный синоним:
get
Параметры:
УникальныйИДРесурсаПространстваИмен Строковое выражение, пространство имен
НомерСхемы Числовое выражение, номер схемы в коллекции. Нумерация схем в
коллекции начинается с нуля.
Возвращаемое значение:
Узел элемента Schema из документа схемы, связанной с затребованным пространством
имен или номером схемы в коллекции.
Описание:
В соответствии со стандартом документ схемы должен иметь элемент Schema в
качестве элемента документа (корневого элемента). Таким образом, данный метод
позволяет получить корневой элемент схемы, затребованной по номеру или пространству
имен.
Пример:
ЭлСхемы = Документ.Схемы.ПолучитьСхему(
http://server/schemas/Sc1.xml)
;
См. также пример из описания свойства КоличествоСхем.
УдалитьСхему
Синтаксис:
УдалитьСхему(УникальныйИДРесурсаПространстваИмен)
Англоязычный синоним:
remove
Параметры:
УникальныйИДРесурсаПространстваИмен Строковое выражение, пространство имен
Возвращаемое значение:
нет
Описание:
Метод удаляет из коллекции схему, связанную с указанным пространством имен.
Пример:
КоллекцияСхем.УдалитьСхему(
http://server/schemas/Sc1.xml)
;
УникальныйИДРесурсаПространстваИмен
Синтаксис:
УникальныйИДРесурсаПространстваИмен(НомерВКоллекции)
Англоязычный синоним:
namespaceURI
Параметры:
НомерВКоллекции Числовое выражение, номер схемы в коллекции.
Нумерация схем в
коллекции начинается с
нуля.
Возвращаемое значение:
Строка, содержащая уникальный идентификатор ресурса пространства имен.
Описание:
Метод используется для получения уникальных идентификаторов ресурсов пространств
имен, входящих в коллекцию.
Пример:
Сообщить(Документ.ПространстваИмен.УникальныйИДРесурсаПространс
Атрибуты2>
КоличествоСхем
Синтаксис:
КоличествоСхем
Англоязычный синоним:
length
Описание:
Число, количество схем в коллекции.
Пример:
Для Сч = 0 По Документ.Схемы.КоличествоСхем-1 Цикл
ЭлСхемы = Документ.Схемы.ПолучитьСхему(Сч) ;
. . . . . . .
КонецЦикла ;
ВыборкаУзлов
Методы2>
ПолучитьУзел
Синтаксис:
ПолучитьУзел(Номер)
Англоязычный синоним:
item
Параметры:
Номер Числовое выражение, номер
узла в выборке. Нумерация
узлов
в выборке начинается с нуля.
Возвращаемое значение:
Узел документа (элемент или атрибут).
Описание:
Метод используется для организации доступа к отдельным узлам документа, вошедшим
в выборку.
Пример:
Выборка = Документ.ЭлементДокумента.ПолучитьВыборку(Товар) ;
Для Сч = 0 По Выборка.КоличествоУзлов-1 Цикл
ЭлТовар = Выборка.ПолучитьУзел(Сч) ;
. . . . . . .
КонецЦикла ;
Атрибуты2>
КоличествоУзлов
Синтаксис:
КоличествоУзлов
Англоязычный синоним:
length
Описание:
Число, количество узлов, содержащихся в выборке.
Пример:
См. пример из описания метода ПолучитьУзел.
Бухгалтерия: Автоматизация - Система 1С