Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Новиков лаба 2 кис.doc
Скачиваний:
25
Добавлен:
01.06.2015
Размер:
7.86 Mб
Скачать

Реквизиты и Табличные части.

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

Теперь и мы добавим в справочник следующие реквизиты (таблица 2.1).

Таблица 2.1 - Реквизиты справочника ФизическиеЛица

Имя реквизита

Тип

Параметры типа

Фамилия

Строка

Длина: 30

Имя

Строка

Длина: 30

Отчество

Строка

Длина: 30

ДатаРождения

Дата

Состав даты: Дата

Пол

ПеречислениеСсылка.Пол

-

Район

СправочникСсылка.Районы

-

Рисунок 3.3 - Добавляем в справочник новый реквизит

Создал два новых объекта - перечисление Пол и справочник Районы.

На рис. 24 вы можете видеть окно настройки свойств перечисления Пол. Мы находимся на его вкладке Данные. Здесь мы можем добавлять значения перечисления.

Рисунок 2.4 - Создание перечисления Пол

Добавил два значения для перечисления: "Мужской" и "Женский". Окно свойств значения перечисления поддерживает лишь ввод имени, синонима и комментария, других свойств у значения перечисления нет. Перечисление может иметь формы, которые используются для вывода информации, макеты, которые применяются для формирования печатных форм.

На рис. 2.5 вы можете видеть окно настройки свойств созданного справочника Районы.

Рисунок 2.5 - Создание справочника Районы

Он не имеет дополнительных реквизитов, и всѐ, что для него настроил - это установил длину наименования, равную 100 символам.

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

На рисунке 2.6 вы можете видеть вкладку Данные для справочника ФизическиеЛица. Обратите внимание на окно, в котором отображаются свойства реквизита справочника.

Рисунок 3.6 - Настройка реквизитов справочника ФизическиеЛица

Сейчас пришло время опробовать только что созданный справочник ФизическиеЛица на практике. Запустил 1С:Предприятие с нашей конфигурацией.

Выполнил команду меню Все функции > Справочник. Появится окно выбора справочника (рис. 2.7).

Рисунок 2.7 - Выбор справочника Физические лица в режиме 1С:Предприятие

Обратил внимание на то, что в окне мы видим синоним справочника, а не его имя. В реально используемых конфигурациях имя и синонимы справочников нередко различаются весьма значительно. Выбрал нужный справочник - Физические лица (рис. 2.8).

Рисунок 2.8 - Окно Справочник Физические лица

Сделал по строке с его наименованием двойной щелчок или, выделив, нажмем ОК, или, опять же, выделив, нажмем клавишу Enter на клавиатуре.

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

Рисунок 2.9 - Окно редактирования элемента справочника

Как видите, здесь представлены все реквизиты, которые мы задавали в режиме конфигурирования.

Код присваивается элементу справочника автоматически. В данном случае мы можем его редактировать, но делать этого не будем. Эту возможность, кстати, весьма разумно заблокировать (или разработать особую процедуру смены номера, которая исключает случайную смену номера и т.д.).

В полях Наименование, Фамилия, Имя, Отчество, содержится, в соответствии со свойствами реквизитов справочника, обычные строковые значения. Мы можем вводить их вручную с клавиатуры. Если, предположим, мы вводим сведения о некоем Иванове Иване Ивановиче, то понятно, что содержимое поля Наименование (а там, при таком предположении должно быть Иванов И.И.) вполне можно сформировать автоматически на основе данных, введенных в поля Фамилия, Имя, Отчество.

Реквизит

Содержимое

Наименование

Иванов И.И.

Фамилия

Иванов

Имя

Иван

Отчество

Иванович

Дата рождения

27.02.1984

Пол

Мужской

Район

Ленинский

Рисунок 2.10 - Ввод даты

Заполняя поле Пол, мы нажимаем кнопку с тремя точками (она тоже называется Выбрать) и выбираем нужное значение из выпадающего списка. Заполняя поле Район, мы, нажав на кнопку Выбрать, видим окно справочника Районы. Прежде чем мы сможем указать район в справочнике Физические лица, мы должны внести его в справочник Районы.

Создаем новый элемент справочника Районы (рис. 2.11), пусть это будет район с наименованием "Ленинский".

Когда ввод информации в элемент справочника Районы завершен, нажмем кнопку ОК в форме элемента справочника. Этот элемент появится в окне Справочник Районы, после чего мы сможем выбрать его двойным щелчком для подстановки в поле Район редактируемого элемента справочника Физические лица.

Рисунок 2.11 - Ввод элемента одного справочника для использования в другом

Что еще мы можем сделать с элементом справочника на данном этапе работы? Осмотримся в окне списка справочника, в частности, посмотрим на меню Все действия, выделив элемент справочника (рис. 2.12).

Заполнив поля окна редактирования элемента справочника, нажмем кнопку ОК. Данные будут записаны в базу, элемент появится в окне Справочник Физические лица.

Рисунок 2.12 - Меню Все действия

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

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

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

Рисунок 2.13 - Настройка вывода содержимого справочника в документ

На рис. 2.14 вы можете видеть результат выгрузки справочника в табличный документ. Работа с табличным документом напоминает работу в Microsoft Excel.

Рисунок 2.14. Настройка вывода содержимого справочника и документа

Задание 2. Hello World!

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

Рисунок 2.15 - Модуль приложения

В настоящий момент модуль пуст. Мы можем добавить в него процедуры-обработчики событий, предусмотренные для данного модуля. Для добавления таких процедур нужно либо воспользоваться командой Текст > Процедуры и функции, либо - нажать на кнопку Процедуры и функции на панели инструментов. Окно процедур и функций (рис. 2.16) содержит список предопределенных процедур-обработчиков событий.

Здесь можно увидеть несколько имен процедур. В частности, нас интересует процедура ПриНачалеРаботыСистемы. Она выполняется при начале работы системы, в частности - при отображении главного окна программы. Здесь, в этой процедуре, мы можем программно открывать формы, выводить сообщения, выполнять другие необходимые действия.

Нас устраивает эта процедура, поэтому мы установим выделение на строке ПриНачалеРаботыСистемы и нажмем на кнопку Перейти. В поле модуля появится определение процедуры (рис. 2.17).

Рисунок 2.16 - Выбор имени процедуры

Рисунок 2.17 - Процедура добавлена в тело модуля

Тело процедуры содержит текст:

// Вставить содержимое обработчика

Этот текст представляет собой комментарий. Комбинация символов "//" означает комментарий.

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

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

Константы.ИмяКонстанты.Получить();

При выполнении этого кода в точке его вызова окажется содержимое константы. В нашем случае это - строка, содержащая текст приветствия. Напомним, что наша константа называется ТекстСообщения.

В итоге, выходим на такой код, выводящий значение нашей константы:

Константы.ТекстСообщения.Получить();

Данный код берет выводимое значение из базы данных.

Вот как выглядит полный текст модуля, который выводит приветствие при начале работы системы:

Процедура ПриНачалеРаботыСистемы() Сообщить(Константы.ТекстСообщения.Получить());

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

Тот же текст вы можете видеть на рис. 2.18.

Рисунок 2.18 - Код модуля, выводящий приветствие при начале работы системы

Обратите внимание на то, что около заголовка процедуры можно видеть знак "-" - он указывает на то, что процедура в настоящий момент развернута и мы можем ее свернуть (сгруппировать) при желании. Свернутую процедуру вы можете видеть на рис. 2.19.

Рисунок 2.19 - Свернутый код модуля

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

Теперь все готово для того, чтобы опробовать только что написанный код на практике. Обновим базу данных и откроем нашу конфигурацию в режиме 1С:Предприятие. Вот, что у нас получилось (рис. 2.20).

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

\

Рисунок 2.20 - Сообщение, взятое из константы

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