Что нового в Инфо-Бухгалтер 8.704

1. Сделан ряд новых функций языка для работы с файлами XML.
Используется DOM-представление XML документа, обеспечиваемое парсером MSXML.

- Для получения информации и выполнения операций над узлами XML-документа используются курсоры.
- В качестве курсоров в языке используются переменные строкового типа.
- Для одного XML-документа может существовать несколько курсоров, связанных с различными узлами.
- При создании или открытии существующего файла возвращается курсор, связанный с корневым узлом.
- Операции с файлом в целом (сохранение, например) могут выполняться с указанием любого курсора, из числа связанных с данным файлом.
- При закрытии файла все связанные с ним курсоры закрываются.
- При закрытии бланка, типовой операции и т.п. открытые XML-файлы автоматически
закрываются.


ФУНКЦИЯ ТИП_СТРОКА: XML_СОЗДАТЬ_ФАЙЛ(ТИП_СТРОКА: файл, инструкция, имя_корня)

Создает новый XML-документ и добавляет туда заданную инструкцию и корневой узел.
Возвращаемая строка является курсором, связанным с корневым узлом.

файл - Имя XML-файла.
инструкция - Текст инструкции xml, добавляемой в новый документ.
Например: "version='1.0' encoding='windows-1251'".
имя_корня - Имя корневого узла документа.


ФУНКЦИЯ ТИП_СТРОКА: XML_ОТКРЫТЬ_ФАЙЛ(ТИП_СТРОКА: файл)

Открывает существующий XML-файл.
Возвращаемая строка является курсором, связанным с корневым узлом.
В случае ошибки открытия (например, когда нет указанного файла) возвращает пустую строку.

файл - Имя XML-файла.


ФУНКЦИЯ ТИП_ЛОГИКА: XML_СОХРАНИТЬ_ФАЙЛ(ТИП_СТРОКА: курсор[; ТИП_СТРОКА: файл])


Сохраняет XML-документ в файл.
Возвращает ДА при успешном сохранении, НЕТ - в противном случае.

курсор - Любой курсор, связанный с документом, подлежащим сохранению.
файл - Необязательный параметр, имя файла для сохранения.
Когда, имя файла не задано, то используется имя файла,
переданное в функции XML_СОЗДАТЬ_ФАЙЛ или XML_ОТКРЫТЬ_ФАЙЛ.


ФУНКЦИЯ XML_ЗАКРЫТЬ_ФАЙЛ(ТИП_СТРОКА: курсор)

Закрывает XML-документ и освобождает все связанные ресурсы.
При закрытии все несохраненные изменения теряются.

курсор - Любой курсор, связанный с документом, подлежащим закрытию.


ФУНКЦИЯ ТИП_СТРОКА: XML_АТРИБУТ(ТИП_СТРОКА: курсор, имя_атрибута)

Возвращает значение атрибута для узла, связанного с курсором.
Если атрибута с заданным именем нет у данного узла, то генерирует ошибку.

курсор - Курсор, определяющий узел XML-документа.
имя_атрибута - Имя атрибута узла.


ФУНКЦИЯ ТИП_ЛОГИКА: XML_СУЩ_АТРИБУТ(ТИП_СТРОКА: курсор, имя_атрибута)

Проверяет наличие атрибута у узла, связанного с курсором.
Возвращает ДА, если атрибут с заданным именем существует, НЕТ - в противном случае.

курсор - Курсор, определяющий узел XML-документа.
имя_атрибута - Имя атрибута узла.


ФУНКЦИЯ XML_ЗАП_АТРИБУТ(ТИП_СТРОКА: курсор, имя_атрибута; *: значение)

Устанавливает значение атрибута для узла, связанного с курсором.
Если такого атрибута не было, то он создается.

курсор - Курсор, определяющий узел XML-документа.
имя_атрибута - Имя атрибута узла.
значение - Значение атрибута. Может быть значением следующих типов:
строка, число, дата, время, логика.
Используется преобразование в строку, аналогичное функции СТР.
Для представления чисел, дат и т.д. в других форматах необходимо
преобразовать значение в строку с помощью сторонней функции и
передать в параметре строковое значение.

ФУНКЦИЯ ТИП_СТРОКА: XML_ТЕКСТ(ТИП_СТРОКА: курсор)

Возвращает текст узла, связанного с курсором.

курсор - Курсор, определяющий узел XML-документа.

ФУНКЦИЯ XML_ЗАП_ТЕКСТ(ТИП_СТРОКА: курсор; *: значение)

Устанавливает текст узла, связанного с курсором.

курсор - Курсор, определяющий узел XML-документа.
значение - Значение для формирования текста узла.
Может быть значением следующих типов: строка, число, дата,
время, логика.
Используется преобразование в строку, аналогичное функции СТР.
Для представления чисел, дат и т.д. в других форматах необходимо
преобразовать значение в строку с помощью сторонней функции и
передать в параметре строковое значение.


ФУНКЦИЯ ТИП_ЛОГИКА: XML_ПЕРЕЙТИ(ТИП_СТРОКА: курсор; <режим>)

Осуществляет перемещение курсора в пределах XML-документа.
Конкретный вид перехода определяется параметром <режим>.
Возвращает ДА в случае успешного перехода, НЕТ - в противном случае.

курсор - Курсор, определяющий узел XML-документа, от которого
осуществляется переход. В случае успешного выполнения
перехода этот курсор связывается с другим узлом.

<режим> - Направление перехода. Определяется ключевыми словами или
типом выражения:

КОРЕНЬ - Переход к корневому узлу XML-документа.

ВВЕРХ - Переход к родительскому узлу от дочернего.

ВНИЗ - Переход к первому дочернему узлу (если у текущего
узла есть дочерние узлы).

СЛЕД - Переход к следующему узлу на данном уровне
(если текущий узел не является последним).

ПРЕД - Переход к предыдущему узлу на данном уровне
(если текущий узел не является первым).

СПИСОК_СЛЕД - Переход к следующему одноименному узлу на
данном уровне (если текущий узел не является
последним из одноименных узлов).

СПИСОК_ПРЕД - Переход к предыдущему одноименному узлу на
данном уровне (если текущий узел не является
первым из одноименных узлов).

ТЕСТ - Осуществляет проверку текущего узла. Возвращает НЕТ,
если узел, связанный с курсором, был удален.
Также позволяет проверить существование и валидность
курсора. Не выполняет никакого перехода.

<числовое выражение> - Переход к дочернему узлу с заданной позицией
(если есть такой дочерний узел).
Нумерация дочерних узлов с 1.

<строковое выражение> - Переход к первому дочернему узлу с заданным
именем (если есть такие дочерние узлы).


ФУНКЦИЯ XML_ДОБАВИТЬ_УЗЕЛ(ТИП_СТРОКА: курсор, имя_узла [; ТИП_ЧИСЛО: позиция])

Создает новый узел XML-документа. Узел добавляется в качестве дочернего для текущего узла,
связанного с курсором. В результате добавления курсор связывается с новым узлом.
Это позволяет тут же установить его текст (XML_ЗАП_ТЕКСТ) и атрибуты (XML_ЗАП_АТРИБУТ).
При добавлении узлов в цикле, перед добавлением очередного узла необходимо вернуть курсор
обратно к родительскому узлу вызовом XML_ПЕРЕЙТИ(курсор, ВВЕРХ).

курсор - Курсор, определяющий узел XML-документа, для которого
осуществляется добавлени дочернего узла. В результате выполнения
этот курсор связывается добавленным дочерним узлом.
имя_узла - Имя добавляемого узла.
позиция - Необязательный параметр, позиция вставки нового узла. Новый узел
размещается перед узлом с заданной позицией. Если позиция не задана или
находится вне пределов допустимого диапазона, то новый узел добавляется в конец.
Нумерация узлов начинается с 1.


ФУНКЦИЯ XML_УДАЛИТЬ_УЗЕЛ(ТИП_СТРОКА: курсор)

Удаляет текущий узел курсора и все его дочерние узлы из XML-документа.

курсор - Курсор, определяющий удаляемый узел XML-документа.
В результате удаления этот курсор связывается с родительским узлом удаленного.


ФУНКЦИЯ ТИП_ЧИСЛО: XML_КОЛ_УЗЛОВ(ТИП_СТРОКА: курсор)

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

курсор - Курсор, определяющий узел XML-документа.


ФУНКЦИЯ ТИП_СТРОКА: XML_ИМЯ_УЗЛА(ТИП_СТРОКА: курсор [; ТИП_ЧИСЛО: позиция])

Возвращает имя узла, связанного с курсором, или имя его дочернего узла в заданной позиции.

курсор - Курсор, определяющий узел XML-документа.
позиция - Необязательный параметр, позиция дочернего узла. Если параметр не задан, то
функция возвращает имя узла, связанного с курсором.
Нумерация дочерних узлов начинается с 1.

ФУНКЦИЯ ТИП_СТРОКА: XML_НОВЫЙ_КУРСОР(ТИП_СТРОКА: курсор)

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

курсор - Исходный курсор

2. Сделан ряд новых функций языка для закачки файлов из Интернет.
Используется технология фоновой закачки BITS, доступная начиная с Windows 2000 SP3.

Сеансы закачки идентифицируются произвольными именами. Закачка происходит вне контекста Инфо-Бухгалтера. Т.е. создав сеанс однажды можно периодически проверять его состояние. Как только будет достигнуто состояние готовности, можно будет воспользоваться скачанными файлами.

Состояния сеанса фоновой закачки определяются следующими числовыми значениями (*):

0 - задание находится в очереди, обрабатываются другие задания
1 - происходит установка соединения с удаленным сервером
2 - происходит скачивание файлов этого задания
3 - задание остановлено
4 - ошибка
5 - временная ошибка, задание не выполняется из-за временной недоступности сети, сервера и т.п., выполнение будет продолжено при благоприятных обстоятельствах
6 - скачивание успешно завершено, чтобы файлы стали доступны их надо принять (перейти в состояние 7)
7 - файлы приняты и доступны для использования
8 - задание отменено

Все функции фоновой закачки возвращают числовой код:

0 - успешный вызов
1 - ошибка
2 - задание с указанным именем уже существует
3 - задание с указанным именем не найдено


ФУНКЦИЯ ТИП_ЧИСЛО: ФЗ_ДОБАВИТЬ(ТИП_СТРОКА: имя; ТИП_СПИСОК: адреса, файлы)

Функция добавляет новое задание фоновой закачки и запускает его (переводит в состояние 2).
Количество элементов в списках адресов и файлов должно быть одинаковым, т.к.
первый адрес соответствует первому файлу и т.д.

имя - Имя нового задания фоновой закачки.
адреса - Список адресов файлов на удаленных серверах (URL).
файлы - Список путей файлов на локальном компьютере.
Относительные пути дополняются текущей директорией.


ФУНКЦИЯ ТИП_ЧИСЛО: ФЗ_СТАТУС(ТИП_СТРОКА: имя; ПЕРЕМ ТИП_ЧИСЛО: состояние,
всего_байт, получено_байт, всего_файлов, получено_файлов)

Функция опрашивает статус указанного задания фоновой закачки.

имя - Имя задания фоновой закачки.
состояние - Выходной параметр. Текущее состояние задания (см. *).
всего_байт - Выходной параметр. Объем файлов задания в байтах
или -1 (когда неизвестен).
получено_байт - Выходной параметр. Объем скачанных данных в байтах на момент вызова.
всего_файлов - Выходной параметр. Количество файлов в задании.
получено_файлов - Выходной параметр. Количество скачанных файлов на момент вызова.

ФУНКЦИЯ ТИП_ЧИСЛО: ФЗ_КОМАНДА(ТИП_СТРОКА: имя; ТИП_ЧИСЛО: состояние)

Функция позволяет изменить текущее состояние задания.

имя - Имя задания фоновой закачки.
состояние - Новое состояние. Эта функция может принимать следующие состояния из списка (см. *):

2 - Возбновление приостановленного задания (снятие с паузы).
3 - Приостановить задание (пауза).
7 - Принятие файлов. Файлы копируются из временных папок в указанные
при добавлении задания места на локальном компьютере.
8 - Отмена и удаление задания.

Замечание. После успешного завершения скачивания (состояние 6) для продолжения работы
необходимо вызвать ФЗ_КОМАНДА(<задание>, 7). В результате скачанные файлы
будут доступны на указанных путях локального компьютера, а задание закачки
будет удалено.


ФУНКЦИЯ ТИП_ЧИСЛО: ФЗ_ФАЙЛЫ(ТИП_СТРОКА: имя; ПЕРЕМ ТИП_СПИСОК: адреса, файлы)

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

имя - Имя задания фоновой закачки.
адреса - Список адресов файлов на удаленных серверах (URL).
файлы - Список абсолютных путей файлов на локальном компьютере.


ФУНКЦИЯ ТИП_ЧИСЛО: ФЗ_ОШИБКА(ТИП_СТРОКА: имя; ПЕРЕМ ТИП_СТРОКА: описание, контекст,
адрес, файл)

Функция позволяет получить дополнительную информацию об ошибке, предоставляемую
службой BITS. Получение информации об ошибке возможно только в состояниях 4 и 5 (см. *).

имя - Имя задания фоновой закачки.
описание - Выходной параметр. Текстовое описание ошибки.
контект - Выходной параметр. Описание контекста возникновения ошибки.
адрес - Выходной параметр. Адрес удаленного файла, свзанного с ошибкой.
файл - Выходной параметр. Путь локального файла, свзанного с ошибкой.

3. Исправлен запуск ibx-файлов из окна "Компиляция текста" в режиме компилировать и запустить.


<< 8.703 8.704 8.705 >>

Все версии

Главная страница

Hosted by uCoz