Книга: Технологии интеграции "1С:Предприятия 8.3""
Назад: Функция внешней схемы
Дальше: Отчет

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

Учет

Кроме примеров, описанных выше, данные из внешних источников могут использоваться также и в прикладных целях. Например, во время разработки и тестирования каких-то новых механизмов учета разработчику требуется подстраховать себя. То есть нужно «незаметно» для пользователя продублировать данные, введенные им во внешнюю таблицу, в какую-то структуру хранения данных «1С:Предприятия», чтобы потом проанализировать эти данные.

Например, чтобы не заставлять пользователя дважды вводить данные о посещении клиентами спа-салона и выполненных им процедурах, «приспособим» для этого внешнюю необъектную таблицу visits внешнего источника данных Спа. Дадим таблице синоним – Визиты, а ее полям client_id, spa_treatment_id и number дадим соответственно синонимы Клиент, Спа-процедура и Количество. Для поля number установим также свойство Значение заполнения в значение 1 (рис. 2.40).

Рис. 2.40. Свойства таблицы «visits»

Ранее, при настройке таблицы visits в конфигураторе, мы установили, что у этой таблицы два ссылочных поля: поле client_id ссылается на таблицу clients и поле spa_treatment_id ссылается на таблицу spa_treatments. А у этих двух объектных таблиц (clients, spa_treatments) полями представления являются соответственно name и description.

Запустим «1С:Предприятие». Таблица visits теперь имеет привычный вид. Вместо ключевых полей пользователь увидит фамилии клиентов и наименования косметических процедур, которые были им выполнены. Кроме того, у самой таблицы и у ее полей теперь вполне понятные названия, и у пользователя может возникнуть ощущение, что он работает с привычным регистром сведений, например (рис. 2.41).

Рис. 2.41. Ввод данных о посещениях клиентами спа-салона во внешнюю таблицу «visits»

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

Итак, добавим в конфигурацию периодический регистр сведений ВизитыВСпа и снимем у него флажок Использовать стандартные команды. Создадим у регистра два измерения: измерение Клиент, имеющее тип ссылки на таблицу clients внешнего источника данных Спа, и измерение Процедура, имеющее тип ссылки на таблицу spa_treatments. А также создадим ресурс Количество числового типа (рис. 2.42).

Рис. 2.42. Структура регистра «ВизитыВСпа»

Теперь создадим форму записи таблицы visits. Затем создадим обработчик события формы ПриЗаписиНаСервере() и заполним его следующим образом (листинг 2.9).

Листинг 2.9. Обработчик события формы «ПриЗаписиНаСервере»

&НаСервере

Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

 

// Подготовить менеджер записи.

ЗаписьРегистра = РегистрыСведений.ВизитыВСпа.СоздатьМенеджерЗаписи();

 

// Установить ключевые поля менеджера записи.

ЗаписьРегистра.Период = ТекущаяДата();

ЗаписьРегистра.Клиент = Запись.client_id;

ЗаписьРегистра.Процедура = Запись.spa_treatment_id;

ЗаписьРегистра.Количество = Запись.number;

 

ЗаписьРегистра.Записать();

 

КонецПроцедуры

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

В результате регистр сведений может иметь следующее содержимое (рис. 2.43).

Рис. 2.43. Содержимое регистра сведений «ВизитыВСпа»

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

На основе информации, содержащейся в регистре, можно сформировать, например, следующий журнал посещений спа-салона (рис. 2.44).

Рис. 2.44. Журнал посещений спа-салона

Назад: Функция внешней схемы
Дальше: Отчет