При последовательном чтении из текстового файла невозможно
При разработке программного обеспечения часто возникает необходимость читать и загружать различную информацию из файлов в программу. В языке Dart имеется несколько различных способов выполнять подобные действия. Рассмотрим возможности, которые предоставляет класс File для чтения информации:
- readAsBytes , readAsBytesSync - Асинхронное или последовательное получение содержимого файла в виде массива байт
- readAsLines , readAsLinesSync - Асинхронное или последовательное получение содержимого файла в виде массива строк
- readAsString , readAsStringSync - Асинхронное или последовательное получение содержимого файла в виде одной строки
В данной статье рассмотрим последовательное и асинхронное чтение из файла с помощью методов readAsStringSync и readAsString , которые целиком читают содержимое файла в строковую переменную. Стоит отметить, что операции считывания всех данных сразу, при большом размере файла, может занять большой объем оперативной памяти, и привести к значительному снижению производительности, мы сейчас не будем останавливаться на этих проблемах.
Интеграция с DBF-файлами
DBF - это стандартный формат хранения данных некоторых баз данных и электронных таблиц. В самом простом случае DBF файл состоит из заголовка, описывающего структуру базы и количество записей, и собственно записей, сведенных в таблицу с полями фиксированной длины.
Для работы с базами данных формата DBF (dBase III) в системе 1С имеется специальный объект – XBase. Механизм работы с базами данных формата DBF предназначен для манипулирования ими непосредственно из встроенного языка. Возможно практически любое манипулирование данными (возможно как внесение изменений в существующие файлы, так и создание новых). С помощью этого может быть обеспечена интеграция со сторонними системами.
Особенности использования механизма OLE Automation в 1С:
- Для создания объекта, с использованием которого из одной базы 1С:Предприятие 8 будет производиться обращение через OLE к другой информационной базе 1С:Предприятие 8, используется новый COMОбъект .
- Редактирование OLE-объектов осуществляется приложением, связанным с OLE-объектом.
- Automation-сервер "1С:Предприятие 8" дает практически полный доступ к приложению:
- предоставляет доступ ко всем свойствам и методам своего глобального контекста;
- предоставляет доступ к дополнительным свойствам и методам для выполнения действий, специфичных для работы в режиме Automation;
- позволяет управлять приложением системы "1С:Предприятие 8" из других приложений, а также выполнять действия, аналогичные интерактивным.
- В процедуре, которая будет вызываться при подключении к базе данных через СОМ, нельзя использовать Форма.Открыть().
- При обращении к базе данных 1С:Предприятие 8:
- через OLE выполняется процедура-обработчик события "ПриНачалеРаботыСистемы", определенный в модуле приложения;
- через COMConnector выполняется процедура-обработчик события "ПриНачалеРаботыСистемы" определенный в модуле внешнего соединения.
Механизмы обмена данными, обеспечиваемые платформой 1С:
- Механизм распределенных информационных баз (РИБ), предназначенный для обмена данными только с идентичными конфигурациями 1С:Предприятия 8 и жестко регламентирующий структуру создаваемой системы. Подробнее.
- Универсальный механизм обмена данными, позволяющий создавать произвольные распределенные системы и практически не накладывающий никаких ограничений на структуру создаваемой системы. Подробнее.
Оба эти механизма используют ряд средств технологической платформы, которые разработчик может применять как по отдельности, так и в различных комбинациях, в зависимости от конкретной решаемой задачи. Такой подход позволяет обеспечить гибкость механизмов обмена и их настраиваемость на решение как можно большего круга задач.
Создание информационной системы с использованием нескольких информационных баз в системе 1С:Предприятие 8 реализуется с помощью объекта конфигурации "Планы обмена".
Последовательное чтение текстовых файлов
Последовательная загрузка информации из файла в строковую переменную осуществляется с помощью метода File.readAsStringSync() , который возвращает содержание файла как одну строку, с учетом указанной в параметре Encoding encoding кодировки (по умолчанию, используется кодировка Encoding.UTF_8 ).
Для начала работы с операциями ввода-вывода, с помощью оператора import необходимо подключить библиотеку "dart:io":
После этого, мы можем объявить и инициализировать экземпляр класса File , указывающий на нужный нам документ. Сделать это проще всего с помощью конструктора File() :
Когда получен объект типа File можно непосредственно приступить к чтению текста:
Таким образом, простейшая программа на Dart для чтения информации из файла будет выглядеть следующим образом:
Но такой простой код, легко может привести к аварийному завершение программы в случае возникновения проблем с вводом-выводом, поэтому стоит добавить проверку на существование файла, которую можно осуществить с помощью метода File.existsSync() , и определить обработку исключительных ситуаций непосредственно при чтении с помощью блока try < . >on FileIOException catch (e)
В итоге, получим следующую программу:
Чтение произвольных текстовых файлов при обмене данными в 1С
Для чтения произвольных текстовых файлов существует объект встроенного языка ЧтениеТекста . Его методы Прочитать() и ПрочитатьСтроку() позволяют выполнить соответственно посимвольное и построчное чтение.
Пример посимвольного чтения текстового файла в 1С:
При последовательном чтении из текстового файла возможно:
- как построчное, так и посимвольное чтение (в зависимости от выбранного метода чтения).
Особенности механизма обмена данными 1С:
- При использовании планов обмена управлять составом узлов, для которых производится регистрация изменений объектов, можно корректировать при работе с объектом.
- И механизм распределенной информационной базы, и универсальный обмен данными используют технологию регистрации объектов (неких триггеров, после которого объект ставится на обмен), которая может работать:
- в автоматическом режиме - простой вариант, как только объект изменен, он ставится на обмен;
Для прикладных объектов в окне редактирования объекта конфигурации на закладке "Обмен данными" (рисунок - в спойлере выше) указываются планы обмена, в которых будут учитываться изменения в данном объекте.
То, в каких планах обмена для конкретного прикладного объекта указана авторегистрация можно определить:
Для преобразования XML документа в другой документ допустимого формата предназначен объект "ПреобразованиеXSL".
Механизм интеграции OLE Automation
Механизм OLE был задуман как технология интеграции программных продуктов Microsoft Office, которая позволяет работать с объектами, созданными в других приложениях (документы, рисунки, таблицы). С точки зрения пользователя, составной документ выглядит единым набором информации, но фактически содержит элементы, созданные двумя или несколькими разными приложениями.
OLE-объект - объект, созданный в другом приложении и сохранивший связь с этим приложением (например, электронные таблицы Excel, вставленные в документ Word соответствующим образом - как OLE-объект; если не вставлять их как OLE-объект, то связь с оригинальным приложением будет отсутствовать).
Контейнер приложения OLE - приложение, в котором создается составной документ, позволяя обрабатывать его части в исходном приложении (например, таком как Word или Excel), которое использовалось для создания OLE-объекта.
Сервер приложения OLE (OLE Server Application) - приложение, создающее объекты, которые можно поместить в документ-контейнер.
Программы 1С:Предприятие, Microsoft Word и Excel являются приложениями, которые могут выступать и как OLE-сервер, и как OLE-контейнер. Другими словами, эти приложения могут создавать новые OLE-объекты, а также хранить OLE-объекты, созданные в других приложениях.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Список вопросов 1c :Профессионал Платформа 8.3 Глава 8
Навигация (только номера заданий)
0 из 54 заданий окончено
Информация
08. Механизмы интеграции и обмена данными
Вы уже проходили тест ранее. Вы не можете запустить его снова.
Вы должны войти или зарегистрироваться для того, чтобы начать тест.
Вы должны закончить следующие тесты, чтобы начать этот:
Результаты
Вы набрали 0 из 0 баллов ( 0 )
Рубрики
С точки зрения XML сериализации значение типа “ДокументСсылка.ИмяДокумента” относится:
- К простым типам
- К сложным типам
- Применить средства XML сериализации к данному типу значения нельзя
Одновременно с файлом формата dbf может быть открыто…
- Любое количество индексных файлов
- Количество индексных файлов, не превышающее количество полей в dbf файле
- Не более трех индексных файлов
- Не более одного индексного файла
При обращении к базе данных 1С:Предприятие 8 через OLE выполняется процедура – обработчик события «ПриНачалеРаботыСистемы» определенный…
- В модуле приложения
- В модуле внешнего соединения
- В общем модуле
- в OLE модуле
- Только при использовании возможности распределения информационной базы данных
- Только при использовании возможностей универсального обмена
- Как средствами универсального обмена, так и распределением информационной базы
- Данную топологию реализовать невозможно
При записи значения с использованием средств XML сериализации в XML документ:
- Используются только методы, относящиеся к средствам XML сериалиации
- Используются только возможности объекта "ЗаписьХМL"
- Используются методы, относящиеся к средствам XML сериализации и объект "ЗаписьХМL"
- Для записи преобразованного значения используется метод глобального контекста "ЗаписатьВФайл(ИмяФайла)"
При обращении к базе данных 1С:Предприятие 8 через СОМ выполняется процедура-обработчик события “ПриНачалеРаботыСистемы” определенный…
- В модуле приложения
- В модуле внешнего соединения
- В общем модуле
- В СОМ модуле
- Только при использовании возможности распределения информационной базы данных
- Только при использовании возможностей универсального обмена
- Как средствами универсального обмена, так и распределением информационной базы
- Данную топологию реализовать невозможно
Событие “ПриПолученииДанныхОтПодчиненного”, определенное в модуле плана обмена, возникает при получении данных от подчиненного узла:
- При отмеченном у данного плана обмена флаге "Распределенная база данных"
- При не отмеченном у данного плана обмена флаге "Распределенная база данных"
- Состояние данного флага на вызов этого обработчика события не влияет
При последовательном чтении из текстового файла невозможно:
- Построчное чтение текста
- Посимвольное чтение текста
- Возможно как построчное, так и посимвольное чтение
В процедуре, которая будет вызываться при подключении к базе данных через СОМ, нельзя использовать:
- ДокОбъект=Док.СоздатьДокумент()
- Форма.Открыть()
- Запрос=Новый Запрос
- Нет правильного ответа
При использовании механизма распределенных баз данных изменения в конфигурации:
При использовании механизма распределенных информационных баз соответствующем объекте “План обмена” отдельно взятой информационной базы (входящей в распределенную) определяется:
- Только подчиненные базы (входящие в распределенную)
- Главная (но она может и отсутствовать) и подчиненные базы
- Полная структура определяется в корневой базе, у отдельно взятого экземпляра базы определены только те информационные базы, с которыми у нее идет непосредственный обмен
Для создания объекта, с использованием которого из одной базы 1С:Предприятие 8 будет производиться обращение через OLE к другой информационной базе 1С:Предприятие 8, используется конструктор:
- Новый Ваsе(СтрокаИнициализации)
- Новый ОLЕОбъект
- Новый СОМОбъект
- Создание подобного объекта производится другими средствами
К простым с точки зрения XML сериализации относятся типы:
- Только: Число, Строка, Дата, Булево
- Только: Число, Строка, Дата, Булево, Неопределенно, Null
- Все стандартные типы XML
- Которые представляются в виде элементов XML только с текстовым содержимым
- С точки зрения XML сериализации нет понятия "простые типы"
Экземпляр объекта XBase позволяет одновременно организовать работу:
- Только с одним файлом формата dbf
- С любым количеством файлов dbf
- С любым количеством файлов dbf, но только в случае наличия файла описания связей
- С любым количеством файлов dbf, но только в случае указания связей между полями с помощью специальных свойств объекта XBase
Для получения почты напрямую с почтового сервера (без использования установленного почтового клиента) использует объект:
- Объект "Почта"
- Объект "ИнтернетПочта"
- Объект "ИнтернетСервер"
- Данная возможность платформой не предусмотрена
Элементы управления ActiveX могут использоваться в диалоге формы:
- Без ограничения
- Только в формах открываемых модально
- Только в формах открываемых не модально
- Не могут размещаться в диалогах форм
К сложным, с точки зрения XML сериализации, относятся типы:
- Все кроме типов относящихся к примитивным
- Все ссылочные типы
- Типы, описанные на "http://www.w3.org/2001/XMLSchema-instance"
- Типы, значения которых представляются в виде элементов XML, содержащих вложенные элементы
- С точки зрения XML сериализации, нет понятия "сложные типы"
У плана обмена может быть следующее количество предопределенных узлов (которые нельзя удалить или пометить на удаление):
- Ни одного
- Всегда один
- Любое количество
С точки зрения XML сериализации, значение типа “ХранилищеЗначения” относится:
- К простым типам
- К сложным типам
- Применить средства XML сериализации к данному типу значения нельзя
Для обращения к свойствам элементов управления ActiveX из модуля формы используется:
- Свойство ActiveX формы, содержащее коллекцию элементов управления ActiveX
- Свойство "ЭлементыФормы"
- Прямое указание имени элемента управления (без использования свойств формы)
- Только реквизит формы, связанный с данным элементом управления ActiveX
С точки зрения XML сериализации, значение типа “КонстантаМенеджерЗначения.Имя константы” относится:
- К простым типам
- К сложным типам
- Применить средства XML сериализации к данному типу значения нельзя
При работе с объектом “ИнтернетПочта” можно произвести выборку писем (либо заголовков):
- За указанный период
- Либо все, либо непрочитанные
- Либо все, либо непрочитанные, либо прочитанные
- За указанный период все, либо непрочитанные, либо прочитанные
- Только все письма, находящиеся на сервере
В качестве макета нельзя использовать:
- Документ HTML
- ActiveX элемент управления
- Active документ
- Можно использовать все из перечисленных
- Файл программы Microsoft Word
- Макет оформления компоновки данных
При использовании возможности организации универсального обмена данными процесс разрешения коллизий:
При работе с внешней компонентой (выберите наиболее правильное утверждение):
- Одновременно в одном сеансе можно загрузить не более одной внешней компоненты с одним расширением файла (*.dll, *.осх)
- Объекты внешней компоненты размещаются в дереве объектов конфигурации и в дальнейшем могут использоваться также как и основные объекты
- После программной загрузки объекты внешней компоненты подключаются к "1С:Предприятию 8"
- Работа с внешними компонентами в "1С:Предприятие 8" не предусмотрена
При использовании планов обмена, управлять составом узлов, для которых производится регистрация изменений объектов:
Объект “ПреобразованиеXSL” предназначен…
- Для преобразования таблицы значения в файл программы Microsoft Excel
- Для преобразования табличного документа в файл программы Microsoft Excel
- Для преобразования XML документа в другой документ допустимого формата
- Для задания (и использования для перевода) соответствия между строковыми величинами и числовыми
С помощью средств XML сериализации нельзя в XML документ сохранить значения, имеющие тип:
- Хранилище значений
- Картинка
- Строка неограниченной длины
- Верны 1 и 2 варианты
- Нельзя сохранить все вышеуказанные типы значений
- Можно сохранить значения всех вышеуказанных типов
Выберите правильное утверждение, касающееся элемента управления “поле HTML документа”
Для отслеживания момента полной загрузки HTML документа в элементе управления “Поле HTML документа” можно использовать:
- Флаг модифицированности формы
- Обработчик события "Документ сформирован" данного элемента управления, в котором при этом производится проверка свойства URL на равенство заданному адресу ресурса
- Проверку свойства "Значение" данного элемента управление на равенство "Неопределенно"
- Проверку свойства "Значение" данного элемента управление на равенство "Null"
- Проверку свойства "URL" данного элемента управление на равенство заданному адресу ресурса
Для получения почты посредством установленного на пользовательском компьютере почтового клиента используется объект:
- Почта
- ИнтернетПочта
- ПочтовыйКлиент
При программном создании фабрики XDTO, типы в ней определенные:
- Могут расширяться за счет подключения программно создаваемых пакетов XDTO
- Могут расширяться за счет подключения дополнительных схем XML документов
- Не могут расширяться, определяются в полном объеме при создании
Типы определенные в глобальной фабрикеXDTO:
- Могут расширяться за счет создания пакетов XDTO
- Могут расширяться за счет подключения дополнительных схем XML документов
- Не могут расширяться, определяются в полном объеме при создании информационной базы
- Могут расширяться за счет создания пакетов XDTO, изменения состава объектов конфигурации
Понятию “Фабрика XDTO” больше всего соответствует такое понятие XML как:
- Набор схем XML
- Схема XML документа
- Xml документ
- Пространство имен
Понятию “Пакет XDTO” больше всего соответствует такое понятие XML как:
- Набор схем XML
- Схема XML документа
- Xml документ
- Пространство имен
В рамках создаваемого пакета XDTO (без использования директивы импорта) можно использовать типы:
- Определенные только в данном пакете
- Определенные только в данном пакете и типы стандартные для XML
- Определенные только в данном пакете, типы стандартные для XML и типы производные от метаданных системы
В рамках модели XDTO понятие “Фасет” относится к:
- Тип объекта XDTO
- Тип значения XDTO
- Свойство XDTO
- Директива импорта
При определении типа свойства объекта XDTO информация о типе включает:
- Только имя типа
- Имя типа и имя пространства имен
- Имя типа и имя пакета XDTO
- Имя типа и имя фабрики XDTO
Менеджер WEB сервисов решает задачу:
- Управление пулом соединений с информационными базами
- Поддержка WSDL описания сервиса, реализация протокола SOAP
- Поддержка работы WEB приложения
- Верны ответы 1,2
- Верны ответы 2,3
- верны ответы 1,2,3
Объект конфигурации “WEB сервис” используется для:
- Организации динамического обращения к web-сервисам
- Организации обращения к web-сервисам по статической ссылке
- Экспорта функциональности данной информационной базы
Объект конфигурации “WSСсылка” используется для:
- Организации динамического обращения к web-сервисам
- Организации обращения к web-сервисам по статической ссылке
- Экспорта функциональности данной информационной базы
В случае если функция, реализующая операцию WEB сервиса, возвращает какое-либо значение. То такое значение определяется (при настройке соответствующего объекта конфигурации) как имеющее тип:
- Строка
- Число
- Булево
- Элемент XML
- Объект или значение XDTO
- Верны ответы 1,2,3
При обращении к WEB сервису по статической ссылке последовательность действий следующая:
- Получение wsdl описания, настройка подключения (создание прокси), обращение к операции сервиса
- Настройка подключения (создание прокси), обращение к операции сервиса
- Обращение к операции сервиса
При обращении к WEB сервису по динамической ссылке последовательность действий следующая:
- Получение wsdl описания, настройка подключения (создание прокси), обращение к операции сервиса
- Настройка подключения (создание прокси), обращение к операции сервиса
- Обращение к операции сервиса
В случае если функция, реализующая операцию WEB сервиса, принимает какое-либо значение в качестве параметра. То такое значение определяется (при настройке соответствующего объекта конфигурации) как имеющее тип:
- Строка
- Число
- Булево
- Элемент XML
- Объект или значение XDTO
- Верны ответы 1,2,3
Каким образом можно определить в каких планах обмена для конкретного прикладного объекта указана авторегистрация?
- В окне редактирования объекта, раздел "Обмен данными"
- Посредством вызова окна "Палитра свойств" для данного объекта
- Посредством вызова окна "Дополнительно" для данного объекта (закладка "Планы обмена")
- Верно все вышеперечисленное
- Верны ответы 1 и 3
Для прикладных объектов в окне редактирования объекта конфигурации на закладке “Обмен данными” указываются …
- Объекты, при изменении которых в обмен должен попасть данный объект
- Объекты, которые должны попасть в обмен при изменении данного объекта
- Планы обмена, при выполнении обмена по которым будет происходить изменение данного объекта
- Планы обмена, в которых будут учитываться изменения в данном объекте
Редактирование OLE-объектов осуществляется:
- Встроенным в платформу редактором табличных документов
- Встроенным в платформу редактором OLE-объектов
- Приложением, связанным с OLE-объектом
Внешние файлы табличных документов:
- Имеют расширение XML
- Имеют расширение MXL
- Могут иметь любое расширение
- Не существуют. Все табличные документы встроены в Конфигурацию
Automation-сервер “1С:Предприятие 8″…
- Предоставляет доступ ко всем свойствам и методам своего глобального контекста
- Предоставляет доступ к дополнительным свойствам и методам для выполнения действий, специфичных для работы в режиме Automation
- Позволяет управлять приложением системы "1С:Предприятие 8" из других приложений, а также выполнять действия, аналогичные интерактивным
- Верны все указанные ответы
Создание информационной системы с использованием нескольких информационных баз в системе 1С:Предприятие 8…
- Невозможно
- Реализуется полностью программным способом
- Реализуется с помощью объекта конфигурации "Планы обмена"
- Реализуется встроенным в платформу мастером обмена
Средства платформы, используемые для построения схем обмена данными:
- Планы обмена - объекты конфигурации, которые позволяют:
- описывать перечень узлов распределенной информационной системы, с которой будет производиться обмен данными, и
- задавать состав данных, которые будут участвовать в обмене. Подробнее.
- Средства XML-сериализации служат для представления данных 1С:Предприятия 8 различных типов в виде последовательности данных XML, и наоборот. Подробнее.
- Средства чтения/записи XML-документов позволяют работать с данными формата XML на «базовом» уровне, без привязки к объектам 1С:Предприятия 8. Подробнее.
Гибкие возможности настройки позволяют сформировать практически любую топологию схемы узлов обмена (звезда, снежинка, схемы без центрального узла).
Последовательное чтение текстовых файлов
Последовательная загрузка информации из файла в строковую переменную осуществляется с помощью метода File.readAsStringSync() , который возвращает содержание файла как одну строку, с учетом указанной в параметре Encoding encoding кодировки (по умолчанию, используется кодировка Encoding.UTF_8 ).
Для начала работы с операциями ввода-вывода, с помощью оператора import необходимо подключить библиотеку "dart:io":
После этого, мы можем объявить и инициализировать экземпляр класса File , указывающий на нужный нам документ. Сделать это проще всего с помощью конструктора File() :
Когда получен объект типа File можно непосредственно приступить к чтению текста:
Таким образом, простейшая программа на Dart для чтения информации из файла будет выглядеть следующим образом:
Но такой простой код, легко может привести к аварийному завершение программы в случае возникновения проблем с вводом-выводом, поэтому стоит добавить проверку на существование файла, которую можно осуществить с помощью метода File.existsSync() , и определить обработку исключительных ситуаций непосредственно при чтении с помощью блока try < . >on FileIOException catch (e)
В итоге, получим следующую программу:
Похожие записи
Gallery image with caption: Механизмы сложных периодических расчетов 1c. Список вопросов 1c :Профессионал Платформа 8.3
Gallery image with caption: Объекты и механизмы бухгалтерского учета 1c. Список вопросов 1c :Профессионал Платформа 8.3
Gallery image with caption: Механизмы оперативного учета 1c. Список вопросов 1c :Профессионал Платформа 8.3
Gallery image with caption: Механизмы построения отчетности 1c. Список вопросов 1c :Профессионал Платформа 8.3
Gallery image with caption: Интерфейсные механизмы 1c. Список вопросов 1c :Профессионал Платформа 8.3
Gallery image with caption: Обслуживание прикладного решения 1c. Список вопросов 1c :Профессионал Платформа 8.3
Механизмы обмена данными 1С позволяют создавать территориально распределенные информационные системы обменивающиеся данным в офф-лайн режиме, без постоянного соединения.
С помощью этих механизмов можно осуществлять интеграцию не только между различными информационными базами 1С:Предприятия, но и строить сложные гетерогенные информационные системы, включающие, наряду с решениями на платформе 1С:Предприятие, еще и внешние приложения.
Особенности интеграции 1С с DBF-файлами:
- Одновременно с файлом формата dbf может быть открыто не более одного индексного файла.
- Экземпляр объекта XBase позволяет одновременно организовать работу только с одним файлом формата .dbf.
Асинхронное чтение текстовых файлов
Выше мы рассмотрели пример последовательной работы с файлом, когда управление в программу возвращается только после того, как полностью выполнится каждая операция ввода/вывода. Но бывают случаи, когда такое поведение "подвешивает" программу и она надолго перестает откликаться - например, если используется носитель с медленной скоростью чтения/записи, или производится обработка больших объёмов данных. Чтобы избежать таких ситуаций, в Dart можно использовать асинхронные операции ввода-вывода, которые сразу же возвращают управление, и программа продолжает выполняться дальше без задержек.
Асинхронная загрузка информации из файла в строковую переменную осуществляется с помощью метода File.readAsString() , который возвращает объект типа Future .
После вызова данного метода, управление не блокируется, а сразу же возвращается в основной поток, а обработка данных и исключительных ситуаций происходит позже, по мере готовности, с помощью методов объекта класса Future . В общем, этот класс предполагает обработку событий, которые произойдут в будущем. Когда событие успешно - вызывается метод Future.then() , если возникла исключительная ситуация вызывается Future.handleException() .
Таким образом, мы можем адаптировать нашу программу для асинхронной обработки данных следующим образом:
492. В процедуре, которая будет вызываться при подключении к базе данных через COMConnector, нельзя использовать:
• Форма.Открыть()
493. В рамках модели XDTO понятие "Фасет" относится к:
• тип значения XDTO
494. В рамках создаваемого пакета XDTO (без использования директивы импорта) можно использовать типы:
• определенные только в данном пакете и типы стандартные для XML
495. В случае если функция, реализующая операцию WEB сервиса, возвращает какое-либо значение. То такое значение определяется (при настройке соответствующего объекта конфигурации) как имеющее тип:
• объект или значение XDTO
496. В случае если функция, реализующая операцию WEB сервиса, принимает какое-либо значение в качестве параметра. То такое значение определяется (при настройке соответствующего объекта конфигурации) как имеющее тип:
• объект или значение XDTO
497. Внешние файлы табличных документов:
• Имеют расширение MXL
498. Выберите правильное утверждение, касающееся элемента управления "поле HTML документа"
• Позволяет просматривать html документы, как в локальной сети, так и в сети Интернет
499. Данную топологию обмена между информационными базами (имеющими одинаковую конфигурацию) можно реализовать:
• Только при использовании возможностей универсального обмена
500. Данную топологию обмена между информационными базами (имеющими одинаковую конфигурацию) можно реализовать:
• Как средствами универсального обмена, так и распределением информационной базы
501. Для обращения к свойствам элементов управления ActiveX из модуля формы используется:
• Свойство "ЭлементыФормы"
502. Для отслеживания момента полной загрузки HTML документа в элементе управления "Поле HTML документа" можно использовать:
• Обработчик события "Документ сформирован" данного элемента управления, в котором при этом производится проверка свойства URL на равенство заданному адресу ресурса
503. Для получения почты напрямую с почтового сервера (без использования установленного почтового клиента) использует объект:
• Объект "ИнтернетПочта"
504. Для получения почты посредством установленного на пользовательском компьютере почтового клиента используется объект:
• Почта
505. Для прикладных объектов в окне редактирования объекта конфигурации на закладке "Обмен данными" указываются..
• планы обмена, в которых будут учитываться изменения в данном объекте
506. Для создания объекта, с использованием которого из одной базы 1С:Предприятие 8 будет производиться обращение через OLE к другой информационной базе 1С:Предприятие 8, используется конструктор:
• Новый СОМОбъект
507. К простым с точки зрения XML сериализации относятся типы:
• Которые представляются в виде элементов XML только с текстовым содержимым
508. К сложным, с точки зрения XML сериализации, относятся типы:
• Типы, значения которых представляются в виде элементов XML, содержащих вложенные элементы
509. Каким образом можно определить в каких планах обмена для конкретного прикладного объекта указана авторегистрация?
• В окне редактирования объекта, раздел "Обмен данными"
• Посредством вызова окна "Дополнительно" для данного объекта (закладка "Планы обмена")
510. Менеджер WEB сервисов решает задачу:
• поддержка WSDL описания сервиса, реализация протокола SOAP
• управление пулом соединений с информационными базами
511. Объект "ПреобразованиеХSL" предназначен.
• для преобразования XML документа в другой документ допустимого формата
512. Объект конфигурации "WEB сервис" используется для:
• экспорта функциональности данной информационной базы
513. Объект конфигурации "WSСсылка" используется для:
• организации обращения к web-сервисам по статической ссылке
514. Одновременно с файлом формата dbf может быть открыто.
• не более одного индексного файла
515. Понятию "Пакет XDTO" больше всего соответствует такое понятие XML как:
• схема XML документа
516. Понятию "Фабрика XDTO" больше всего соответствует такое понятие XML как:
• набор схем XML
517. При записи значения с использованием средств XML сериализации в XML документ:
• Используются методы, относящиеся к средствам XML сериализации и объект "ЗаписьХМL"
518. При использовании возможности организации универсального обмена данными процесс разрешения коллизий:
• По умолчанию платформой не определяется
519. При использовании механизма распределенных баз данных изменения в конфигурации:
521. При использовании механизма распределенных информационных баз в соответствующем объекте "План обмена" отдельно взятой информационной базы (входящей в распределенную) определяется:
• Главная (но она может и отсутствовать) и подчиненные базы
522. При использовании планов обмена, управлять составом узлов, для которых производится регистрация изменений объектов:
• Состав узлов, для которых идет регистрация изменений, может корректироваться при работе с объектом
• Порядок определяется программистом
524. При обращении к WEB сервису по динамической ссылке последовательность действий следующая:
• получение wsdl описания, настройка подключения (создание прокси), обращение к операции сервиса
525. При обращении к WEB сервису по статической ссылке последовательность действий следующая:
• настройка подключения (создание прокси), обращение к операции сервиса
526. При обращении к базе данных 1С:Предприятие 8 через OLE выполняется процедура — обработчик события ПриНачалеРаботыСистемы" определенный.
• в модуле приложения
527. При обращении к базе данных 1С:Предприятие 8 через СОМConnector выполняется процедура — обработчик события "ПриНачалеРаботыСистемы" определенный.
• в модуле внешнего соединения
528. При определении типа свойства объекта XDTO информация о типе включает:
• имя типа и имя пространства имен
529. При последовательном чтении из текстового файла невозможно:
• Возможно как построчное, так и посимвольное чтение
530. При программном создании фабрики XDTO, типы в ней определенные:
• не могут расширяться, определяются в полном объеме при создании
531. При работе с внешней компонентой (выберите наиболее правильное утверждение):
• После программной загрузки объекты внешней компоненты подключаются к "1С:Предприятию 8"
532. При работе с объектом "ИнтернетПочта" можно произвести выборку писем (либо заголовков):
• Только все письма, находящиеся на сервере
533. Редактирование OLE-объектов осуществляется:
• Приложением, связанным с OLE-объектом
534. С помощью средств XML сериализации нельзя в XML документ сохранить значения, имеющие тип:
Текстовые данныев приложенияхVBможно не только вводить с клавиатуры и отображать на экране, но и читать из файла, где они хранятся, и записывать в файл.
Драйвер файловой системы–это программа операционной системы, котораяобеспечивает доступ к информации, записанной на магнитный носитель, по имени файла и распределяет пространство на магнитном носителе между файлами.
Для выполнения этих функций драйвер файловой системы хранит не только информацию пользователя, но и свою собственную служебную информацию. В служебных областях носителя хранится список всех файлов и каталогов, а также различные дополнительные справочные таблицы, служащие для повышения скорости работы драйвера файловой системы.
К файловой системе имеет доступ и любая прикладная программа, для этого во всех языках программирования, в том числе и в VB, имеются специальные средства в виде функций и целых классов для работы с файлами.
По способу доступа к данным различают файлы последовательного доступа,произвольного доступа и двоичные. В файлах первого вида доступ к информации осуществляется последовательно от начала до конца файла, в файлах произвольного доступа – либо последовательно, либо в произвольном порядке, а в двоичных файлах – побайтно.
Текстовые файлы являются последовательными файлами, состоящими из записей переменной длины, расположенными на внешнем носителе. Они называются файлами с последовательным доступом потому, что могут читаться только с самого начала по порядку. Запись нельзя прочитать из середины файла. Каждая запись является строкой текста, которая заканчивается специальными символами-разделителями (vbCrLf или vbNewLine).
Текстовый файл состоит из одной или более строк, слов или символов. Он отличается от файлов документов и веб-страниц, которые содержат форматирующие коды, и от исполняемых файлов, которые содержат инструкции для операционной системы. Обычные текстовые файлы определены в MSWindows как TextDocuments (Текстовые документы) и имеют расширение *.txt. Так как текстовые файлы содержат только обычные распознаваемые символы, их можно легко отобразить на экране с помощью стандартных средств VB, например, с помощью объектов текстового поля.
Работа с любым файлом, в том числе с текстовыми файлами, состоит из трех этапов:
· чтение или запись информации из файла или в файл;
ВVB можно использовать три способа доступа к текстовым файлам:
1.С использованием дескрипторов (дескрипторный доступ), т.е. процедур и функций VB с указанием номера файла. Эти процедуры и функции являются методами класса FileSystem библиотеки Microsoft.VisualBasic.
2.С использованием методов библиотеки классов System.IO(потоковый доступ).
Средства VB для доступа к текстовым файлам
Рассмотрим дескрипторный способ доступа к текстовым файлам, который использует функции VB, представленные в таб. 4.10.2-1.
Функция | Описание |
FileOpen( ) | Открывает текстовый файл для ввода или вывода |
LineInput( ) | Читает строку из текстового файла |
PrintLine( ) | Записывает строку в текстовый файл |
EOF( ) | Проверяет достижение конца текстового файла |
FileClose( ) | Закрывает текстовый файл |
Для указания путей к файлам можно использовать элемент управления OpenFileDialog,позволяющий запрашивать у пользователя путь к файлу и выбирать тот текстовый файл в программе, который следует открыть. Этот элемент управления имеет множество свойств, в том числе свойство Filter, котороеуправляет тем, какой тип файлов в нем отображается, и свойство FileName, котороевозвращает путь к файлу, указанный пользователем, а также метод ShowDialog( ), который отображает диалоговое окно MSWindowsOpen.Подробное описание элементов управления для работы с файлами можно найти в [2-4].
Итак, файл может быть открыт с помощью функции FileOpen( ), простейший синтаксис которой имеет следующий вид:
FileOpen(НомерФайла, ПутьФайл, Мода),
где: НомерФайла– это целое число от 1 до 255(дескриптор), которое приписывается файлу при открытии, а затем это число используется, когда требуетсясослаться на этототкрытый файл;
ПутьФайл – это корректный путь в файловой системе MSWindows;
Мода –это ключевое слово, указывающее на то, как файл будетиспользоваться OpenMode.Input (для чтения из файла)иOpenMode.Output (для записи в файл).
Создание новых файлов на диске и сохранение в них данных используется, когда требуется создать собственные отчеты, сохранить важные вычисления или значения, или создать специализированный текстовый процессор или текстовый редактор. Вот перечень действий, которые требуется выполнить для этого в программах:
1. Получить ввод от пользователя, выполнить математические вычисления или сделать и то, и другое.
2. Присвоить результаты обработки одной или нескольким переменным.Например, можно присвоить содержимое текстового поля строковой переменной.
3. Получить путь к файлу с помощью TextBoxили запросить у пользователя путьс помощью элемента управления SaveFileDialog. Для отображения этого диалогового окна используется метод ShowDialog( ).
4. Открыть файл для записи,в соответствии с полученным путем с помощью функции FileOpen( ).
5. Использовать функцию PrintLine( ) для сохранения одного или нескольких значений в открытом файле
6. Закрыть файл с помощью функции FileClose( )по окончании записи.
Рассмотрим пример, как использовать функцию FileOpen( )для открытия текстового файла. Также этотпример демонстрирует, как использовать функции LineInput( ), PrintLine( )и EOF( )для работы с файлом, а для закрытия файла – функцию
FileClose().
Пример 4.10.2-1. Создать проект, который будет отображать содержимое файла на форме с помощью текстового поля с использованием функции LineInput( ), а после редактирования текстового поля будет записывать строку в текстовый файл.
1.Создать форму проектаПроект-4-10-2-1, которая показана на рис. 4.10.2-1.
Свойства объектов формы сведены в табл. 4.10.2-2.
Объект | Свойство | Значение |
TextBox1 | Enabled | False |
Multiline | True | |
Name | TextBox1 | |
ScrollBars | Vertical | |
TextBox2 | Name | TextBox2 |
Multiline | True | |
Label1 | Text | " Путь файла " |
Name | Label1 | |
Button1 | Name | Button1 |
Text | "Загрузить содержимое файла" | |
Button2 | Name | Button2 |
Text | "Записать содержимое в файл" | |
Button3 | Name | Button3 |
Text | "Конец" | |
Form1 | Text | "Пример 4.10.2-1. Чтение и запись в текстовый файл" |
2.Написать программный код, который представлен на рис. 4.10.2-2.
PublicClassForm1 'Процедура открытия файла для вывода и 'записи содержимого текстового поля в открытый файл Sub SaveFile(ByVal FileName AsString, ByValT As TextBox) If FileName <>""Then FileOpen(1, FileName, OpenMode.Output) PrintLine(1, T.Text) FileClose(1) EndIf EndSub 'Отображение содержимого файла в текстовом поле Sub OpenFile(ByVal FileName AsString, ByValT As TextBox) Dim AllText AsString = "" Dim LineOfText AsString = "" Try'Открытие файла и перехват всех ошибок FileOpen(1, FileName, OpenMode.Input) DoUntilEOF(1) 'Чтение строки из файла, до тех пор пока не LineOfText = LineInput(1)' будет достигнут конец файла 'Добавление строки в переменную ALLText AllText = AllText&LineOfText&vbCrLf Loop T.Text = AllText'Отображение содержимого файла в текст. поле T.Enabled = True'Включениетекстовогокурсора Catchex As Exception MsgBox("Ошибкаоткрытияфайла.") Finally FileClose(1) 'Закрытиефайла EndTry EndSub 'Функция ввода пути к файлу из TextBox Function vvod(ByVal T As TextBox) AsString Return T.Text EndFunction PrivateSub Button3_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button3.Click End EndSub PrivateSub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim FileName AsString FileName = vvod(TextBox2) OpenFile(FileName, TextBox1) EndSub PrivateSub Button2_Click_1(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click Dim FileName AsString FileName = vvod(TextBox2) SaveFile(FileName, TextBox1) EndSub EndClass |
Процедура OpenFile( )выполняет следующие действия:
· с помощью блока кода Try. Catch…EndTry перехватывает ошибки;
· с помощью функции FileOpen( )открывает указанный файл для ввода (чтение из файла);
· использует функцию Linelnput( )для построчного копирования файла в строку с именем AllText;
- копирует строки до тех пор, пока не будет достигнут конец файла – EOF( ), или до тех пор, пока в строке не останется больше места (строка AllTextимеет место для очень большого файла, но если в процессе копирования произойдет ошибка, блок Catch выведет сообщение об этой ошибке);
· отображает строку AllTextв текстовом поле и включает полосы прокрутки и текстовый курсор;
· закрывает файл с помощью функции FileClose( ).
Процедура SaveFile( )выполняет следующие действия:
· проверяет правильность пути к файлу;
· с помощью функции FileOpen( )открывает указанный файл для вывода (записи в файл);
· использует функцию PrintLine( )для записи содержимого текстового поля в файл;
· закрывает файл с помощью функции FileClose( ).
3.Запустить проект Проект-4.10.2-1.
4.Ввести в текстовое поле TextBox2путь к файлу.
5.Щелкнуть мышью на кнопке Загрузить содержимое файла.
В текстовом поле TextBox1появится содержимое текстового файла Тесты.txt (рис. 4.10.2-3).
6.Закончив просмотр и отредактировав содержимое текстового поля объекта TextBox1, необходимо щелкнуть на кнопкеЗаписать содержимое строки в файл.
7.Процесс загрузки содержимого текстового файла, его редактирования и записи содержимого текстового поля в файл можно повторить несколько раз.
8.Для окончания работы программы необходимо щелкнуть на кнопке Конец.
Рассмотрим подробнее средства VBдля обработки ошибок времени выполнения.
Ошибки времени выполнения (также называемые исключениями) возникают при нормальных условиях работы - например, из-за отсутствия диска в дисководе или неправильного заданного пути при открытии файла. Блоки кода, обрабатывающие такие ошибки, называются структурными обработчиками ошибок (или структурными обработчиками исключений). Их можно использовать для распознавания ошибок времени исполнения при их возникновении в программе и настройки программы так, что она снова сможет получить управление и продолжить работу. Для этого в VB имеется блок Try…Catch…EndTry – синтаксическая конструкция для обработки ошибок.
Оператор Try необходимо поместить в процедуру события непосредственно перед оператором, в котором может произойти непредвиденная ситуация, а блок Catch следует непосредственно за ним и содержит операторы, которые необходимо выполнить, если произойдет ошибка времени исполнения. Также можно использовать некоторые дополнительные операторы, такие, как Finally, а также вложенные блоки кода Try…Catch…EndTry. Базовый синтаксис обработчика исключений Try…Catch…EndTry может иметь следующий формат:
Операторы, которые могут вызвать ошибку времени исполнения
Операторы, которые выполняются, если ошибка времени исполнения происходит
Дополнительные операторы, выполняемые независимо от возникновения ошибки
где Try, Catch и EndTry - это обязательные ключевые слова, а Finally и операторы, которые стоят за ним, необязательны.
В примере 4.10.2-1 продемонстрирована обычная ситуация возникновения ошибки времени выполнения, связанная с открытием файла.
Проверьте Ваши знания по теме “Механизмы интеграции и обмена данными в 1с” из тестирования 1с:Профессионал Платформа 8.3.
Читайте также: