С Предприятие 8.0. Описание встроенного языка

         

С: Предприятие 8.0 Описание встроенного языка


ОГЛАВЛЕНИЕ



Введение

Глава 1-1. Общее описание языка
Операторы и синтаксические конструкции
Основные приемы работы
Глава 1-2.

Встроенные функции языка

Функции работы со значениями типа Строка
Функции работы со значениями типа Число
Функции работы со значениями типа Дата
Функции преобразования значений
Функции форматирования
Прочие
Глава 1-3. Глобальный контекст
Свойства
Процедуры и функции интерактивной работы
Функции для вызова диалога ввода данных
Функции форматирования
Функции обращения к конфигурации
Процедуры и функции сеанса работы
Процедуры и функции сохранения значений
Процедуры и функции работы с операционной системой
Процедуры и функции работы с внешними компонентами
Процедуры и функции работы с файлами
Процедуры и функции работы с информационной базой

Процедуры и функции работы с данными информационной базы

События

Глава 1-4.

Общие объекты

ХранилищеЗначения
Картинка
УникальныйИдентификатор
Коллекция
ТекстовыйДокумент
ТабличныйДокумент
Работа с объектами метаданных
Работа с файлами
XBase
Описание типов значений
Глава 1-5. Универсальные коллекции значений
Массив
Структура
Соответствие
Список значений
Таблица значений
Дерево значений
Глава 2-1. Интерфейсные
Форма
Диаграмма
Командная панель
Панель
Переключатель
ПолеВвода
ПолеВыбора
ПолеКартинки
ПолеСписка
ПолосаРегулирования
Разделитель
РамкаГруппы
ТабличноеПоле
ПолеТабличногоДокумента 
ПолеТекстовогоДокумента 
Флажок 
Свойства интерфейсных объектов
Работа с пользовательским интерфейсом
Глава 2-2. Работа с запросами
Источники данных (таблицы) запросов
Язык запросов
Запрос 
РезультатЗапроса 
ВыборкаИзРезультатаЗапроса
Коллекция КолонокРезультатаЗапроса
Колонка РезультатаЗапроса
Глава 3-1. Прикладные объекты
Константы
Справочники
Документы
Журналы документов
Перечисления
Отчеты
Обработки
Внешние обработки
Регистры сведений
Регистры накопления
Критерии отбора
Последовательности
Универсальные объекты



Агрегатная функция КОЛИЧЕСТВО


Функция подсчитывает количество значений параметра, попав­ших в выборку. В отличие от других агрегатных функций функ­ция КОЛИЧЕСТВО допускает три способа использования.

• Во-первых, функция позволяет подсчитать количество значе­ний указанного поля, не равных NULL.

• Во-вторых, функция позволяет подсчитать количество раз­личных значений указанного поля, не равных NULL. Для этого перед спецификацией поля надо указать ключевое слово РАЗЛИЧНЫЕ.

• В-третьих, функция позволяет подсчитать количество строк в результате запроса. Для этого в качестве параметра функции надо указать звездочку «*».

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

Пример:

ВЫБРАТЬ

Количество(*) Как Всего,

    Количество(Различные Накладная.Номенклатура) Как Разные

Из

    Документ.РасходнаяНакладная.Состав Как Накладная

Результат запроса:

Всего Разные
24 8



Агрегатная функция МАКСИМУМ


Функция вычисляет максимальное значение из всех попавших в выборку значений поля.

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

При определении максимального значения применяются правила сравнения значений, описанные на стр. 360.



Агрегатная функция МИНИМУМ


Функция вычисляет минимальное значение из всех попавших в выборку значений поля.

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

При определении минимального значения применяются правила сравнения значений, описанные на стр. 360.



Агрегатная функция СРЕДНЕЕ


Функция вычисляет среднее значение всех попавших в выборку значений поля.

В качестве параметра функции можно указывать только ссылки на поля, содержащие числовое значение.

Если поле не может содержать числовых значений, то примене­ние функции СРЕДНЕЕ к такому полю вызовет ошибку. Если поле может содержать числовые значения (имеет составной тип данных), то данная функция может быть применена к такому по­лю. Но если среди значений поля в выборке встретится нечисло­вое значение (помимо значений NULL), это вызовет ошибку.



Агрегатная функция СУММА


Функция вычисляет арифметическую сумму всех попавших в выборку значений поля.

В качестве параметра функции можно указывать только поля, содержащие числовое значение.

Если поле не может содержать числовых значений, то примене­ние функции СУММА к такому полю вызовет ошибку. Если поле может содержать числовые значения (имеет составной тип дан­ных), то данная функция может быть применена к такому полю. Но если среди значений поля в выборке встретится нечисловое значение (помимо значений NULL), это вызовет ошибку.



Агрегатные функции языка запросов


В языке запросов предусмотрены агрегатные функции, которые используются при группировке результатов запроса и при подсчете итогов. Агрегатные функции предназначены для обобщения значений указанного параметра. Определены следующие агрегат­ные функции:

<Агрегатная функция >

СУММА ( <Выражение > ) |

СРЕДНЕЕ ( <Выражение> ) |

МИНИМУМ ( <Выражение> ) |

МАКСИМУМ ( <Выражение> ) |

КОЛИЧЕСТВО ( [РАЗЛИЧНЫЕ] <Выражение> | * )

Пример:

Выбрать

Накладная.Номенклатура.Наименование,

    Сумма(Накладная.Сумма) Как Сумма,

    Среднее(Накладная.Сумма) Как Среднее,

    Максимум(Накладная.Сумма) Как Максимум,

    Минимум(Накладная.Сумма) Как Минимум,

    Количество(Накладная.Сумма) Как Колич

Из

    Документ.РасходнаяНакладная.Состав Как Накладная

Сгруппировать По

    Накладная.Номенклатура

Итоги Общие

Результат запроса:

Наименование Сумма Среднее Максимум Минимум Колич
  265 955,45 12 511,12 40 000,23 555 8
Брюки детские 28 500,22 9 500,07 15000 3000 3
Рубашка «Ков­бойка» 24000 8000 16000 4000 3
Джинсы жен­ские 63555 6 355,5 30000 555 10
Свитер детский 6400 6400 6400 6400 1
Раковина «Ли­лия» 60 000,23 30000,115 40 000,23 20000 2
Мойдодыр «Ак­вариум» 65500 21 833,33 40000 8000 3
Смеситель «Ультра» 15000 15000 15000 15000 1
Кухонный ком­байн Крупс 3000 3000 3000 3000 1

Агрегатные функции могут использоваться в списке полей вы­борки, предложениях ИМЕЮЩИЕ, ИТОГИ, УПОРЯДОЧИТЬ ПО.



Автоупорядочивание результатов


Предложение АВТОУПОРЯДОЧИВАНИЕ позволяет включить ре­жим автоматического формирования полей для упорядочивания результата запроса.

Автоупорядочивание работает по следующим принципам:

• Если в запросе было указано предложение УПОРЯДОЧИТЬ ПО, то каждая ссылка на таблицу, находящаяся в этом пред­ложении, будет заменена полями, по которым по умолчанию сортируется таблица (для справочников это код или наимено­вание, для документов - дата документа). Если поле для упо­рядочивания ссылается на иерархический справочник, то будет применена иерархическая сортировка по этому справочнику.

• Если в запросе отсутствует предложение УПОРЯДОЧИТЬ ПО, но есть предложение СГРУППИРОВАТЬ ПО, тогда результат запроса будет упорядочен по полям, присутствующим в ПО, в той же последовательности и, в случае если группировка ве­лась по полям - ссылкам, то по полям сортировки по умолча­нию таблиц, на которые были ссылки.

• В случае же, если в запросе отсутствуют предложения и УПОРЯДОЧИТЬ ПО и СГРУППИРОВАТЬ ПО, результат будет упорядочен по полям сортировки по умолчанию для таблиц, из которых выбираются данные, в порядке их появления в за­просе.

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»



БиблиотекаСтилей (StylesLib)


Представляет собой библиотеку стилей конфигурации.

Данный объект является коллекцией значений. В качестве эле­мента коллекции выступает значение типа Стиль. Для объекта доступен обход коллекции посредством оператора Для каждого ... из ... Цикл. При обходе выбираются элементы коллекции. Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается ин­декс элемента.



Цвет (Color)


Объект предназначен для определения и хранения значение цве­та. Цвет может определяться абсолютным значением (сочетанием красного, синего и зеленого цветов), браться из элементов стиля, из палитры Windows, или использоваться один из web-цветов.

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

Пример:

ЦветВажнойКнопки = Новый Цвет (255, 0, 0); // красный

ЦветОбычнойКнопки = ЦветСтиля.ЦветФонаКнопки;

Если ОстатокТовара <= Товар.ТочкаЗаказа Тогда

ЭлементыФормы.КнопкаЗаказать.ЦветФонаКнопки = ЦветВажнойКнопки;

Иначе

    ЭлементыФормы.КнопкаЗаказать.ЦветФонаКнопки = ЦветОбычнойКнопки;

КонецЕсли ;



Действие (Action)


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

//В модуле описана процедура Сформировать(), выполнение которой

// назначим кнопке "Сформировать" в качестве действия при нажатии

ОбработкаНажатия = Новый Действие("Сформировать");

КнопкаСформировать = ЭлементыФормы.КнопкаСформировать;

КнопкаСформировать.УстановитьДействие("Нажатие", ОбработкаНажатия) ;



Дерево значений


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

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



ДеревоЗначений (ValueTree)


Используется для доступа к свойствам и методам дерева значе­ний в целом.



Диаграмма


Диаграмма позволяет размещать в таблицах и формах системы 1С:Предприятие диаграммы и графики различного вида. Диа­грамма представляет собой определенную фигуру или фигуры, которые строятся на основании матрицы данных М х N. Данные, организованные в виде матрицы, удобно представить как значе­ния, полученные в результате замеров некоторой величины в определенных точках, причем замеры производились сериями. Се­рии диаграммы могут быть представлены строками матрицы дан­ных, а значения в точках - столбцами (или наоборот).

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

Точки диаграммы отмечаются на координатных осях специаль­ными маркерами. Значения в сериях объединяются общей линией либо областью одного цвета. Отдельная область, называемая ле­гендой диаграммы, содержит список меток, соответствующих се­риям.

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

Диаграмма может быть вставлена в форму либо в табличный до­кумент. Для вставленной в табличный документ диаграммы мож­но задать область табличного документа, содержащую необходи­мые данные (свойство ИсточникДанных).

Следует различать два режима работы диаграммы - связь с ис­точником данных посредством свойства ИсточникДанных и наполнение  диаграммы данными при помощи метода УстановитьЗначение. Данные режимы не могут комбиниро­ваться.

Пример: в виде диаграммы можно представить в графической форме результаты отчета об объемах продаж за период в разрезе номенклатуры и покупателей.



Диаграмма (Chart)


Используется для доступа к свойствам, методам и событиям диа­граммы в целом.



ДиалогВыбораФайла (FileDialog)


Представляет собой диалог специального вида для открытия файла или нескольких файлов, сохранения файла или выбора ка­талога.

Пример:

Режим = РежимДиалогаВыбораФайла.Открытие;

ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);

ДиалогОткрытияФайла.ПолноеИмяФайла = "';

Фильтр = "Текст (*.txt) |*.txt";

ДиалогОткрытияФайла.Фильтр = фильтр ;

ДиалогОткрытияФайла.МножественныйВыбор = Истина;

ДиалогОткрытияФайла.Заголовок = "Выберите файлы";

Если ДиалогОткрытияФайла.Выбрать() Тогда

МассивФайлов = ДиалогОткрытияФайла.ВыбранныеФайлы;

    Для каждого ИмяФайла Из МассивФайлов Цикл

        ВыбФайл = Новый Файл(ИмяФайла);

        Сообщить(ИмяФайла+"; Размер = "+ВыбФайл.Размер());

    КонецЦикла;

Иначе

    Предупреждение("Файл(ы) не выбран!");

КонецЕсли;



ДокументМенеджер. < Имя документа > (DocumentManager.<Имя документа>)


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

ДокументыМенеджер. Полное имя типа объекта определяется с учетом имени документа конфигурации. Например, для доку­мента РасходнаяНакладная имя типа будет выглядеть ДокументМенеджер.РасходнаяНакладная.

Пример:

Результат = Документы.РасходнаяНакладная.НайтиПоНомеру(НомерДок, РабочаяДата) ;

Если Результат.Пустая() Тогда

    Предупреждение("Документ не найден!");

Иначе

    Результат.ПолучитьФорму().Открыть() ;

КонецЕсли;



ДокументОбъект. < Имя документа > (DocumentObject.<Имя документа>)


Объект для модификации документов. Позволяет изменять рек­визиты документа и записывать его.

Важно! У всех событий этого объекта назначены предопреде­ленные процедуры-обработчики. Имена процедур соответствуют именам событий. Процедуры должны располагаться в модуле до­кумента.

См. также:

ДокументСсылка.<Имя документа>

ДокументВыборка.<Имя документа>



ДокументСписок.<Имя документа>


Объект предназначен для управления списком документов, отображаемым в табличном поле.



ДокументСсылка. < Имя документа> ( DocumentRef .< Имя документа>)


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



ДокументВыборка.<Имя документа> ( DocumentSelection .< Имя документа>)


Объект этого типа возвращается методом Выбрать у объекта типа ДокументМенеджер и представляет собой специализиро­ванный способ перебора документов.

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

Важно! Данному объекту доступны все свойства объекта ДокументСсылка.

См. также:

ДокументСсылка.<Имя документа>

ДокументОбъект.<Имя документам>



Документы


Документ - одно из основных понятий системы 1С:Предприятие. При помощи документов организуется ввод в систему информа­ции о совершаемых хозяйственных операциях, а также ее про­смотр и корректировка.

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

Структура каждого конкретного вида документа определяется при его создании в конфигураторе. У любого вида документа су­ществуют реквизиты, которые создаются автоматически - это Дата и Номер. Номер создается, если при конфигурировании длина номера указана больше 0. Другие реквизиты документа оп­ределяются в конфигураторе отдельно для каждого создаваемого

вида документа.



ДокументыМенеджер ( DocumentsManager )


Объект предназначен для управления документами и предостав­ляет доступ к значениям типа ДокументМенеджер. Доступ к

объекту осуществляется через свойство глобального контекста Документы.

Данный объект является коллекцией значений. В качестве эле­мента коллекции      выступает      значение      типа ДокументМенеджер.<Имя документа>. Для объекта дос­тупен обход коллекции посредством оператора Для каждого ... из ... Цикл. При обходе выбираются элементы коллекции.

Пример:

// менеджер документов предоставляет доступ к менеджеру

// документа РасходнаяНакладная.

НовДок = Документы.РасходнаяНакладная.СоздатьДокумент();

См. также:

Глобальный контекст, свойство Документы.



Дополнение дат


В случае, если поле, по которому рассчитываем итоги, является полем типа "Дата" то возможно дополнение результатов датами в заданном периоде. Делается это при помощи ключевого слова ПЕРИОДАМИ, после которого в скобках указывается вид периода (Секунда, Минута, Час, День, Неделя, Декада, Месяц, Квартал, Полугодие, Год), начальная и конечная даты интересуемого периода. В случае, если даты не указаны, будут использованы первая и последняя даты, участвующие в результате.

Пример:

ВЫБРАТЬ

Получатель,

    НачалоПериода(Дата, Месяц) Период,

    Количество(Ссылка) КоличествоПокупок

ИЗ

    Документ.РасхНакл

СГРУППИРОВАТЬ ПО

    Получатель,

   НачалоПериода(Дата, Месяц) 

ИТОГИ

    Сумма(КоличествоПокупок)

ПО

    Период Периодами(Месяц, ДатаВремя(2000,07,01), ДатаВремя(2000,12,01))

Результат запроса:

Получатель Период КоличествоПокупок
  01.07.2000 0:00:00 3
Маг. "Мебель" 01.07.2000 0:00:00 1
Урюпинскторг 01.07.2000 0:00:00 1
Маг. "Хозяин" 01.07.2000 0:00:00 1
  01.08.2000 0:00:00 1
Маг. "Гигант" 01.08.2000 0:00:00 1
  01.09.2000 0:00:00 1
Урюпинскторг 01.09.2000 0:00:00 1
  01.10.2000 0:00:00 0
  01.11.2000 0:00:00 0
  01.12.2000 0:00:00 0

Следует иметь ввиду , что такое представление результата получится, только, если при обходе результата по группировке "Период" использовать в качестве источника измерения все записи "Период".



