Home » Без рубрики » Урок 11: Внешние источники данных
google




Урок 11: Внешние источники данных

В этом уроке рассмотрим механизм внешних источников данных, очень интересный и в ряде случаев незаменимый механизм. Внешние источники данных позволяют вывести интеграцию 1С Предприятия на более высокий уровень, при этом простой с технической точки зрения. В процессе выполнения урока будет создано подключение к внешней базе задач, настроена связь с приходными документами.

Важно: Потребуется установка дополнительного ПО:

Задачи:

  • Получение навыков подключения внешних источников данных
  • Получение навыков создания форм для внешних источников данных
  • Получение навыков интеграции внешних источников данных и обычных объектов конфигурации
  • Создание отчетов с использованием внешних источников данных

Внешние источники данных

Описание возможностей

Механизм позволяющий из 1С Предприятия обращаться к данным хранящимся вне базы данных 1С. Для внешних данных имеется возможность создания форм, возможно использование их в объектах конфигурации как типообразующих данных. Получаемые данные могут быть 2 типов: Объектные (возможно использование как типа данных в реквизитах), Записи (просто набор записей). Механизм будет удобен при переходе на 1С 8 с другого ПО, в том числе с 1С Предприятие 7.7.

Создание источника

Создание базы MS SQL Server

Запускаем среду работы с MS SQL Server, в этом примере буду использовать MS SQL Server Management Studio. В дереве правой кнопкой на ветке Базы данных — Новая.
l11_sms_create_db

После создания БД загрузим подготовленный мной слепок БД: перетащить файл в окно MS SQL Server Management Studio
l11_sms_sql_script

Выполняем скрипт.

Подключение к источнику внешних данных

Запускаем конфигуратор, в ветке Внешние источники добавляем новый. Внешний источник назовем «Задачи». Конструктором настроим соединение с БД (на скрине приведены параметры моей установки, у Вас они будут отличаться). Выбираем 3 таблицы, созданные скриптом: users, states, tasks.

l11_cfg01

l11_cfg02

По завершении получаем:
l11_cfg03

Посмотрим настройки для таблицы states:
l11_cfg04

Поле ключа — указывается поле уникального идентификатора (в нашем случае всегда id).
Поле представления — значение из какого поля будет использоваться при отображении (в нашем случае всегда title).

Настроим связи, т.к. данные у нас объектного типа:
l11_cfg05

Свойства таблиц и реквизитов:
Для всех полей признак использовать Null должен быть снят, иначе при выборе из списка будет отдельно предлагать установить Null.

  • users
    • реквизиты
      • parentid — ВнешнийИсточникДанныхТаблицаСсылка.Задачи.dbousers
      • isfolder — Булево
    • Вкладка иерархия:
      • Поле родителя — parentid
      • Признак незаполненного родителя — Заданное значение
      • Значение незаполненного родителя — 0
  • tasks
    • stateid — ВнешнийИсточникДанныхТаблицаСсылка.Задачи.dbostates
    • userid — ВнешнийИсточникДанныхТаблицаСсылка.Задачи.dbousers
    • done — Булево

Запускаем 1С Предприятие. Перед использованием внешних данных потребуется 1 раз настроить доступ к данным в режиме 1С Предприятие
l11_ent01

l11_ent02

l11_ent03

l11_ent04

l11_ent05

Откроем задачу:
l11_ent06

Надписи имеют названия колонок в БД, что не очень удобно, изменим синонимы на понятные.

Создадим формы редактирования и списка
l11_cfg07

Запускаем 1С Предприятие, смотрим результат:
l11_ent07

l11_ent08

l11_ent09

Изменим представление задач, чтобы было видно номер и дату, для этого в конфигураторе в таблице Задачи сделаем следующее: Вкладка Данные — Обработчики представления. Корректируем модуль, PresentationFieldsGetProcessing — поля доступные для программного обращения для генерации представления, PresentationGetProcessing — описание правила представления.

Результат от модификации
l11_ent10

Использование внешних источников как типов данных

Модификация: Документ.ПоступлениеТМЦ

Добавим реквизит: ВнешняяЗадача — ВнешнийИсточникДанныхТаблицаСсылка.Задачи.dbo_tasks, разместим на форме. Получим:
l11_ent11

Установка статуса Выполнено у внешней задачи

В модуле объекта: Внешние источники данных — Задачи — Таблицы — dbo_tasks создадим процедуру устанавливающую признак Выполнено у задачи

В форме поступления создадим команду и вынесем на форму: ВыполнитьЗадачу, модуль обработчика приведем к виду:

При помощи новой команды сделаем одну из задач закрытой. Данные во внешних источниках могут изменяться.

Отчеты по Внешним задачам

Создадим новый отчет, основанный на СКД (Система Компоновки Данных), настройки отчета:
l11_cfg08

l11_cfg09

l11_cfg10

Проверим что получилось
l11_ent12

Создадим еще один отчет, в нем будем выводить информацию по документам Поступление и задачам, выбранным из внешнего источника
l11_cfg11

l11_cfg12

Проверим отчет
l11_ent13

Платформа 1С позволяет эффективно решать повседневные задачи по автоматизации бизнеса. Обладает мощным механизмом управления отображения и получения данных. Язык запросов 1С очень близок по синтаксису к SQL, гибок и прост в освоении. Объект 1С запрос позволяет получить данные для дальнейшей обработки любым доступным способом. На данный момент 1С является лидером среди систем автоматизации бизнеса.

Урок актуален для 1С 8.3, 1С 8.2.

Скачать урок


Posted on by Ушаков Сергей
Categories: Без рубрики



Добавить комментарий

Войти с помощью: 

Рубрики
  • Рубрик нет
Google




Социальные сети


Я в Twitter
Яндекс.Поиск
Поиск обычный
Счетчики
Рейтинг@Mail.ru Яндекс.Метрика