В. В. Рыбалка Hello, 1C. Пример быстрой разработки приложений на платформе 1С: предприятие



Pdf көрінісі
бет6/28
Дата04.08.2023
өлшемі9,84 Mb.
#105030
түріКнига
1   2   3   4   5   6   7   8   9   ...   28
Байланысты:
Hello 1C master-klass primer buestroi razrabo 2748623 z-lib org

Справочники 
По условию поставленной задачи система хранит в себе списки знакомых нам людей и 
событий, происходящих в нашей жизни. При этом, кроме хранения собственно 
информации о своих знакомых, хотелось бы иметь под рукой список их контактных 
данных и как-то разделять (например: друг, знакомый, член семьи и т. п.). События тоже 
бывают разные, и нужно иметь какой-то способ разделять их по статусам. 
Примечание. Более подробно об объектах метаданных вида Справочник можно 
узнать по этой ссылке: 
http://v8.1c.ru/overview/Term_000000168.htm
Таким образом, у нас «прорисовываются» три справочника, связанных с нашими 
знакомыми: Друзья, где будут храниться все записи о наших знакомых, ВидыКонтактов, 
где мы будем хранить список различных вариантов контактных данных (например: 
«телефон», «адрес», «e-mail» и т. п.), и СтатусыДрузей – список назначаемых нашим 
знакомым статусов (например, «семья», «друг», «знакомый» и т. п.). 
Еще два справочника подходят для хранения данных о событиях: События, где, 
собственно, будут регистрироваться произошедшие и планируемые события и 
СтатусыСобытий, где мы сможем вести разнообразные статусы, к которым будут 
относиться те или иные события (например, «учеба», «спорт», «отдых» и т. п.). 


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


Начнем с имени – ВидыКонтактов. Больше здесь ничего заполнять не нужно – перейдем 
на закладку Подсистемы. 


Здесь мы укажем, что справочник будет относиться к подсистеме Контакты. 


В принципе, для хранения видов контактов мы сделали все, что нужно. 
Запустим систему в пользовательском режиме (1С:Предприятие) и посмотрим, как 
выглядит справочник ВидыКонтактов. 
Чтобы из режима конфигуратор запустить систему в пользовательском режиме 
(1С:Предприятие), нужно нажать кнопку Начать отладку (F5). 
Система предложит обновить конфигурацию базы данных – согласимся. 


После этого система проанализирует изменения, которые мы сделали в объектах 
конфигурации, и сообщит, что добавлен новый объект – справочник ВидыКонтактов. 
Снова согласимся и скажем, что эти изменения надо принять. Такой контроль 
может выглядеть странным в нашем случае, но для больших информационных 
баз, содержащих десятки и сотни объектов конфигурации, он совсем не лишний. 
После небольшого ожидания система запустится в режиме 1С:Предприятие. Мы 
увидим пустое основное окно нашей программы, на которой уже платформой 
«1С:Предприятие 8» будет создано четыре раздела: один из которых – Рабочий 
стол (Главное), а три остальных по названиям соответствуют заведенным нами 
ранее подсистемам – Контакты, События и Финансы. 


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


В главном меню выберем Файл4Открыть… (Ctrl+O) 
Файл обработки называется «ЗагрузкаДанныхXML83.epf». Найдем его на диске и нажмем 
кнопку Открыть. 


Откроется обработка, которая позволит загрузить данные из файлов формата XML. 
В открывшейся обработке найдем на диске и выберем файл «01-ВидыКонтактов.xml». 


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


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


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


Теперь создадим основной справочник, который будет хранить всех наших 
знакомых – Друзья. Аналогично предыдущим справочникам заполним у него имя 
(«Друзья»), привяжем к подсистеме Контакты, перейдем на закладку Данные и 
установим длину Наименования равной 150 (в нем мы будем хранить ФИО 
людей). 
До этого момента ничего нового мы не сделали – получили еще один справочник, 
способный учитывать список наших друзей и знакомых, сохраняя их имена в 
реквизите Наименование. Согласитесь, мало пользы было бы от просто хранения 
списка имен. Поэтому сейчас мы воспользуемся возможностью платформы 
«1С:Предприятие 8» и дополним этот справочник необходимыми нам 
реквизитами, в которых будем хранить дополнительную информацию о наших 
друзьях. 
Для хранения дополнительной информации имеется возможность указать 
произвольное количество реквизитов в справочнике. В нашем случае мы начнем с 
реквизитов Пол, Статус и Комментарий. 
В реквизите Пол будем хранить пол знакомого. 
В реквизите Статус – один из статусов ранее созданного справочника 
СтатусыДрузей. 
В Комментарии – любую произвольную информацию о нашем знакомом, которую 
захочется сохранить. 
Добавляем новый реквизит Пол кнопкой Добавить (Ins) на закладке Данные 
нашего справочника Друзья. 


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


