Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1C_pr77_Lang1.doc
Скачиваний:
12
Добавлен:
20.11.2019
Размер:
2.43 Mб
Скачать

Контекст работы с регистрами

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

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

Пример:

Флаг = Регистр.ОстаткиТовара.Приход;

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

Регистр.<ХХХХХ>

где <ХХХХХ> — вид регистра, объявленный в конфигураторе. Англоязычный синоним ключевого слова Регистр — Register.

Пример:

Рег = СоздатьОбъект("Регистр.ТовЗап");

Атрибуты регистров Приход

Флаг движения регистра «приход».

Синтаксис:

Приход

Англоязычный синоним:

Income

Описание:

Атрибут Приход содержит значение флага записи движения регистра и ис­пользуется только при обращении к существующим записям движений регист­ров. Данный атрибут только для чтения. Атрибут Приход может принимать числовое значение 1 — если текущее движение регистра приход, 0 — если нет.

Данный атрибут не имеет смысла для оборотных регистров.

Пример:

Рег1 = СоздатьОбъект("Регистр.Взаиморасчеты");

Если Режим = "Подробно" Тогда

Рег1.УстановитьФильтр(Клиент);

Рег1.ВыбратьДвижения(ДатаНачало, );

Пока Рег1.ПолучитьДвижение()>0 Цикл

Если Число(Рег1.Клиент.Код) <> Число(Запрос.Клиент.Код) Тогда

Продолжить;

КонецЕсли;

Док = Рег1.ТекущийДокумент();

Дв_Баз_Сум = Рег1.СуммаБазовая;

Дв_Вал_Сум = Рег1.СуммаВалютная;

Если Рег1.Приход = 1 Тогда

Таб.ВывестиСекцию("Приход");

Иначе

Таб.ВывестиСекцию("Расход");

КонецЕсли;

КонецЦикла;

КонецЕсли;

Расход

Флаг движения регистра «расход».

Синтаксис:

Расход

Англоязычный синоним:

Outcome

Описание:

Атрибут Расход содержит значение флага записи движения регистра и ис­пользуется только при обращении к существующим записям движений регист­ров. Данный атрибут только для чтения. Атрибут Расход может принимать числовое значение 1 — если текущее движение регистра расход, 0 — если нет.

Данный атрибут не имеет смысла для оборотных регистров.

Пример:

Рег1 = СоздатьОбъект("Регистр.Взаиморасчеты");

Если Режим = "Подробно" Тогда

Рег1.УстановитьФильтр(Клиент);

Рег1.ВыбратьДвижения(ДатаНачало, );

Пока Рег1.ПолучитьДвижение() > 0 Цикл

Если Число(Рег1.Клиент.Код) <> Число(Запрос.Клиент.Код) Тогда

Продолжить;

КонецЕсли;

Док = Рег1.ТекущийДокумент();

Дв_Баз_Сум = Рег1.СуммаБазовая;

Дв_Вал_Сум = Рег1.СуммаВалютная;

Если Рег1.Расход = 1 Тогда

Таб.ВывестиСекцию("Расход");

Иначе

Таб.ВывестиСекцию("Приход");

КонецЕсли;

КонецЦикла;

КонецЕсли;

<Измерение>

Установить значение измерения регистра.

Синтаксис:

<Измерение>

Описание:

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

Пример:

Процедура ОбработкаПроведения()

// В регистре "ТовЗап" измерениями являются "Склад" и "Товар"

// ресурсами являются "Количество" и "Стоимость"

Регистр.ТовЗап.Склад = Склад;

ВыбратьСтроки();

Пока (ПолучитьСтроку() > 0) Цикл

Регистр.ПривязыватьСтроку(НомерСтроки);

Регистр.ТовЗап.Товар = Товар;

Регистр.ТовЗап.Количество = Количество;

Регистр.ТовЗап.Стоимость = Стоимость;

Регистр.ТовЗап.ДвижениеРасходВыполнить();

КонецЦикла;

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

<Ресурс>

Установить значение ресурса регистра.

Синтаксис:

<Ресурс>

Описание:

Атрибут <Ресурс> задает значение выбранного ресурса регистра. В тексте программного модуля используется название конкретного ресурса регистра, как он назван в конфигураторе.

Пример:

См. предыдущий пример.

<Реквизит>

Установить значение реквизита регистра.

Синтаксис:

<Реквизит>

Описание:

Атрибут <Реквизит> задает значение выбранного реквизита регистра. В тексте программного модуля используется название конкретного реквизита регистра, как он назван в конфигураторе.

Пример:

Процедура ОбработкаПроведения()

// В регистре "ТовЗап" измерениями являются "Склад" и "Товар"

// ресурсами являются "Количество" и "Стоимость"

// реквизитом является "ВнутрПеремещение"

Регистр.ТовЗап.Склад = Склад;

Если Вид() = "Перемещение" Тогда

Регистр.ТовЗап.ВнутрПеремещение = 1;

Иначе

Регистр.ТовЗап.ВнутрПерсмещение = 0;

КонецЕсли;

ВыбратьСтроки();

Пока ПолучитьСтроку() > 0 Цикл

Регистр.ТовЗап.ПривязыватьСтроку(НомерСтроки);

Регистр.ТовЗап.Товар = Товар;

Регистр.ТовЗап.Количество = Количество;

Регистр.ТовЗап.Стоимость = Стоимость;

Регистр.ТовЗап.ДвижениеРасходВыполнить();

КонецЦикла;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]