Дополнение контекста объектов и форм


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

Пример:

// Пример использования процедуры печати документов из журнала

// документов. Допустим, у нас есть несколько различных документов, 

// причем у всех есть процедура Печать(). Модуле журнала документов 

// располагается кнопка «Печать», которая вызывает процедуру печати 

// текущего документа журнала. 

Процедура ПечатьНажатие(Элемент)

    // Получим текущий документ, на котором установлен курсор.

    ТекДок = ЭлементыФормы.ЖурналСписок.ТекущаяСтрока;

    // Получим основную форму текущего документа.

    ФрмТекДок = ТекДок.ПолучитьФорму() ;

    // Вызовем процедуру печати, расположенную в модуле формы документа.

    ФрмТекДок.Печать() ;

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



ДвоичныеДанные (BinaryData)


Значение содержит двоичные данные, которые считываются из файла.

Значение может быть сохранено в ХранилищеЗначений.

Хранимые данные могут быть записаны в файл.

Пример:

МояКартинка = Новый ДвоичныеДанные("С:\Мои документы\Картинка1.bmр");

ХранилищеКартинки = Новый ХранилищеЗначения(МояКартинка);

// сохранение значения типа ХранилищеЗначения в базе данных

НовНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();

НовНоменклатура.Наименование = "Диван ""Маргарита""";

// реквизит Изображение имеет тип ХранилищеЗначения

НовНоменклатура.Изображение = ХранилицеКартинки;

НовНоменклатура.Записать();

// выгрузка значения типа ДвоичныеДанные из хранилища значений в файл

Имяфайла = "С:\Мои документы\Картинка2 .bmр") ;

НовНоменклатура.Изображение.Записать(ИмяФайла);

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»



Двуязычное представление ключевых слов


Одной   из  существенных   особенностей   языка  запросов 1C: Предприятия является то, что как и во встроенном языке, все ключевые слова имеют два варианта написания: на русском и английском языках. Далее в этой главе указываются русские ва­рианты написания ключевых слов. Ниже приведена таблица, в которой приведены соответствия русского и английского и вари­антов написания ключевых слов языка запросов ...... (пропущено)



Файл (File)


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

Пример:

ИмяФайла = "C:\Test\readme.txt";

ВыбФайл = Новый Файл(ИмяФайла);

Если ВыбФайл.Существует() Тогда

Стр = "Результат выполнения:"+Символа.ПС+

    +"Файл: "+ВыбФайл.ПолноеИмя+Символы.ПС+

    +"Имя: "+ ВыбФайл.Имя+Символы.ПС+

    +"Имя без расширения: "+Вы6Файл.ИмяБезРасширения+Символы.ПС+

    +"Расширение: " +ВыбФайл. Расширение+Символы. ПС+

    +"Путь: "+ВыбФайл.Путь+Символы.ПС+

    +"Размер: "+ВыбФайл.Размер()+Символы.ПС+

    +"Это файл: "+ВыбФайл.ЭтоФайл()+Символы.ПС+

    +"Время изменения: "+ВыбФайл.ПолучитьВремяИзменения()+Символы.ПС+

    +"Только чтение: "+ВыбФайл.ПолучитьТолькоЧтение( )+Символы.ПС+

    +"Невидимость: "+Вы6Файл.ПолучитьНевидимость() ;

    Сообщить(Стр);

Иначе

    Предупреждение("Файл не найден!");

КонецЕсли

Результат выполнения:

Файл: C:\Test\readme.txt

Имя: readme.txt

Имя без расширения: readme

Расиирение: .txt

Путь: C:\Test\

Размер: 916

Это файл: истина

Время изменения: 31.10.2000 12:42:04

Только чтение: истина

Невидимость: ложь



ФиксированнаяКоллекция


Объект представляет собой системную коллекцию значений и используется в качестве значений свойств других объектов. Заполняется системой при инициализации объектов данного типа.

Соз­дать этот объект из языка нельзя. Набор свойств этого объекта определяется в зависимости от контекста его использования и описан подробнее в описании тех свойств, где он используется.

Данный объект является коллекцией значений. Для объекта дос­тупен обход коллекции посредством оператора Для каждого ... из ... Цикл. При обходе выбираются элементы коллекции. Воз­можно обращение к элементу коллекции посредством опе­ратора [...]. В качестве аргумента передается индекс элемента.



Фильтрация результатов запроса


Предложение ГДЕ <Условие отбора> позволяет задать усло­вие отбора данных из исходных таблиц - источников запроса; в запросе будут обрабатываться только те записи, для которых дан­ное условие оказывается истинным.

Воспользуемся примером из раздела «Спецификации соедине­ний» на стр. 309, переписав его с использованием предложения ГДЕ.

Пример:

// Необходимо выяснить, какие банки являются одновременно

// контрагентами (одинаковые наименования присутствуют

// и в справочнике Контрагенты, и в справочнике Банки).

Выбрать

Контрагенты.Ссылка Как Контрагент,

    Банки.Ссылка Как Банк

Из

    Справочник.Контрагенты Как Контрагенты,

    Справочник.Банки Как Банки

Где

    Контрагенты.Наименование = Банки.Наименование

Результат запроса:

Контрагент Банк
АКБ Промстройбанк АКБ ПромСтройБанк

Результат, как и в примере параграфа «Внутреннее соединение», содержит всего одну запись.

Обратите внимание: совершенно необязательно, чтобы поле, фигурирующее в предложении ГДЕ, входило в список выборки.

Условие отбора может определяться и как простое логическое выражение, и как более сложное, в котором простые логические выражения соединяются между собой логическими операторами И, ИЛИ, НЕ. Подробно правила описания условий в языке запросов рассматриваются в параграфе «Условия в языке запросов».



Флажок (CheckBox)


Флажок предназначен для выбора одного значения. Используют­ся флажки, имеющие два либо три состояния. От типа связанного с флажком значения зависит количество состояний флажка: фла­жок со значением типа Булево может иметь только два состоя­ния (установлен, снят), со значением типа Число может иметь три состояния (установлен, снят, не определено).



Форма


Форма является одним из основных интерфейсных средств 1С:Предприятия для обеспечения взаимодействия с пользовате­лем.



Форма (Form)


Используется для доступа к свойствам, методам и событиям формы в целом, а также к коллекции ее элементов управления. Доступ к свойствам, методам формы из ее собственного модуля может осуществляется непосредственно, используя их имена (без ссылки на какой-либо объект).



Формат исходных текстов программных модулей


Что такое программный модуль?

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

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

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

Контекст выполнения программного модуля

Каждый программный модуль связан с остальной частью конфигурации. Эта связь называется контекстом выполнения модуля. Следует различать два вида контекста:

• глобальный контекст задачи;

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

Глобальный контекст

Глобальный контекст образуется:

• значениями свойств и методов глобального контекста;

• функциями встроенного языка и языковыми конструкциями;

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

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

Локальный контекст

Локальный контекст модуля образуется тем конкретным местом конфигурации задачи, для которого использован программный модуль. Локальный контекст виден только конкретному программному модулю и определяет для модуля набор непосредственно доступных модулю объектов, их свойств и методов (см. «Виды программных модулей»),



Формат описания элементов языка


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

Соглашения и обозначения, принятые в синтаксических диаграммах

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

Символ Значение

[]             В квадратных скобках заключаются необязательные синтаксические элементы.

( )            Круглые скобки заключают в себе список парамет­ров.

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



Формат программного модуля


Исходный текст программного модуля может состоять из операторов и комментариев.

Комментарии

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

Пример:

А=В; // Это - комментарий // Это тоже комментарий

Формат операторов

Операторы имеют вид стандартного обращения к процедуре, за исключением оператора присваивания (А = В;) и синтаксических конструкций встроенного языка (например, таких как Для, Пока, Если). Между собой операторы обязательно следует разделять символом ";" (точкой с запятой). Конец строки не является признаком конца оператора, т.е. операторы могут свободно переходить через строки и продолжаться на другой строке. Можно располагать произвольное число операторов в одной строке, разделяя их символом ";".

Операторы языка в программном модуле можно подразделить на две категории: операторы объявления переменных и исполняемые

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

В общем случае формат оператора языка следующий:

-метка: Оператор[(параметры) ] [ДобключевоеСлово];

