Смекни!
smekni.com

Разработка объектов прикладного решения "Мастер-класс" на "1С:Предприятие 8.2" (стр. 4 из 5)

Чтобы выбрать файл с обработкой, нажмем кнопку Главного меню, которая всегда нам доступна в левом верхнем углу окна программы.

Рисунок 30. Главное меню

В главном меню выберем Файл > Открыть... (С{г1+О)


Рисунок 31. Открытие файла

Файл обработки называется "ЗагрузкаДанныхХМL82.ер1:". Найдем его на диске и нажмем кнопку Открыть.

Рисунок 32. Файл обработки

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


Рисунок 33. Загрузка данных ХМL

В открывшейся обработке найдем на диске и выберем файл "01-ВидыКонтактов.хml".

Рисунок 34. Выбор файла для загрузки


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

Рисунок 35. Загрузка данных

Закрываем окно обработки и возвращаемся к нашему справочнику Виды контактов.

Рисунок 36. Записи справочника Виды контактов

Видим, что данные загрузились успешно. Хорошо.

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

Полностью аналогично справочнику ВидыКонтактов создаем справочник СтатусыДрузей. Единственное, что его отличает - длина поля Наименование, которое мы увеличим до 150 на закладке Данные.

Рисунок 37. Справочник Статусы друзей

Снова запустим систему в режиме 1С:Предприятие, воспользуемся обработкой и загрузим подготовленные данные в справочник Статусы друзей из файла "02-СтатусыДрузей.xml".


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

Рисунок 38. Записи справочника Статусы друзей

Теперь создадим основной справочник, который будет хранить всех наших знакомых - Друзья. Аналогично предыдущим справочникам заполним у него имя ("Друзья"), привяжем к подсистеме Контакты, перейдем на закладку Данные и установим длину Наименования равной 150 (в нем мы будем хранить ФИО людей).

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

Для хранения дополнительной информации имеется возможность указать произвольное количество реквизитов в справочнике. В нашем случае мы начнем с реквизитов Пол, Статус и Комментарий.

В реквизите Пол будем хранить пол знакомого.

В реквизите Статус - один из статусов ранее созданного справочника Статусы Друзей.

В Комментарии - любую произвольную информацию о нашем знакомом, которую захочется сохранить.

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

Рисунок 39. Новый реквизит Пол

Добавление нового реквизита породило вызов уже знакомой нам палитры свойств. В ней мы указываем Имя реквизита, синоним традиционно заполняется автоматически. Все хорошо.

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

Первое, что может прийти в голову - завести еще один справочник, где сразу указать оба пола и в будущем использовать эти элементы. Логично, но создание объекта справочник для всего двух записей довольно избыточная операция- Как же быть? Выход есть - воспользуемся таким объектом нашей конфигурации, как Перечисление.

Перечисления - это объекты, которые задаются разработчиком на этапе создания конфигурации и хранящие в себе ограниченный и заранее известный набор однотипной информации. Пол как раз идеально подходит для того, чтобы поместить его не в справочник, а в перечисление.

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


Рисунок 40. Добавление перечисления

В открывшемся окне нового перечисления заполняем имя - Пол. Относим новое перечисление к подсистеме Контакты. После чего переходим на закладку Данные.

Рисунок 41. Перечисление Пол


На закладке Данные добавляем два значения этого перечисления : "Мужской" и "Женский".

Рисунок 42. Значения перечисления Пол

После того, как значения добавлены, закрываем окно перечисления кнопкой Закрыть. И попадаем в отрытое ранее окно справочника Друзья. Теперь для реквизита Пол можно изменить тип со "Строка" на тип только что созданного нами перечисления "Пол". Для этого устанавливаем курсор на реквизит Пол, а в палитре свойств нажимаем кнопку выбора в строке типа (если вдруг палитру свойств вы случайно закрыли, ее всегда можно открыть, нажав правой кнопкой мыши на нужном объекте конфигурации или реквизите и выбрав "Свойства", а можно просто кликнуть дважды по нужному реквизиту).


Рисунок 43. Изменение типа реквизита Пол

В открывшемся окне выбора типа находим наше перечисление Пол, выбираем его и заканчиваем выбор кнопкой ОК.

Рисунок 44. Выбор перечисления Пол в качестве типа реквизита


Корректность выбора нужного типа можно всегда проконтролировать в палитре свойств.

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

Рисунок 45. Создание реквизита Статус

Остался реквизит Комментарий, в который мы решили записывать все мысли и заметки, касающиеся нашего знакомого. Добавляем этот реквизит. Тут нас устраивает вариант типа по умолчанию - Строка. Не устраивает только длинна этой строки, в которую никакая заметка не поместится. А чтобы не гадать, хватит нам длины строки или нет, установим для Комментария строку неограниченной длины.


Рисунок 46. Комментарий неограниченной длины

Помня условия нашей задачи, мы, по идее, должны еще создать набор реквизитов, которые должны хранить в себе контактные данные наших зна-комых. Логично предположить, что раз уж мы завели ранее справочник ВидыКонтактов, то надо добавить реквизит Контакт этого типа (который будет хранить выбранный вид) и еще как минимум один реквизит, хранящий в себе значение вида контакта (пусть он так и будет называться - Значение). То есть ДМ того, чтобы сохранить адрес знакомого, надо будет выбрать вид контакта "Адрес", а в реквизит значения записать собственно сам адрес.

Тут надо учесть один момент. Если мы создадим пару "контактных" реквизитов там же, где делали это только что, то в один момент времени для одного знакомого сможем сохранить только один контакт - ведь все реквизиты, которые мы добавляли до этого времени, относятся к одному элементу (записи) справочника.

Можно, конечно, добавить столько пар "контактных" реквизитов Контакт-Значение, сколько нам нужно на текущий момент времени. Но тогда сломается элегантность хранения контактов - ведь у каждого друга будет свой набор данных. Кроме этого, в случае, если в будущем вдруг появится Новый вид контакта, придется в конфигураторе вновь добавлять очередную пару реквизитов Контакт-Значение и так каждый раз, когда будет появляться что-то новое.