Обучающие статьи. Урок - Соединение с другой базой

Оглавление
  1. Загрузка через COM. Установка отображения элементов форми
  2. Загрузка через COM. Вызов процедуры УстановитьВидимость()
  3. Загрузка через COM. Соединение с базой.
  4. Загрузка через COM. Запрос в базе источнике.
  5. Загрузка через COM. Обработка запроса.
  6. Загрузка через COM. Создание элемента.

COM соединение

Сегодня мы рассмотрим пример COM-соединения между двумя базами BAS.

COM – объектная модель компонентов; произносится как «ком», технологический стандарт от компании Microsoft, предназначенный для создания программного обеспечения на основе взаимодействующих компонентов, каждый из которых может использоваться во многих программах одновременно. Если более, проще говоря, это некий интерфейс для программ посредством его они могут общаться между собой.

Для связи с другой базой BAS мы воспользуемся этой технологией. Для начала подготовимся, создадим еще одну базу BAS, которая будет копией нашей базы, где мы вели доработки. Для этого нам нужно выгрузить нашу базу с доработками через меню «Администрирование» – «выгрузить информационную базу». В результате у нас будет файлик с расширением «.dt» это расширение обозначает, что файл - это выгрузка базы. Создадим новую, пустую базу (как это делать мы рассматривали на одном из первых уроков) и загрузим в нее нашу выгрузку через меню «Администрирование» - «Загрузить информационную базу».

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

Для того чтобы разделить в базе автомобили наши от филиала, сделаем небольшие доработки: добавим реквизит «ВнешнийНомер» с типом строка. Сюда мы будем записывать код из второй базы, т.к. он может не совпадать с нашим кодом. Простой пример – в нашей базе 3 водителя, в филиале восемь. Еще добавим реквизит «Внешний» тип булево. Его будем устанавливать в значение Истина при загрузке из другой базы, чтобы отличить филиал от основной базы, этот реквизит добавим в форму списка справочника автомобили.

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

COM соединение 

Для реквизита пароль и поля на форме включим свойство «Режим пароля». Реквизиты «Серверная» и «Файловая» будут с типом булево, так же одновременно можно нажать только один из них. Остальные реквизиты будут с типом строка неограниченной длины.

Разместим реквизиты на форме, а также добавим «взаимовыключение» галочек «Серверная» и «Файловая», а кнопку «Выполнить» переименуем в «Загрузить данные». Так же добавим изменение видимости элементов формы «Надпись сервер» и «Сервер», если включен файловый режим, то скрывать эти элементы. Проставлять галочку «Файловый» будем при открытии.

Загрузка через COM. Установка отображения элементов форми

COM соединение 

Загрузка через COM. Вызов процедуры УстановитьВидимость()

COM соединение 

Процедура УстановитьВидимость() общая, в ней и будем менять видимость элементов, а вызывать ее будем из трех мест, при открытии и при изменении флажков.

Теперь начнем программировать подключение к базе.

Загрузка через COM. Соединение с базой.

COM соединение 

В случае успеха мы получаем доступ ко второй базе. Очень важной особенностью такой работы является то, что мы не можем работать с ссылочными типами данных. Т.е. конструкция: БазаИсточник.Справочники.Номенклатура.НайтиПоКоду(«0001»).Ссылка вернет ошибку. При этом простые типы полностью доступны, такие как строка или число.

Сделаем запрос к внешней базе.

Загрузка через COM. Запрос в базе источнике.

COM соединение 

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

Загрузка через COM. Обработка запроса.

COM соединение 

Для простоты понимания кода создадим отдельную процедуру для создания нового элемента.

Загрузка через COM. Создание элемента.

COM соединение 

Так же, наша компания проводит обучение по курсам:

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

Если у вас остались вопросы, Вы всегда можете обратиться к нашим аналитикам по телефонам:
(093) 090-70-20
(095) 090-70-20
(068) 090-70-20

( 11 )
Комментарии
Пока нет комментариев
Написать комментарий

Свяжитесь с нами

Если вы хотите получить больше информации, заполните эту форму. Мы свяжемся с вами в ближайшее время.

(073) 090-70-20 (095) 090-70-20 (068) 090-70-20 info@finsoft.ua