В качестве меток используются специальные идентификаторы, начинающиеся с символа '~' (тильда) и состоящие из последова­тельности букв, цифр и символов '_' (подчеркивание). Чтобы пометить оператор, надо поместить перед ним метку и следующий за ней символ ":".




Пример:

-метка:А=В;

Имена переменных, процедур и функций

Именем переменной, объявленной процедуры или функции, может быть любая последовательность букв, цифр и знаков подчеркивания "_", начинающаяся с буквы или знака подчеркивания "_". Вновь создаваемые имена не должны совпадать с зарезервированными словами языка или именами свойств, непосредственно доступных в текущем контексте. Распознавание имен переменных, процедур и функций ведется без учета регистра букв.

Язык написания программных модулей

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

Регистры букв при написании программных модулей

Регистр букв (строчные или заглавные) при написании имен переменных, свойств, методов, процедур, функций, а также функций встроенного языка не имеет значения.

Зарезервированные слова

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

Русское имя

Английское имя

Если

If

Тогда

Then

ИначеЕсли

Elsif

Иначе

Else

КонецЕсли

End If

Для

For

Каждого

Each

Из

In

По

To

Пока

While

Цикл

Do

КонецЦикла

End Do

Процедура

Procedure

Функция

Function

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

End Procedure

КонецФункции

EndFunction

Перем

Var

Перейти

Goto

Возврат

Return

Продолжить

Continue

Прервать

Break

И

And

Или

Or

Не

Not

Попытка

Try

Исключение

Except

ВызватьИсключение

Raise

КонецПопытки

EndTry

Новый

New

Выполнить

Execute

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Функции для вызова диалога ввода данных


ВвестиДату (InputDate)

Синтаксис:

ВвестиДату(<Дата>, <Подсказка>, <Часть даты>)

Параметры:

<Дата>            Обязательный

Тип: Дата. Имя доступной в модуле переменной. В эту перемен­ную будет помещено введенное значение даты. Начальное значе­ние переменной будет использовано в качестве начального значе­ния в диалоге.

<Подсказка>            Необязательный

Тип: Строка. Текст заголовка окна диалога ввода даты. Может использоваться в качестве подсказки пользователю.

Значение по умолчанию: Пустая строка.

<Часть даты>             Необязательный

Тип: ЧастиДаты. Вводимая в диалоге часть (или части) даты. Значение по умолчанию: ДатаВремя.

При определении значения параметра используется системное перечисление ЧастиДаты (DateFractions) . Перечисление содержит следующие значения:

Время (Time)    -    Значение состоит только из времени (без даты). 

Дата (Date)    -    Значение состоит только из даты (без времени). 

ДатаВремя (DateTime)    -    Значение состоит из даты и времени.

Возвращаемое значение:

Тип: Булево. Истина - дата введена. Ложь - пользователь отказался от ввода даты.

Описание:

Вызывает диалог для ввода даты.

Пример:

ДатаНапоминания = РабочаяДата;

Подсказка = "Введите дату и время";

ЧастьДаты = ЧастиДаты.ДатаВремя;

Если ВвестиДату(ДатаНапоминания, Подсказка, ЧастьДаты) Тогда

    // запомнить дату напоминания

КонецЕсли ;

ВвестиЗначение (InputValue)

Синтаксис:

ВвестиЗначение(< Значение>, <Подсказка>, <Тмп>)

Параметры:

<3начение>            Обязательный

Тип: Произвольный. Имя доступной в модуле переменной. В эту переменную будет помещено введенное значение. Если параметр Тип не задан или имеет пустое значение, тип данной переменной используется в качестве типа вводимого в диалоге данного. Начальное значение переменной будет использовано в качестве начального значения в диалоге.




<Подсказка>            Необязательный

Тип: Строка. Текст заголовка окна диалога ввода значения. Может использоваться в качестве подсказки пользователю.

Значение по умолчанию: Пустая строка

<Тип>             Необязательный

Тип: Тип, ОписаниеТипов. Тип вводимого значения.

Значение по умолчанию: Если параметр не указан, используется тип параметра <3начение>

Возвращаемое значение:

Тип: Булево. Истина - в диалоге было введено значение, Ложь - пользователь отказался от ввода значения.

Описание:

Вызывает диалог для ввода значения заданного типа.

Пример:

ВыбЗнач = "" ;

М = Новый Массив;

М.Добавить(Тип("Число"));

М.Добавить(Тип("Строка"));

М.Добавить(Тип("Дата"));

КЧ = Новый КвалификаторыЧисла(12,2);

КС = Новый КвалификаторыСтроки(20);

КД = Новый КвалификаторыДаты(ЧастиДаты.Дата);

ОписаниеТипов = Новый ОписаниеТипов (М,КЧ, КС, КД);

Если ВвестиЗначение(ВыбЗнач, "Введите значение", ОписаниеТипов) Тогда 

    // обработка введенного значения

КонецЕсли;

ВвестиСтроку (InputString)

Синтаксис:

ВвестиСтроку(< Строка>, <Подсказка>, <Длина>, <Многострочность>}

Параметры:

<Строка>            Обязательный

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

<Подсказка>            Необязательный

Тип: Строка. Текст заголовка окна диалога ввода строки. Может использоваться в качестве подсказки пользователю.

Значение по умолчанию: Пустая строка.

<Длина>                  Необязательный

Тип: Число. Длина вводимой строки.

Значение по умолчанию: Если параметр не указан или 0 - строка неограниченной длины.



<Многострочность>            Необязательный

Тип: Булево. Признак ввода многострочного текста: Истина -ввод многострочного текста с разделителями строк, Ложь -ввод простой строки.

Значение по умолчанию: Ложь.

Возвращаемое значение:

Тип: Булево. Истина - строка введена. Ложь - пользова­тель отказался от ввода строки.

Описание:

Вызывает диалог для ввода строки.

Пример:

Текст = ""; 

Подсказка = "Введите текст напоминания";

Если ВвестиСтроку (Текст,Подсказка, 0, истина) Тогда 

    // запомнить текст напоминания

КонецЕсли;

ВвестиЧисло (InputNumeric)

Синтаксис:

ВвестиЧисло(< Число, <Подсказка>, <Длина>, <Точность>)

Параметры:

< Число>            Обязательный

Тип: Число. Имя доступной в модуле переменной. В эту пере­менную будет помещено введенное число. Начальное значение переменной будет использовано в качестве начального значения в диалоге.

<Подсказка>            Необязательный

Тип: Строка. Текст заголовка окна диалога ввода числа. Может использоваться в качестве подсказки пользователю.

Значение по умолчанию: Пустая строка.

<Длина>            Необязательный

Тип: Число. Длина вводимого числа включая дробную часть (символы разделителей не учитываются).

Значение по умолчанию: 0. 

<Точность>            Необязательный

Тип: Число. Количество знаков в дробной части вводимого числа.

Значение по умолчанию: 0.

Возвращаемое значение:

Тип: Булево. Истина - число введено, Ложь - пользователь отказался от ввода.

Описание:

Вызывает диалог для ввода числа.

Пример:

КолВо = 1;

Если ВвестиЧисло(КолВо, "Введите количество", 10, 2) Tогда 

    // обработка введенного количество

КонецЕсли;

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Функции форматирования


Формат (Format)

Синтаксис:

Формат(<Значение> , <Форматная строка>)

Параметры:

<3начение> - Обязательный

Тип: Число, Дата, Булево. Форматируемое значение. 

<Форматная строка> - Необязательный

Тип: Строка. Форматная строка представляет собой строковое значение, включающее параметры форматирования. Параметры форматирования перечисляются через символ ";". Наличие пара­метра означает отличие форматирования от стандартного. Если параметр не указывается, используется стандартное форматиро­вание.

Каждый параметр задается именем параметра, символом "=" и значением параметра. Значение параметра может указываться в одинарных или двойных кавычках. Это необходимо, если значе­ние параметра содержит символы, используемые в синтаксисе форматной строки. Внутри значения параметра могут указывать­ся произвольные символы, которые при формировании результи­рующей строки будут отображаться как есть. Таким образом, на­пример, можно указывать разделители часов, минут и секунд при форматировании времени. Если эти символы совпадают с значе­ниями форматной строки их необходимо заключать в одинарные кавычки.

Имена и значения параметров форматной строки:

• Л (L) - Имя языка, страны, для которых будет выполняться стандартное форматирование. 

Доступные имена языков:

be_BY - Белорусский (Белоруссия);

de_DE - Немецкий (Германия);

de_LI - Немецкий (Лихтенштейн);

en_GB - Английский (Великобритания);

en_US - Английский (США);

en_ZA - Английский (Южная Африка);

es_ES_MO - Испанский (Испания, современная сортировка);

es_ES_TR - Испанский (Испания, традиционная сортировка);

fi_FI - Финский (Финляндия);

fr_FR - Французский (Франция);

it_IT - Итальянский (Италия);

ru_RU - Русский (Россия);

uk_UA - Украинский (Украина).

• ЧЦ (ND) - Общее число отображаемых десятичных разрядов целой части. Исходное число округляется при этом в соответ­ствии с правилами округления, заданными для конфигурации. Если указан этот параметр, то для отображения дробной части числа обязательно указание параметра ЧДЦ, иначе дробная часть отображаться не будет.




• ЧДЦ (NFD) - Число десятичных разрядов в дробной части. Исходное число округляется при этом в соответствии с прави­лами округления, заданными для конфигурации.

• ЧС (NS) - Сдвиг разрядов: положительный - деление, отри­цательный - умножение. Другими словами, это означает, что исходное число будет умножено или поделено на 10*С, где С - значение параметра по модулю.

• ЧРД (NDS) - Символ-разделитель целой и дробной части.

• ЧРГ (NGS) - Символ-разделитель групп целой части числа.

• ЧН (NZ) - Строка, представляющая нулевое значение числа.

• ЧВН (NLZ) - Нужно ли выводить лидирующие нули. Значе­ние данного параметра не задается, собственно наличие пара­метра определяет вывод лидирующих нулей.

• ЧГ (NG) - Порядок группировки разрядов числа. В качестве значения указываются числа, через запятую, обозначающие количество группируемых разрядов справа налево. Чтобы ука­зать, что последнее число группировки должно повторяться для всех старших разрядов, то после него через запятую ука­зывается 0.

• ЧО (NN) - Представление отрицательных чисел.

0 - строка вида "(1,1)";

1 - строка вида "-1,1";

2 - строка вида "- 1,1";

3 - строка вида "1,1-";

4 - строка вида "1,1 -".

• ДФ (DP) - Формат даты.

• д (d) - день месяца (цифрами) без лидирующего нуля;

• дд (dd) - день месяца (цифрами) с лидирующим нулем;

• ддд (ddd) - краткое название дня недели;

• дддд (dddd) - полное название дня недели;

• М (М) - номер месяца (цифрами) без лидирующего нуля;

• MM (MM) - номер месяца (цифрами) с лидирующим нулем;

• МММ (МММ) - краткое название месяца;

• ММММ (ММММ) - полное название месяца;

• к(q) - номер квартала в году;

• г (у) - номер года без века и лидирующего нуля;

• гг (уу) - номер года без века с лидирующим нулем;

• гггг (уууу) - номер года с веком;

• ч (h) - час в 12 часовом варианте без лидирующих ну­лей;

• чч (hh) - час в 12 часовом варианте с лидирующим ну­лем;

• Ч (H) - час в 24 часовом варианте без лидирующих ну­лей;



• ЧЧ (HH) - час в 24 часовом варианте с лидирующим нулем;

• м (m) - минута без лидирующего нуля;

• мм (mm) - минута с лидирующим нулем;

• с (s) - секунда без лидирующего нуля;

• сс (ss) - секунда с лидирующим нулем;

• tt - отображение половины дня АМ/РМ ( действительно только для языков поддерживающих 12 часовой вариант представления времени).

• ДЛФ (DLF) - Локальный формат даты. Указывается вариант отображения частей даты.

• Д (D) - дата;

• ДД (DD) - длинная дата;

• В (Т) - время, дата может объединяться со временем.

• ДП   (DE)    -  Строка,  представляющая   пустую дату '00010101000000'.

• БЛ (BF) - Строка, представляющая логическое значение Ложь.

• БИ (ВТ) - Строка, представляющая логическое значение Истина.

Для параметров определяющих отображение нулевого числа и даты '00010101000000' наличие параметра без конкретного значе­ние означает использование стандартного преобразования числа и даты к строке.

Значение по умолчанию: Если параметр не задан, то применяется стандартное форматирование, которое в основном соответствует преобразованию значения к строке. Однако для значений типа Число и Дата по умолчанию (0 и 01.01.0001 00:00:00 соответственно) будет выдаваться пустая строка.

Возвращаемое значение:

Тип: Строка. Строка, полученная в результате форматирования переданного значения.

Описание:

Позволяет сформировать читабельное представление значений. Полезно использование в отчетах и при прочем визуальном ото­бражении значений.

Пример:

// Примеры форматирования чисел

А = Формат(123456.789, "ЧЦ=10; ЧДЦ=2">;    // А = "123 456,79"

А = Формат(123456.789, "ЧРД=--");    // А = "-123 456-789"

А = Формат(-123456.789, "ЧО=0");    // А = "(123 456,789)"

// Примеры форматирования дат

А = Формат('20020820153309', "ДФ="ДД ММММ ГГГГ Т.' ЧЧ:ММ:СС'"") ;

// А = 20 августа 2002 г. .15:33:09"

А = Формат('20020820153309', "ДФ=" "дд/ММ-ггрг"") ;

// А = 20/08-2002"

А = Формат('20020820153309', "ДЛФ=ДД");

// А = 20 августа 2002 г.";

А = Формат( 20020820153309', "ДЛФ=Д");

// А = 20.08.2002";

А = Формат; 20020820153309', "ДЛФ=В");

// А = 15:33:09";

// Примеры форматирования логических выражений

А = Формат(Истина, "БЛ=Нет; БИ=Есть");

// А = "Есть"

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Функции форматирования


НСтр (NStr)

Синтаксис:

НСтр(<Исходная строка>)

Параметры:

< Исходная строка > Обязательный

Тип: Строка. Строки на разных языках, разделенные символом ";" (точка с запятой). Строка на одном языке состоит из кода языка, указанного в метаданных, символа "=" (равно) и собствен­но строки текста на данном языке в одинарных кавычках, двой­ных кавычках или без кавычек.

Возвращаемое значение:

Тип: Строка. Строка, соответствующая языку пользователя или основному языку конфигурации.

Описание:

Позволяет получить строку на языке пользователя или основном языке конфигурации из набора строк на разных языках конфигу­рации.

Пример:

Текст = "ru = "Добрый вечер!""; en = ""Good Evening!"";

Сообщить(Нстр(Текст)) ;

ПредставлениеПериода

Синтаксис:

ПредставлениеПериода(<ДатаНачалаПериода>, <ДатаОкончанияПериода>, <Форматная строка>)

См. ХЕЛП:

ЧислоПрописью (SpellNumeric)

Синтаксис:

ЧислоПрописью(<Число>, <Форматная строка> , <Параметры предмета исчисления> )

Параметры:

<Числе>             Обязательный

Тип: Число. Число, которое необходимо преобразовать в строку прописью.

<Форматная строка>            Необязательный

Тип: Строка. Форматная строка представляет собой строковое значение, включающее параметры форматирования. Параметры форматирования перечисляются через символ ";" (точка с запятой). Если параметр не указывается, используется значение пара­метра по умолчанию.

Каждый параметр задается именем параметра, символом "=" (равно) и значением параметра. Значение параметра может ука­зываться в одинарных или двойных кавычках. Это необходимо, если значение параметра содержит символы, используемые в син­таксисе форматной строки.

• Л (L) - Код локализации. По умолчанию используется код локализации, установленный в операционной системе. Приме­ры кодов локализации: ru_RU - Русский (Россия); en_US -Английский (США). Все доступные коды локализации для преобразования числа в пропись указаны в файле loclinfo.txt, входящем в комплект поставки системы 1C: Предприятие.




• НП (SN) - Включать/не включать название предмета исчис­ления (логический), по умолчанию - Истина.

• НД (FN) - Включать/не включать название десятичных час­тей предмета исчисления (логический), по умолчанию -Истина.

• ДП (FS) - Дробную часть выводить прописью/числом (логи­ческий), по умолчанию - Ложь.

<Параметры предмета исчисления>            Обязательный

Тип:  Строка.   Представляет собой строковое значение, определяющее параметры предмета исчисления. Параметры предмета исчисления перечисляются через "," (запятая). Формат строки зависит от кода локализации.

• Для русского языка формат следующий: "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2", где

• "рубль, рубля, рублей, м" - предмет исчисления целой части, а "копейка, копейки, копеек, ж, 2" - дробная часть (может отсут­ствовать).

• рубль - единственное число именительный падеж;

• рубля - единственное число винительный падеж;

• рублей - множественное число винительный падеж;

• м - мужской род (ж - женский род);

• копейка - единственное число именительный падеж;

• копейки - единственное число винительный падеж;

• копеек - множественное число винительный падеж;

• ж - женский род (м - мужской род);

• 2 - количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).

• Для английского языка формат следующий: "dollar, dollars, cent, cents, 2", где "dollar, dollars" - предмет исчисления целой части, a "cent, cents, 2" - дробная часть.

• dollar - единственное число;

• dollars - множественное число;

• cent - единственное число;

• cents - множественное число;

• 2 - количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).

Ознакомиться со всеми доступными вариантами форматной стро­ки для преобразования числа в пропись можно в файле loclinfo.txt,    входящим    в   комплект    поставки   системы 1 С: Предприятие.

Возвращаемое значение:

Тип: Строка. Представление числа прописью.

Описание:

Формирует представление числа прописью в соответствии с за­данными форматной строкой и параметрами предмета исчисле­ния.

Пример:

// Пример форматной строки для вывода-числа прописью на русском 

// языке, с выводом целой и дробной части прописью и выводом 

// предмета исчисления.

ФормСтрока = "Л = ru_RU; ДП = Истина";

ПарПредмета = 'рубль, рубля, рублей, м, копейка, копейки, копеек, ж";

ПрописьЧисла = ЧислоПрописью(2341.56, ФормСтрока, ПарПредмета);

// "Две тысячи триста сорок один рубль пятьдесят шесть копеек"


Функции обращения к конфигурации


ПолучитьОбщийМакет(ОеЮоттопТетр1а1е)

Синтаксис:

ПолучитьОбщийМакет(<Общий макет>)

Параметры:

<Общий макет>             Обязательный

Тип: Строка, Объект описания метаданного. Имя об­щего макета, как оно задано в конфигураторе или объект описа­ния метаданного общего макета.

Возвращаемое значение:

Тип: ТабличныйДокумент. Макет табличного документа.

Описание:

Позволяет получить один из общих макетов конфигурации.

Пример:

// Получение общего макета по имени 

МакетСтруктурыКонфигураци = ПолучитьОбщийМакет("СтруктураКонфигурации");

// Получение общего макета по объекту описания негаданного

МакетСтруктурыКонфигураци = ПолучитьОбщийМакет(Метаданные.ОбщиеМакеты.СтруктураКонфигурации) ;

ПолучитьОбщуюФорму (GetCommonForm)

Синтаксис:

ПолучитьОбщуюФорму(<Форма>, <Владелец>, <Ключ уникальности>)

См. ХЕЛП:

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»



Функции преобразования значений


Булево (Boolean)

Синтаксис:

Булево(<3начение>}

Параметры:

<3начение>_      Обязательный

Тип: Число. Исходное значение.

Возвращаемое значение:

Тип: Булево. Полученное значение.

Описание:

Преобразует полученный параметр в значение типа Булево.

Преобразование числа в строку производится по следующим правилам:

• 0 преобразуется в Ложь;

• остальные значения преобразуются в Истина.

Дата (Date)

Синтаксис:

Дата(<Значение>)

Параметры:

<3начение> Обязательный

Тип: Строка. Исходное значение.

Возвращаемое значение:

Тип: Дата. Полученное значение.

Описание:

Преобразует полученный параметр в значение типа Дата.

При преобразовании, строка должна содержать дату в каноническом формате "ГГГГММДДччммсс" (см. раздел "Примитивные

типы данных").

Строка (String)

Синтаксис:

Строка(<3начение>)

Параметры:

<3начение> Обязательный

Тип: Произвольный. Исходное значение.

Возвращаемое значение:

Тип: Строка. Полученное значение.

Описание:

Преобразует полученный параметр в значение типа Строка.

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

Преобразование значений типа Булево зависит от националь­ных установок и содержит строковое представление этих значе­ний.

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

Преобразование к строке значений остальных типов производит­ся по мере возможности и обычно содержит читабельное пред­ставление значения.

Число (Number)

Синтаксис:

Число(<3начение>)

Параметры:

<3начение> Обязательный

Тип: Строка, Булево. Исходное значение.

Возвращаемое значение:

Тип: Число. Полученное значение.

Описание:

Преобразует полученный параметр в значение типа Число.

Значение типа Строка преобразуется в число если строка пред­ставляет из себя правильное строковое представление литерала численного типа. В противном случае будет выдано сообщение об ошибке выполнения функции.

Значение типа Булево преобразуется в число по следующим правилам:

• Ложь преобразуется в 0;

• Истина преобразуется в 1.

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»



Функции, применяемые в выражении и фильтре индекса


При работе с индексами во время исполнения 1С:Предприятия XBase-объекты производят вычисление выражения индекса и фильтра. Выражение индекса и фильтра - это строковые выраже­ния, составленные на специальном языке объектов XBase.

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

Свойства объекта XBase (кроме Ключ), константы и функции могут быть использованы как части выражений. Части выраже­ния могут объединяться с помощью других функций или опера­торов. Простейшим выражением может быть имя свойства, на­пример "FULL_NAME". В таком случае тип выражения будет соответствовать типу свойства.

Константы могут иметь числовой, строковый и булевый тип. Строковые константы заключаются в одиночные кавычки ('Строковая константа'). При необходимости включить в состав строковой константы символа двойной кавычки, его следует предварять обратной косой чертой, например, 'Фирма \"Вега\" '. Булевы константы записываются как .TRUE. или .Т. для обозна­чения истины и .FALSE. или .F. в противном случае.

Операторы используются для объединения частей выражения. Части выражения должны иметь тип, соответствующий операто­ру, например, оператор "/" (деление) работает с двумя числовыми значениями.

Порядок выполнения операторов в выражении соответствует об­щепринятому - с учетом скобок и приоритетов операторов. На­пример выражение "1+2*3" возвратит 7, а "(1+2)*3" возвратит 9.




Числовые операторы:

• Сложение. Обозначается символом +. Приоритет 5.

• Вычитание. Обозначается символом -. Приоритет 5.

• Умножение. Обозначается символом *. Приоритет 6.

• Деление. Обозначается символом /. Приоритет 6.

• Возведение в степень. Обозначается символами ** или ^. При­оритет 7.

Строковые операторы:

• Объединение 1. Обозначается символом +. Приоритет опера­ции 5

• Объединение 2. Обозначается символом -. Приоритет опера­ции 5

Оператор " Объединение 2" немного отличается тем, что пробелы в конце первой строки будут перемещены в конец результата. Например, результатом вычисления выражения " 'Иванов ' + 'И.И.' " будет 'Иванов И.И.', а " 'Иванов ' - 'И.И.' " -'ИвановИ.И.'.

Операторы отношений:

• Равно. Обозначается символом =. Приоритет операции 4

• Не равно. Обозначается символом о или #. Приоритет опе­рации 4

• Меньше. Обозначается символом < Приоритет операции 4

• Больше. Обозначается символом >. Приоритет операции 4

• Меньше или равно. Обозначается символом <=. Приоритет операции 4

• Больше или равно. Обозначается символом >=. Приоритет операции 4

• Содержит. Обозначается символом $. Приоритет операции 4

Пример:

" 'CD' $ 'ABCD'" вернет ".Т."

" 8 < 7 " вернет ".F."

Логические операторы:

• Отрицание. Обозначается строкой .NOT. Приоритет операции 3

• И. Обозначается строкой .AND. Приоритет операции 2

• Или. Обозначается строкой .OR. Приоритет операции 1

CTOD

Синтаксис:

CTOD(<String>)

Параметры:

<String>    Обязательный

Тип: Строка. Представление даты в формате ДД/ММ/ГГГГ

Возвращаемое значение:

Тип: Дата. Преобразованное в дату значение исходной строки.

DATE

Синтаксис:

DATE()

Возвращаемое значение:

Тип: Дата. Системная дата.

DEL

Синтаксис:

DEL()

Возвращаемое значение:

Тип: Строка. "*" (звездочка) - если запись помечена на удале­ние, "" - иначе

DELETED

Синтаксис:

DELETED()



Возвращаемое значение:

Тип: Булево. Булево .TRUE. - если запись помечена на удале­ние, .FALSE. - иначе.

DTOC

Синтаксис:

DTOC(<Дата>)

Параметры:

<Дата>    Обязательный

Тип:Дата.

Возвращаемое значение:

Тип: Строка. Представление даты в формате ММ/ДД/ГГ.

DTOS

Синтаксис:

DTOS(<Date>)

Параметры:

<Date>     Обязательный

Тип: Дата.

Возвращаемое значение:

Тип: Строка. Представление даты в формате ГПТММДД.

IIF

Синтаксис:

IIF(<Log> , <lfTrue> , <IfFalse>)

Параметры:

<Log>     Обязательный

Тип:Булево.

<IfTrue>     Обязательный

Должны иметь одинаковую длину и тип с IfFalse.

<IfFalse>    Обязательный

Должны иметь одинаковую длину и тип с IfTrue.

Возвращаемое значение:

Возвращает <IfTrue>, если значение вычисленного выражения <Log> равно истине, и <IfFalse> в противном случае.

LTRIM

Синтаксис:

LTRIM(<String>)

Параметры:

<String>     Обязательный

Тип:Строка.

Возвращаемое значение:

Тип: Строка. Исходная строка без ведущих пробелов.

MONTH

Синтаксис:

MONTH (<Date>)

Параметры:

<Date>     Обязательный

Тип: Дата.

Возвращаемое значение:

Тип: Число. Номер месяца в году.

RECCOUNT

Синтаксис:

RECCOUNT()

Возвращаемое значение:

Тип: Число. Общее количество записей в таблице базы данных.

RECNO

Синтаксис:

RECNO()

Возвращаемое значение:

Тип: Число. Номер текущей записи.

STOD

Синтаксис:

STOD(<String>)

Параметры:

<String>     Обязательный

Тип: Строка. Представление даты в формате ГГГГММДД

Возвращаемое значение:

Тип: Дата. Преобразованное в дату значение исходной строки.

STR

Синтаксис:

STR(<Number>, <Length>, <Decim>)

Параметры:

<Number>     Обязательный

Тип: Число. Преобразуемое число.

<Length>     Обязательный



Тип: Число. Количество символов в возвращаемой строке, вклю­чая десятичную точку.

<Decim>    Обязательный

Тип: Число. Желаемое количество знаков после точки.

Возвращаемое значение:

Тип: Строка. Результат преобразования числа в строковое пред­ставление.

SUBSTR

Синтаксис:

SUBSTR (< String> , <StartPos> , <Num> )

Параметры:

< Siring >    Обязательный

Тип: Строка. Исходная строка.

<StartPos>     Обязательный

Тип: Число. Начальная позиция.

<Num>    Обязательный

Тип: Число. Кол-во символов.

Возвращаемое значение:

Подстрока, состоящая из <Num> символов от начальной позиции исходной строки

TIME

Синтаксис:

TIME()

Возвращаемое значение:

Тип Строка. Системное время в представлении ЧЧ:ММ:СС

TRIM

Синтаксис:

TRIM(<String>)

Параметры:

<Stnng> Обязательный

Тип Строка.

Возвращаемое значение:

Тип Строка. Исходная строка без заключительных пробелов.

UPPER

Синтаксис:

UPPER(<String>)

Параметры:

<Stnng>     Обязательный

Тип Строка.

Возвращаемое значение:

Тип Строка. Строка, символы которой преобразованы к верх­нему регистру.

VAL

Синтаксис:

VAL(<String>)

Параметры:

<String>    Обязательный

Тип: Строка

Возвращаемое значение:

Тип Число. Результат преобразования строки в число.

YEAR

Синтаксис:

YEAR(<Date>)

Параметры:

<Date>     Обязательный

Тип Дата.

Возвращаемое значение:

Год даты.

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Функции работы со значениями типа Число


ACos

Синтаксис:

ACos(<Число>)

Параметры:

<Число> - Обязательный

Тип: Число. Аргумент функции. Определен в диапазоне -1 ... 1.

Описание:

Вычисляет арккосинус от аргумента <Число>.

ASin

Синтаксис:

ASin(<Число>)

Параметры:

<Число> - Обязательный

Тип: Число. Аргумент функции. Определен в диапазоне -1 ... 1.

Описание:

Вычисляет арксинус от аргумента <Число>.

ATan

Синтаксис:

ATan(<Число>)

Параметры:

<Число> - Обязательный

Тип: Число. Аргумент функции.

Описание:

Вычисляет арктангенс от аргумента <Число>.

Cos

Синтаксис:

Cos(<Угол>)

Параметры:

<Угол> - Обязательный

Тип: Число. Аргумент функции.

Описание:

Вычисляет косинус от аргумента <Угол>, заданного в радианах.

Exp

Синтаксис:

Exp(<Число>)

Параметры:

<Число> - Обязательный

Тип: Число. Аргумент функции.

Описание:

Вычисляет результат возведения основания натурального логарифма (числа е) в степень <Число>.

Log

Синтаксис:

Log(<Число>)

Параметры:

<Число> - Обязательный

Тип: Число. Исходное число, больше 0.

Возвращаемое значение:

Тип: Число. Значение результата вычисления логарифма.

Описание:

Вычисляет натуральный логарифм числа.

Log10

Синтаксис:

Log10(<Число>}

Параметры:

<Число> - Обязательный

Тип: Число. Исходное число, больше 0.

Возвращаемое значение:

Значение результата вычисления логарифма.

Описание:

Вычисляет десятичный логарифм числа.

Pow

Синтаксис:

Pow(<X>,<Y>)

Параметры:

<X> - Обязательный

Тип: Число. Основание.

<Y> - Обязательный

Тип: Число. Показатель степени.

Возвращаемое значение:

Тип: Число. Результат возведения в степень.

Описание:

Возводит число <X> в степень <Y>.

Sin

Синтаксис:

Sin(<Угол>)

Параметры:

<Угол> - Обязательный

Тип: Число. Аргумент функции.

Описание:

Вычисляет синус от аргумента <Угол>, заданного в радианах.

Sqrt

Синтаксис:

Sqrt(<Число>)

Параметры:




<Число> - Обязательный

Тип: Число. Аргумент функции. Неотрицательное число.

Возвращаемое значение:

Тип: Число. Результат вычисления квадратного корня.

Описание:

Вычисляет квадратный корень числа.

Tan

Синтаксис:

Tan(<Угол>)

Параметры:

<Угол> - Обязательный

Тип: Число. Аргумент функции.

Описание:

Вычисляет тангенс от аргумента <Угол>, заданного в радианах.

Окр (Round)

Синтаксис:

Окр (< Число>, <Разрядность> , <Режим округления>)

Параметры:

<Число> - Обязательный

Тип: Число. Исходное число.

<Разрядность> - Необязательный

Тип: Число. Определяет число знаков дробной части, до которых производится округление. Если параметр отрицательный, то чис­ло округляется до соответствующего разряда в целой части, начи­ная с младших разрядов.

Значение по умолчанию: 0.

<Режим округления>      Необязательный

Тип: РежимОкругления. Определяет режим округления. Помимо системного перечисления допускается использование числового параметра: 0 - если при округлении 1.5 = 1;

1 - если при округлении 1.5 = 2.

Значение по умолчанию: Значение, установленное в свойствах конфигурации.

При определении значения параметра используется системное перечисление РежимОкругления (RounoMode). 

Перечисление содержит следующие значения:

Окр15как10 - При округлении 1.5 будет округлено до 1. 

Окр15как20 - При округлении 1.5 будет округлено до 2.

Возвращаемое значение:

Тип: Число. Число, полученное в результате округления.

Описание:

Округляет исходное число до нужной разрядности в соответствии с заданным режимом округления.

Пример:

// Округлим цену до сотен рублей

ОкруглЦена = Окр(Цена, -2);

// Округлим цену до копеек

ОкруглЦена = Окр(Цена, 2); 

Цел (Int)

Синтаксис:

Цел(<Число>)

Параметры:

<Число> -  Обязательный

Тип: Число. Исходное число.

Возвращаемое значение:

Тип: Число. Результат выделения целой части.

Описание:

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

Пример:

МожноКупить = Цел(Наличность/Цена);

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Функции работы со значениями типа Дата


Год

Синтаксис:

Год(<Дата>)

Параметры:

<Дата> - Обязательный

Тип: Дата. Исходная дата.

Возвращаемое значение:

Тип: Число. Год в указанной дате.

Описание:

Определяет год в указанной дате.

День (Day)

Синтаксис:

День(<Дата>)

Параметры:

<Дата> - Обязательный

Тип: Дата. Исходная дата.

Возвращаемое значение:

Тип: Число. День в указанной дате.

Описание:

Определяет день в указанной дате.

ДеньГода (DayOfYear)

Синтаксис:

ДеньГода(<Дата>)

Параметры:

<Дата> - Обязательный

Тип: Дата. Исходная дата.

Возвращаемое значение:

Тип: Число. Номер дня в году.

Описание:

Определяет номер дня в году для указанной даты.

ДеньНедели (WeekDay)

Синтаксис:

ДеньНедели (<Дата>)

Параметры:

<Дата> - Обязательный

Тип: Дата. Исходная дата.

Возвращаемое значение:

Тип: Число. Номер дня недели.

Описание:

Определяет номер дня недели для указанной даты.

ДобавитьМесяц (AddMonth)

Синтаксис:

ДобавитьМесяц (<Дата>, <Число месяцев> )

Параметры:

<Дата> - Обязательный

Тип: Дата. Исходная дата.

<Число месяцев> - Обязательный

Тип: Число. Количество месяцев, которое необходимо добавить к исходной дате.

Возвращаемое значение:

Тип: Дата. Дата, полученная в результате добавления.

Описание:

Добавляет к указанной дате заданное число месяцев.

КонецГода (EndOfYear)

Синтаксис:

КонецГода(<Дата>)

Параметры:

<Дата> - Обязательный

Тип: Дата. Исходная дата.

Возвращаемое значение:

Тип: Дата. Дата и время конца года.

Описание:

Определяет дату и время конца года для указанной даты.

КонецДня (EndOfDay)

Синтаксис:

КонецДня(<Дата>)

Параметры:

<Дата> - Обязательный

Тип: Дата. Исходная дата.

Возвращаемое значение:

Тип: Дата. Дата и время конца дня.

Описание:

Определяет дату и время конца дня для указанной даты.

КонецКвартала (EndOfQuarter)

Синтаксис:

КонецКвартала(<Дата>)

<Дата> - Обязательный

Тип: Дата. Исходная дата.

Возвращаемое значение:

Тип: Дата. Дата и время конца квартала.




Описание:

Определяет дату и время конца квартала для указанной даты.

КонецМесяца (EndOfMonth)

Синтаксис:

КонецМесяца(<Дата>)

Параметры:

<Дата> - Обязательный

Тип: Дата. Исходная дата.

Возвращаемое значение:

Тип: Дата. Дата и время конца месяца.

Описание:

Определяет дату и время конца месяца для указанной даты.

КонецМинуты (EndOfMinute)

Синтаксис:

КонецМинуты(<Дата>)

Параметры:

<Дата> - Обязательный

Тип: Дата. Исходная дата.

Возвращаемое значение:

Тип: Дата. Дата и время конца минуты.

Описание:

Определяет дату и время конца минуты для указанной даты.

КонецНедели (EndOfWeek)

Синтаксис:

КонецНедели(< Дага>)

Параметры:

<Дата> - Обязательный

Тип: Дата. Исходная дата.

Возвращаемое значение:

Тип: Дата. Дата и время конца недели.

Описание:

Определяет дату и время конца недели для указанной даты.

КонецЧаса (EndOfHour)

Синтаксис:

КонецЧаса(<Дата>)

Параметры:

<Дата> - Обязательный

Тип: Дата. Исходная дата.

Возвращаемое значение:

Тип: Дата. Дата и время конца часа.

Описание:

Определяет дату и время конца часа для указанной даты.

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Функции работы со значениями типа Строка


Врег (Upper)

Синтаксис:

Врег(<Строка>)

Параметры:

<Строка> Обязательный

Тип: Строка. Исходная строка.

Возвращаемое значение:

Тип: Строка. Строка, полученная в результате преобразования.

Описание:

Преобразует все символы строки в верхний регистр.

Пример:

ВрегГосНомер = Врег(ОС.Госномер);

КодСимвола (CharCode)

Синтаксис:

КодСимвола(< Строка>, <Номер символа>)

Параметры:

<Строка> Обязательный

Тип: Строка. Исходная строка.

<Номер символа> Необязательный.

Тип: Число. Номер символа в строке, код которого необходимо получить. Нумерация символов в строке начинается с 1.

Значение по умолчанию: 1.

Возвращаемое значение:

Тип: Число. Код переданного символа. Код возвращается в соответствии с кодировкой Unicode.

Описание:

Получает код символа, расположенного в переданной строке в позиции с указанным номером.

Пример:

КодПервогоСимволаФамилия = КодСимвола(Сотрудник.Фамилия);

Лев (Left)

Синтаксис:

Лев (<Строка>, <Число символов>)

Параметры:

<Строка> Обязательный

Тип: Строка. Исходная строка.

<Число символов> Обязательный

Тип: Число. Количество выбираемых символов.

Возвращаемое значение:

Тип: Строка. Строка выбранных символов.

Описание:

Выбирает первые слева символы строки.

Пример:

ИницИмени = Лев(Сотрудник.Имя, 1);

ИницОтчества = Лев(Сотрудник.Отчество, 1);

ФИО = Сотрудник.Фамилия + " " + ИницИмени + "." + ИницОтчества + ".";

Найти (Find)

Синтаксис:

Найти(<Строка>, <Подстрока поиска>)

Параметры:

<Строка> Обязательный

Тип: Строка. Исходная строка.

<Подстрока поиска> Обязательный

Тип: Строка. Искомая подстрока.

Возвращаемое значение:

Тип: Число. Позиция первого знака найденной подстроки. Нумерация символов в строке начинается с 1. Если не находит -возвращает 0.

Описание:

Находит вхождение искомой строки как подстроки в исходной строке.

Пример:

Если Найти(Сотрудник.ФИО, "Борис") > 0 Тогда

    Сообщить(Сотрудник.ФИО + " таб. №" + Сотрудник.Код);




КонецЕсли ;

Hper (Lower)

Синтаксис:

Hpeг(<Строка>)

Параметры:

<Строка> Обязательный

Тип: Строка. Исходная строка.

Возвращаемое значение:

Тип: Строка. Строка, полученная в результате преобразования.

Описание:

Преобразует все символы строки в нижний регистр.

Пример:

НрегГосНомер = Нрег(ОС.Госномер);

Прав (Right)

Синтаксис:

Прав(<Строка>, <Число символов>)

Параметры:

<Строка> Обязательный

Тип: Строка. Исходная строка.

<Число символов> Обязательный

Тип: Число. Количество выбираемых символов.

Возвращаемое значение:

Тип: Строка. Строка выбранных символов.

Описание:

Выбирает последние справа символы строки.

Пример:

// Пусть номер автомобиля в справочнике основных средств задается 

// в виде х999хх99, где последние две цифры - код региона. 

// Получим код региона из номера. 

КодРегиона = Прав(ОС.Госномер,2) ;

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Прикладные объекты


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



Интерфейсные объекты


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



Работа с запросами


Для формирования и выполнения запросов к таблицам базы дан­ных в системе используется специальный объект Запрос. Запрос удобно использовать когда необходимо получить сложную вы­борку данных, сгруппированную и отсортированную нужным об­разом. Одним из классических примеров его применения может служить сводка по состоянию регистра учета на определенный момент времени. Кроме того, механизм запросов позволяет легко получать информацию в различных временных разрезах.



Глобальный контекст


Глобальный контекст инициализируется при открытии конфигу­рации 1C: Предприятия в режиме Предприятия и существует вплоть до ее закрытия. Все свойства, процедуры и функции гло­бального контекста доступны в любом программном модуле кон­фигурации.

Доступ к свойствам, процедурам и функциям глобального кон­текста может осуществляется непосредственно из любого про­граммного модуля, используя их имена (без ссылки на какой-либо объект).

Важно! У всех событий глобального контекста назначены пре­допределенные процедуры-обработчики. Имена процедур соответ­ствуют именам событий. Все процедуры должны располагаться в глобальном модуле конфигурации.



Общие объекты


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