В открывшемся окне нового перечисления заполняем имя – Пол. Относим новое 
перечисление к подсистеме Контакты. После чего переходим на закладку Данные. 
На закладке Данные добавляем два значения этого перечисления кнопкой Добавить (Ins): 
«Мужской» и «Женский». 


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


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


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


Тут надо учесть один момент. Если мы создадим пару «контактных» реквизитов 
там же, где делали это только что, то в один момент времени для одного 
знакомого сможем сохранить только один контакт – ведь все реквизиты, которые 
мы добавляли до этого времени, относятся к одному элементу (записи) 
справочника. 
Можно, конечно, добавить столько пар «контактных» реквизитов Контакт-
Значение, сколько нам нужно на текущий момент времени. Но тогда сломается 
элегантность хранения контактов – ведь у каждого друга будет свой набор 
данных. Кроме этого, в случае, если в будущем вдруг появится новый вид 
контакта, придется в конфигураторе вновь добавлять очередную пару реквизитов 
Контакт-Значение и так каждый раз, когда будет появляться что-то новое. 
Благо, ничего подобного из того, что описано выше, делать не нужно. Понятно, что 
у каждого человека может быть свой набор контактной информации и платформа 
«1С:Предприятие 8» позволяет элегантно решить эту задачу путем формирования 
табличных частей для каждого элемента (записи) справочника. 
В нашем случае в справочнике Друзья создаем табличную часть Контакты. 
Воспользуемся кнопкой Добавить табличную часть, после чего назовем новую 
табличную часть «Контакты». 
Вернувшись в окно справочника Друзья и установив курсор на только что созданную 
табличную часть Контакты, добавим в нее новый реквизит кнопкой Добавить реквизит. 
Назовем только что созданный реквизит Контакт и выберем для него тип 
«ВидыКонтактов», расположенный в Справочниках. 


Аналогичным образом добавим реквизит Значение строкового типа (длина строки – 1024). 
На этом создание справочника Друзья можно считать законченным. Посмотрим, 
что у нас получилось с точки зрения пользователя. Запускаем пользовательский 
режим – кнопка Начать отладку (F5). 


Снова соглашаемся на предложение обновления конфигурации и принимаем 
изменения в структуре информации конфигурации. 
Переходим в уже знакомый нам раздел Контакты и смотрим, что у нас с Друзьями. 
На данный момент этот справочник пуст. Открываем обработку 
«ЗагрузкаДанныхXML83.epf» и загружаем с ее помощью файл «03-Друзья.xml». 
После чего обновляем список – F5. 
В списке появились загруженные люди. Проверим, что содержится в каждой записи о 
человеке – достаточно дважды кликнуть по любой из записей. 


Хорошо видно, что основные реквизиты, относящиеся к человеку, вынесены в 
верхнюю часть окна. А контактные данные, расположенные в табличной части, 
удобно размещены внизу. 
Обратите внимание на тот факт, что кроме форм отображения списков элементов, 
содержащихся в справочниках, система автоматически построила для нас и 
форму элемента (записи) справочника. 
Закрываем пользовательский интерфейс и возвращаемся в конфигуратор – пора 
создать оставшиеся два справочника: СтатусыСобытий и События. 
Справочник СтатусыСобытий создадим по аналогии с СтатусыДрузей – длину 
наименования тоже сделаем 150. Отличие будет лишь в том, что этот справочник 
мы отнесем к подсистеме События. 


В пользовательском режиме загружаем данные этого справочника из файла «04-
СтатусыСобытий.xml». 


Нам осталось создать последний справочник нашего примера – События. 
Его тоже отнесем к подсистеме События. Длину наименования на закладке 
Данные сделаем 150. После чего там же сформируем набор дополнительных 
реквизитов этого справочника: 

ДатаНачала, тип – Дата, состав даты – Дата и Время 

ДатаОкончания, тип – Дата, состав даты – Дата и Время 

Статус, тип – СправочникСсылка.СтатусыСобытий (воспользуйтесь кнопкой 
выбора типов) 

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


Запускаем отладку (F5), соглашаемся со всеми изменениями. В пользовательском 
режиме загружаем данные для этого справочника из файла «05-События.xml». 
Проверяем результат в разделе События. 


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


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   28




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет