237429
.pdf
Базовые объекты метаданных
Рассмотрим основные объекты метаданных, предварительно запустив Конфигуратор и открыв конфигурацию (закладка «Метаданные», рис. 1).
Константы
Константы служат для работы с постоянной (например, наименование предприятия, дата его регистрации) и условнопостоянной (руководитель предприятия) информацией. В Конфигураторе создается только описание константы, сама информация вводится пользователем в режиме исполнения.
Предположим, создается константа «Основная ставка НДС» (рис. 3). Теперь в режиме конфигурирования можно внести в документы ее идентификатор «ОсновнаяСтавкаНДС». В случае смены ее значения достаточно исправить его только в константе, а формы документов редактировать не придется.
Рис. 3. Описание константы «Основная ставка НДС» в конфигураторе
Константа может иметь признак периодичности (устанавливается на закладке «Дополнительно»). Это значит, что система хранит историю значений константы по датам.
11
Справочники
Если константа всегда имеет вполне определенное значение, то существуют значения, которые нужно выбирать из некоторого множества. Примером может служить перечень товаров, список сотрудников. Аналогом списка возможных значений является справочник.
Каждый справочник обязательно имеет код (числовой или текстовый) и наименование. Здесь мы подходим к понятию атрибута, иначе говоря, свойства справочника. Для справочника к предопределенным атрибутам относятся Код и Наименование (есть еще Родитель и Владелец, «Реквизит», рис. 4).
Рис. 4. Список атрибутов справочника в Синтакс-помощнике
На этапе конфигурирования, кроме того, можно описать, какими дополнительными свойствами обладает каждый конкретный справочник. К настраиваемым свойствам относятся, например, длина и тип кода, количество уровней, поддержка уникальности кодов, набор реквизитов. Набор реквизитов справочника служит для хранения любой дополнительной информации об элементе справочника.
Справочники можно использовать сами по себе, а можно подчинять друг другу. Например, справочник «Договоры» можно использовать отдельно, а можно использовать совместно со справочником «Контрагенты» (рис. 5). В этом случае перед использованием подчиненного справочника «Договоры» сначала должен быть выбран элемент родительского справочника «Контрагент».
12
Рис. 5. Описание справочника «Договоры» в Конфигураторе
Прежде чем перейти к описанию дальнейших особенностей организации справочников, рассмотрим понятие форма объекта метаданных.
Большинство объектов метаданных могут иметь визуальное представление. В самом общем случае визуальное представление состоит из следующих частей:
•экранный диалог, используемый для ввода и хранения информации, хранящейся в объекте метаданных (может быть только один);
•печатная форма объекта метаданных (печатных форм может быть несколько или ни одной);
•модуль формы – программа на встроенном языке системы «1С:Предприятие». Как правило, модуль формы содержит алгоритм построения печатной формы объекта метаданных, а также
13
может выполнять обработку вводимой в диалог информации для целей входного контроля, выполнения расчетов и т.д.
Совокупность экранного диалога, печатной формы и модуля называется формой. Для их редактирования открываются закладки «Диалог», «Таблица» и «Модуль».
Вернемся к справочникам. В Конфигураторе для любого справочника введены понятия «Форма элемента», «Форма группы» и «Форма списка» (можно увидеть соответствующие кнопки в нижней части на рис. 5).
Остановимся для примера на «Форме элемента» справочника «Номенклатура». В «Диалоге» создается экранный диалог для работы пользователя с данными по отдельному наименованию справочника (рис. 6). Элементы диалога можно разделить на две группы. Первая – несет чисто оформительские и управляющие функции (текст, рамка, кнопка и т.д.), вторая – это реквизиты, связанные с элементом справочника, которые служат для ввода, изменения и просмотра информации. Редактирование диалога заключается в размещении в пределах шаблона окна указанных элементов и редактировании их свойств.
Рис. 6. Диалог формы элемента справочника «Номенклатура»
14
«Модуль» формы элемента справочника запускается при открытии формы и может иметь следующий вид:
Процедура ВводНового()
//предопределенная процедура, которая вызывается при соз-
дании
//нового элемента справочника
ЕдИзм="шт."; СтавкаНДС=Константа.ОсновнаяСтавкаНДС; КонецПроцедуры
Программные модули в конфигурации системы «1С:Предприятие» не являются самостоятельными программами в общепринятом понимании, поскольку они являются только частью всей конфигурации задачи. Программный модуль – это своего рода «контейнер» для размещения текстов процедур и функций, вызываемых системой во время исполнения задачи в определенные моменты работы. Место размещения конкретного программного модуля предоставляется Конфигуратором в тех точках конфигурации, которые требуют описания специфических алгоритмов. Эти алгоритмы следует оформлять в виде процедур или функций, которые будут вызваны самой системой в заранее предусмотренных ситуациях (как в нашем примере – при вводе нового элемента справочника).
Сразу обратим внимание и на возможные типы данных, используемые системой.
Многие значения, обрабатываемые системой (константы, реквизиты справочников, реквизиты документов и т.д.) описываются одним из доступных типов данных.
К базовым типам данных, поддерживаемым системой, относятся «число», «строка» и «дата». Однако, кроме базовых типов, заданные в Конфигурации документы, справочники, перечисления, бухгалтерские счета, виды расчетов, календари также образуют типы данных. Например, после введения справочника «Контрагенты» в системе появляется тип данных «Контрагенты», что даст возможность внести в документ реквизит такого типа. Значение такого реквизита будет являться не кодом или названи-
15
ем контрагента, а собственно ссылкой на определенный элемент справочника «Контрагенты».
Кроме того, все справочники образуют общий тип данных – справочник неопределенного вида, все документы – документ неопределенного вида, все счета – счет неопределенного вида и т.д. Это так называемые агрегатные типы данных системы, о которых будет сказано ниже.
Документы
В большинстве документов можно выделить две основные части: заголовочную или шапку, где хранится постоянная информация, и многострочную или табличную, которая в разных документах одного типа отличается (рис. 7). Физически информация, относящаяся к шапке, может находиться в любой части документа. Важно только то, что эта информация относится к документу в целом. Табличная часть – это список однотипных строк с информацией. Например, в счете это список товаров с указанием наименования, стоимости, количества и других параметров. Для каждого документа в процессе конфигурирования отдельно указываются реквизиты шапки и табличной части (табличной части может и не быть, например, у платежного поручения). Обязательно каждый документ имеет номер и дату, соответственно предопределенные реквизиты «НомерДок» и «ДатаДок».
16
Рис. 7. Описание документа «Счет» в Конфигураторе
Тип «Документы» содержит два объекта метаданных, которые не существуют в реальности в виде документов (рис. 8). Это объекты «Общие реквизиты» и «Нумераторы». Общие реквизиты, созданные один раз, становятся доступны для всех документов. Например, создав общий реквизит «Автор», затем можно размещать его в формах документов или обращаться к его значению средствами встроенного языка. Если для такого реквизита установить флажок «Отбор», то появится возможность отбора документов по значению этого реквизита в так называемых «Общих журналах». Нумератор представляет объект, описывающий правила нумерации документов. Основное назначение нумератора – обеспечить возможность сквозной нумерации документов разного вида. Для этого таким документам назначается одинаковый нумератор.
17
Рис. 8. «Общие реквизиты» и «Нумераторы»
Одним из режимов ввода новых документов в режиме исполнения является режим ввода «на основании». В нем происходит копирование реквизитов в документ из документа образца. Например, на основании счета выписывается накладная, а на ее основе – счет-фактура. Для этого соответствующим образом оформляется модуль формы документа с использованием предопределенной процедуры ВводНаОсновании() (для любого документа определяется «форма» с закладками «диалог», «модуль» и «таблица»).
Процедура ВводНаОсновании(ДокОснование) Если ДокОснование.Вид()="Счет" Тогда
//метод Вид() возвращает название вида документа как он задан в
//Конфигураторе
Получатель = ДокОснование.Контрагент; ДокОснование.ВыбратьСтроки(); // открывает выборку строк многострочной части документа
Пока ДокОснование.ПолучитьСтроку()=1 Цикл // открывает следующую строку документа НоваяСтрока(); Товар=ДокОснование.Товар; Количество=ДокОснование.Количество; Цена=ДокОснование.Цена; КонецЦикла; КонецЕсли; КонецПроцедуры
18
«Модуль документа» вызывается для исполнения при проведении документа. При этом выполняется предопределенная процедура ОбработкаПроведения(). Только из модуля документов можно изменять регистры, журналы расчетов, формировать проводки. Вот так может выглядеть фрагмент модуля документа для расходного ордера, который формирует проводку по расходу по кассе на основе реквизитов документа:
Процедура ОбработкаПроведения() Операция.НоваяПроводка(); Операция.НомерЖурнала = "БК";
Операция.СодержаниеПроводки = "Расход: "+Приложение; Операция.Дебет.Счет= КоррСчет; Операция.Дебет.Субконто(1,Субконто1); Операция.Дебет.Субконто(2,Субконто2); Операция.Дебет.Субконто(3,Субконто3); Операция.Кредит.Счет = СчетПоКоду("50.1”); Операция.Кредит.Субконто(1, ДвижениеДенежныхСредств); Операция.Сумма = Сумма; Операция. Записать(); КонецПроцедуры
19
Журналы документов
С помощью журналов пользователь может группировать документы для просмотра и быстрого доступа к ним. Документы в журналах хранятся в виде списков. Возможно создание журналов нескольких видов (рис. 9).
Рис. 9. Указание типа журнала
«Обычный журнал» – основное средство для работы с документами. При создании документа можно указать, в каком журнале будет производиться работа с документами этого вида. Один «обычный журнал» можно назначить документам разного вида, но документы одного вида всегда доступны только в одном «обычном журнале». Примерами таких журналов могут служить журнал «Касса» (для приходных и расходных ордеров), «Материалы» и др.
Другой вид – «Общий журнал» позволяет работать со всеми документами. Выбор документов, которые в нем доступны, про-
20
