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

         

РассчитатьРегистрыПо


Рассчитать все регистры на конец события.

Синтаксис:

РассчитатьРегистрыПо(<ГраницаРасчета>, <ГрафаОтбора>)

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

CalcRegsOnEnd

Параметры:



<ГраницаРасчета>

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

<ГрафаОтбора>

Необязательный параметр. Строковое выражение — идентификатор графы отбора, как он задан в кон­фигураторе. Данный параметр устанавливает режим использования определенной графы отбора. "*" — автоматический выбор графы отбора. Пустая строка — не использовать графу отбора. По умолчанию устанавливается автоматический выбор графы отбора.

Описание:

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

Применение данной процедуры в тексте любого программного модуля непо­средственное, т. е. просто имя процедуры с параметрами (без предварительной ссылки на объект).

Пример:

// если итоги не актуальны, то стоимости берем из временного расчета

// регистра УчетРеализации

Рег = СоздатьОбъект("Регистр.УчетРеализации");

Рег.ВременныйРасчет();

РассчитатьРегистрыПо(ТекущийДокумент());

Рег.Товар = Товар;

Рег.Клиент = Клиент;

Рег.ОстаткиПолучить();

ТекОстаток = Рег.ОстатокТовара;

ТекСтоимость = Рег.Стоимость;

ТекПродСтоимость = Рег.ПродСтоимость;



РассчитатьРегистрыПо


Рассчитать все регистры на конец события.

Синтаксис:

РассчитатьРегистрыПо(<ГраницаРасчета>, <ГрафаОтбора>)

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

CalcRegsOnEnd

Параметры:

<ГраницаРасчета>

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

<ГрафаОтбора>

Необязательный параметр. Строковое выражение — идентификатор графы отбора, как он задан в кон­фигураторе. Данный параметр устанавливает режим использования определенной графы отбора "*" — автоматический выбор графы отбора. Пустая строка — не использовать графу отбора. По умолчанию устанавливается автоматический выбор графы отбора.

Описание:

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

Пример:

// если итоги не актуальны, то стоимости берем из временного расчета

// регистра УчетРеализации

СпецРег = СоздатьОбъект("Регистры");

Рег = СпецРег.УчетРеализации;

Рег.ВременныйРасчет();

СпецРег.РассчитатьРегистрыПо(ТекущийДокумент());

Рег.Товар = Товар;

Рег.Клиент = Клиент;

Рег.ОстаткиПолучить();

ТекОстаток = Рег.ОстатокТовара;

ТекСтоимость = Рег.Стоимость;

ТекПродСтоимость = Рег.ПродСтоимость;



РассчитыватьПриОтменеИсправления


Устанавливает значение флага автоматического расчета записи жур­нала расчетов при интерактивной отмене ее исправления.

Синтаксис:

РассчитыватьПриОтменеИсправления(<Флаг>)

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

CalculateOnEditCancel

Параметры:

<Флаг>

Необязательный параметр. Число: 1 — автоматиче­ски рассчитывать записи журнала расчетов при интерактивной отмене ее исправления; 0 — не рас­считывать автоматически.

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

Текущее числовое значение флага (до испольнения метода).

Описание:

Метод РассчитыватьПриОтменеИсправления устанавливает значение флага автоматического расчета записи журнала расчетов при интерактивной отмене ее исправления. По умолчанию форма журнала расчетов всегда откры­вается со значением флага 0 (не рассчитывать записи журнала расчетов автома­тически).

Данный метод доступен только в контексте Модуля формы журнала расче­тов (см. «Виды программных модулей»).

Пример:

РассчитыватьПриОтменеИсправления(1);



Расшифровка


Установить расшифровку области.

Синтаксис:

Расшифровка(<Значение>, <ФлагДляВсейСтроки>)

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

Details

Параметры:

<Значение>

Значение расшифровки области.

<ФлагДляВсейСтроки>

Необязательный параметр. Число: 0 — обычный режим; 1 — установить данную расшифровку для всей строки; 2 — не вызывать расшифровку для данной ячейки. Значение по умолчанию — 0.

Описание:

Метод Расшифровка записывает расшифровку области.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.Открыть("tabl_l.mxl");

ВыбОбласть = Таб.Область("R8C4");

ВыбОбласть.Расшифровка(ВыбДокумент, 1);



РазделительСтраниц


Содержит строковое значение перевода страницы текста.

Синтаксис:

РазделительСтраниц

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

PageBreak

Описание:

Системная константа РазделительСтраниц содержит строковое значение перевода страницы текста. Данная системная константа применяется для вставки или поиска в тексте строкового значения перевода страницы текста.

Пример:

Выв=СоздатьОбъект("Текст");

Выв.ДобавитьСтроку("Страница 1");

Выв.ДобавитьСтроку(РазделительСтраниц);

Выв.ДобавитьСтроку("Страница 2");

Выв.Показать();



РазделительСтрок


Содержит строковое значение перевода строки текста.

Синтаксис:

РазделительСтрок

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

LineBreak

Описание:

Системная константа РазделительСтрок содержит строковое значение перевода строки текста. Данная системная константа применяется для вставки или поиска в тексте строкового значения перевода строки текста

Пример:

Выв=СоздатьОбъект("Текст");

Выв.ДобавитьСтроку("Страница 1");

Выв.ДобавитьСтроку(РазделительСтрок);

Выв.ДобавитьСтроку("Страница 2");

Выв.Показать();



Разм


Определить размерность массива.

Синтаксис:

Разм(<Имя_массива>)

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

Dim

Параметры:

<Имя_массива>

Идентификатор массива.

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

Числовое значение размерности массива.

Описание:

Функция Разм возвращает числовое значение размерности массива пере­данного в качестве параметра.

Пример:

Перем Массив_для_хранения[10];

Размер = Разм(Массив_для_хранения);



РазмерШрифта


Получить/установить размер шрифта области.

Синтаксис:

РазмерШрифта(<Размер>)

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

FontSize

Параметры:

<Размер>

Необязательный параметр. Числовое выражение, задающее размер шрифта. Если параметр опущен, то размер шрифта области не изменяется.

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

Размер шрифта до исполнения метода.

Описание:

Метод РазмерШрифта устанавливает размер шрифта области.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.Открыть("tabl_l.mxl");

ВыбОбласть = Таб.Область("R8C4");

ВыбОбласть.Шрифт("Arial");

ВыбОбласть.РазмерШрифта(10);



РазмерСписка


Определить размер списка.

Синтаксис:

РазмерСписка()

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

GetListSize

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

Числовое значение — количество элементов в списке.

Описание:

Метод РазмерСписка позволяет определить общее количество элементов в списке.

Пример:

Разм = Список.РазмерСписка();



РазобратьПозициюДокумента


Раскладывает позицию документа на составляющие и возвращает строковое представление позиции документа

Синтаксис:

РазобратьПозициюДокумента(<Позиция>, <Дата>, <Час>, <Мин> , <Сек>, <Документ>)

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

SplitDocPosition

Параметры:

<Позиция>

Строковое значение позиции документа.

<Дата>

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

<Час>

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

<Мин>

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

<Сек>

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

<Документ>

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

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

Представление позиции документа в строковом виде, например: «12.07.98 12:57:14 ПрихНакл 24»

Описание:

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

Пример:

Позиция = РазобратьПозициюДокумента(ВыбДокумент.ПозицияДокумента());



Разработка вложенных отчетов


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

Поскольку каждая ячейка Таблицы может содержать значение, записанное в нее (см. Конфигуратор, редактор таблиц — Свойства ячейки — Текст — поле: Зна­чение), то в программном модуле формы отчета возможно обрабатывать это значение. Обработка значения ячейки Таблицы вызывается системой по кла­више <Enter> или по двойному щелчку мышью на какой-либо ячейке (если режим «только просмотр»). Стандартными действиями системы на обработку такого события являются: для документа — открытие документа, для элемента справочника — открытие формы редактирования элемента справочника. Дру­гими словами, стандартные действия системы зависят от типа данных содер­жащегося в ячейке значения. Однако, это событие возможно перехватить и об­работать нестандарным способом. Для этого предназначена предопределенная процедура встроенного языка ОбработкаЯчейкиТаблицы.

Примером нестандартной обработки значения ячейки таблицы может быть, например, вызов на формирование другого отчета. Таким образом, мы можем создавать как бы вложенные отчеты, которые вызываются один из другого, вы­давая с каждым разом более детальную информацию. Допустим отчет «Взаи­морасчеты» при формировании всегда выводится в кратком виде, когда виден только сводный баланс по контрагенту. Для того, чтобы получить детальный отчет по данному контрагенту, достаточно встать курсором в готовой форме отчета на этого контрагента и нажать клавишу <Enter>. Тогда сработает про­цедура ОбработкаЯчейкиТаблицы, в которой можно записать вызов форми­рования детального отчета. А если, кроме того, завести флаг режима отображе­ния, то можно вместо этого показывать карточку этого контрагента из справоч­ника.




Рассмотрим построение вложенных отчетов на примере. Допустим, у вас есть отчет «ПродажиТоваров», в котором отображается перечень товаров, коли­чество и сумма проданных за некоторый период товаров. Программный модуль формирования такого отчета приведен ниже.

Пример:

Процедура ПродВсего()

   Перем Запрос, ТекстЗапроса, Таб;

   ДатаКон = ДатаКонца;

   Если ДатаКон >= ПолучитьДатуТА() Тогда

      ДатаКон = Дата(0);

   КонецЕсли;

   //Создание объекта типа Запрос

   Запрос = СоздатьОбъект("Запрос");

   ТекстЗапроса = "//{{ЗАПРОС(ПродВсего)

   |Период с ДатаНачала по ДатаКон;

   |ТОВАР = Документ.РасхНакл.Товар;

   |Сумма_Прод = Документ.РасхНакл.СуммаРуб;

   |КОЛВО_Прод = Документ.РасхНакл.Количество;

   |Группировка ТОВАР;

   |Функция Продано = Сумма(КОЛВО_Прод);

   |Функция СуммаПродано = Сумма(Сумма_Прод);

   |"//}}ЗАПРОС

   ;

   // Если ошибка в запросе, то выход из процедуры

   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

      Возврат;

   КонецЕсли;

   // Подготовка к заполнению

   Таб = СоздатьОбъект("Таблица");

   Таб.ИсходнаяТаблица("ТабВсего");

   Таб.ВывестиСекцию("Отчет");

   Пока Запрос.Группировка("Товар") = 1 Цикл

      ПродСумма = Запрос.СуммаПродано;

      Если Запрос.Товар.ЭтоГруппа() = 1 Тогда

         Таб.ВывестиСекцию("Группа");

      Иначе

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

      КонецЕсли;

   КонецЦикла;

   // Вывод заполненной формы

   Таб.ТолькоПросмотр(1);

   Таб.Опции(0, 0, 4, 0);

   Таб.Показать("Продажа товаров ", "");

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



с 01.11.96 по 19.11.96

Товар"Продано

В режие исполнения у нас получится такой отчет:

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



Далее, в программном модуле напишем процедуру формирования дополни­тельного отчета.

Продолжение примера:

//*********************************

// Процедура дополнительного отчета

Процедура ПродТовар(ВТовар)

   Перем Запрос, ТекстЗапроса, Таб;

   ДатаКон = ДатаКонца;

   Если ДатаКон >= ПолучитьДатуТА() Тогда

      ДатаКон = Дата(0);

   КонецЕсли;

   //Создание объекта типа Запрос

   Запрос = СоздатьОбъект("Запрос");

   ТекстЗапроса = "//{{ЗАПРОС(ПродТовар)

   |Период с ДатаНачала по ДатаКон;

   |КЛИЕНТ = Документ.РасхНакл.Клиент;

   |ТОВАР = Документ.РасхНакл.Товар;

   |СУММ = Документ.РасхНакл.СуммаВал;

   |КОЛВО = Документ.РасхНакл.Количество;

   |Группировка КЛИЕНТ Упорядочить По КЛИЕНТ.Наименование;

   |Группировка ТОВАР Упорядочить По ТОВАР.Наименование;

   |Функция Продано = Сумма(КОЛВО);

   |Функция ПродСум = Сумма(СУММ);

   |"//}}ЗАПРОС

   ;

   Если ВТовар.Выбран() = 1 Тогда

      Если ВТовар.ЭтоГруппа() = 1 Тогда

         ТекстЗапроса = ТекстЗапроса +

             "Условие(Товар.ПринадлежитГруппе(ВТовар) = 1);";

      Иначе

         ТекстЗапроса = ТекстЗапроса + "Условие (Товар = ВТовар);";

         ФОдинТовар = 1;

      КонецЕсли;

   КонецЕсли;

   // Если ошибка в запросе, то выход из процедуры

   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

      Возврат;

   КонецЕсли;

   // Подготовка к заполнению выходных форм

   Таб = СоздатьОбъект("Таблица");

   Таб.ВывестиСекцию("Отчет");

   Пока Запрос.Группировка("Клиент") = 1 Цикл

      Таб.ВывестиСекцию("Клиент");

      Пока Запрос.Группировка("Товар") = 1 Цикл

         Если ФОдинТовар = 0 Тогда

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

         КонецЕсли;

      КонецЦикла;

   КонецЦикла;

   // Вывод заполненной формы

   Таб.ТолькоПросмотр(1);

   Таб.Опции(0, 4, 0, 0);

   Таб.Показать("Продажа товара", "");

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

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

Продолжение примера:

//-------------------------

Процедура ОбработкаЯчейкиТаблицы(ЗначЯч, ФлагСтандартнойОбработки)

   Если ТипЗначения(ЗначЯч) = 2 Тогда

      ФлагСтандартнойОбработки = 1;

      Возврат;

   КонецЕсли;

   ПродТовар(ЗначЯч);

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

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


Развернутое сальдо по субконто


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



Развернутое сальдо по субсчетам


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



Редактирование


Определяет возможность редактирования значения элемента диалога.

Синтаксис:

Редактирование(<Флаг>)

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

EnableEdit

Параметры:

<Флаг>

Число: 1 — значение элемента редактируется как обычно; 0 — значение не редактируется но может выбираться кнопкой выбора. Отличие от метода Доступность в том, что Доступность отключа­ет и кнопку выбора.

Описание:

Метод Редактирование определяет возможность редактирования значения непосредственно в элементе диалога для полей ввода типа Число, Строка, Дата, Счет.

Доступ к данному методу возможен только в контексте Модуля формы.

Пример:

Форма.КолонкаЦены.Редактирование(1);



Редактирование


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

Синтаксис:

Редактирование(<Флаг>)

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

EnableEdit

Параметры:

<Флаг>

Число: 1 — значения ячеек области таблицы редактируются как обычно; 0 — значения не ре­дактируется но могут выбираться кнопкой выбо­ра. Отличие от метода Доступность в том, что Доступность отключает и кнопку выбора.

Описание:

Метод Редактирование определяет возможность редактирования значения непосредственно в ячейках области таблицы для полей ввода типа «Число», «Строка», «Дата», «Счет».

Пример:

ВыбОбласть.Редактирование(1);



РедактироватьВДиалоге


Установить способ редактирования элементов справочника.

Синтаксис:

РедактироватьВДиалоге(<Способ>, <Разрешение>)

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

EditInForm

Параметры:

<Способ>

Необязательный параметр. Способ редактирования элемента справочника: 1 — в диалоге; 0 — в строке.

<Разрешение>

Необязательный параметр. Флаг разрешения пользо­вателю менять способ редактирования: 1 — разрешить; 0 — запретить.

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

Значение установленного на данный момент способа редактирования эле­ментов справочника (до применения метода).

Описание:

Метод РедактироватьВДиалоге устанавливает способ редактирования элементов справочника.

Данный метод доступен в контексте Модуля формы списка справочника (см. «Виды программных модулей»). Действие данного метода относится ко всему текущему списку справочника, который доступен в локальном контексте Модуля формы списка справочника.

Пример:

ТекСп = РедактироватьВДиалоге();

// какой сейчас способ?

РедактироватьВДиалоге(1);

// установить редактирование в диалоге

РедактироватьВДиалоге(1, 0);

// установить редактирование в диалоге

// и запретить его менять



РедактироватьВДиалоге


Установить способ редактирования счета.

Синтаксис:

РедактироватьВДиалоге(<Способ>, <Разрешение>)

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

EditInForm

Параметры:

<Способ>

Необязательный параметр. Способ редактирова­ния счета: 1 — в диалоге; 0 — в строке.

<Разрешение>

Необязательный параметр. Флаг разрешения пользователю менять способ редактирования: 1 —разрешить; 0 — запретить.

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

Значение установленного на данный момент способа счета (до применения метода).

Описание:

Метод РедактироватьВДиалоге устанавливает способ редактирования счета.

Данный метод доступен в контексте Модуля формы списка счетов. Дейст­вие данного метода относится ко всему текущему списку счетов, который дос­тупен в локальном контексте Модуля формы списка.

Пример:

ТекСп = РедактироватьВДиалоге();

// какой сейчас способ?

РедактироватьВДиалоге(1);

// установить редактирование в диалоге

РедактироватьВДиалоге(1, 0);

// установить редактирование в диалоге и запретить его менять



<Реквизит>


Значение реквизита справочника.

Синтаксис:

<Реквизит>

Идентификатор реквизита справочника, как он задан в конфигураторе.

Описание:

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

Пример:

// В этом примере справочник "Сотрудники" имеет реквизит "Оклад"

Спр = СоздатьОбъект("Справочник.Сотрудники");

Спр.НайтиПоКоду("111");

ОкладСотр = Спр.Оклад;

Спр.Оклад = ОкладСотр * 1.5;



<Реквизит>


Значение реквизита документа.

Синтаксис:

<Реквизит>

Идентификатор реквизита документа, как он задан в конфигураторе.

Описание:

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

Пример:

// предопределенная процедура ввода нового документа

// ТипСотр, Оклад — реквизиты документа

Процедура ВводНового()

   // Установим дату документа

   ДатаДок = РабочаяДата();

   ТипСотр = Перечисление.ТипСотрудника.Штатный;

   Оклад = Сотр.Оклад.Получить(ДатаДок);

   ПризнакНакладной = Перечисление.ПризнРасхНакл.Продажа;

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



<Реквизит>


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

Синтаксис:

<Реквизит>

Описание:

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

Пример:

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

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

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

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

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

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

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

   Иначе

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

   КонецЕсли;

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

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

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

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

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

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

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

   КонецЦикла;

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



<Реквизит>


Возвращает или задает значение дополнительного реквизита счета.

Синтаксис:

<Реквизит>

Идентификатор дополнительного реквизита счета, как он задан в конфигураторе.

Описание:

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

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

Пример:

* Для счетов определен реквизит "Ответственный" типа "Справочник.Сотрудники".

Сч = СоздатьОбъект("Счет.Основной");

Сч.ВыбратьСчета();

Пока Сч.ПолучитьСчет() = 1 Цикл

   Сч.Ответственный = ВыбСотр;

   Сообщить(Сч.Ответственный.Наименование);

   Сч.Записать();

КонецЦикла



<Реквизит>


Значение реквизита журнала расчетов.

Синтаксис:

<Реквизит>

Идентификатор реквизита журнала расчетов, как он задан в конфигураторе.

Описание:

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

Пример:

//В этом примере журнал расчетов "Зарплата"

// имеет реквизит "ХозОперация"

ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");

ЖР.ВыбратьПериод(ЖР.НачалоТекущегоПериода());

Пока ЖР.ПолучитьЗапись() = 1 Цикл

   ЖР.ХозОперация = ПолучитьХО(ЖР.ТекущаяЗапись());

   // вызвали вспомогательную функцию пользователя: ПолучитьХО

КонецЦикла;



<РеквизитОперации>


Возвращает или задает значение дополнительного реквизита опера­ции.

Синтаксис:

<РеквизитОперации>

Идентификатор дополнительного реквизита операции, как он задан в конфигураторе.

Значение:

Тип значения определяется типом реквизита заданным в метаданных.

Описание:

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

Атрибут <Реквизит> позволяет обращаться к значению дополнительного реквизита операции. Для обращения к конкретному реквизиту должен быть указан его идентификатор, заданный для этого реквизита в конфигураторе.

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Сообщить(Опер.ПризнакУчета);



<РеквизитПроводки>


Обращение к дополнительному реквизиту проводки.

Синтаксис:

<РеквизитПроводки>

Идентификатор дополнительного реквизита проводки, как он задан в конфигураторе.

Описание:

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

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

Перед обращением к атрибуту конкретной проводки эта проводка должна быть выбрана с помощью методов ВыбратьПроводки, ПолучитьПроводку или создана при помощи метода НоваяПроводка. В модулях форм «Опера­ции» и «Журнал проводок» текущая проводка определяется положением кур­сора.

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Сообщить("Количество =" + Опер.Количество);

КонецЦикла;



<Ресурс>


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

Синтаксис:

<Ресурс>

Описание:

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

Пример:

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



РежимРисования


Установить режим рисования картинки.

Синтаксис:

РежимРисования(<Режим>)

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

SetDrawMode

Параметры:

<Режим>

Числовое выражение: 1 — растягивать; 2 — рисовать по центру с оригинальным размером; 3 — рисовать сохраняя оригинальное соотношение высоты и ши­рины.

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

Текущее числовое значение режима рисования картинки (на момент до ис­полнения метода).

Описание:

Метод РежимРисования устанавливает режим рисования картинки.

Пример:

Фото.РежимРисования(2);

Фото.Загрузить("с:\lCv7\DBmy\Boris.bmp");



РежимВыбора


Возвращает режим работы формы.

Синтаксис:

РежимВыбора()

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

ChoiseMode

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

Число: 0 — форма открыта не для выбора; 1 — форма открыта для выбора од­ного значения; 2 — форма открыта для выбора нескольких значений.

Описание:

Метод РежимВыбора возвращает режим работы формы. Доступ к данному методу возможен только в контексте Модуля формы.

Пример:

РежимРаботыФормы = Форма.РежимВыбора();



Результат


Результат расчета,

Синтаксис:

Результат

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

Result

Описание:

Атрибут типа «число». Используется для доступа к результату расчета запи­си. Как правило, самым важным действием процедуры ПровестиРасчет мо­дуля расчета является вычисление результата расчета и заполнение атрибута Расчет.

Пример:

*

// Переберем все записи текущего периода журнала расчетов

//по текущему основному средству и просуммируем результат

ЖР = СоздатьОбъект("ЖурналРасчетов.Амортизация");

ЖР.ВыбратьПериодПоОбъекту(Объект, ЖР.НачалоТекущегоПериода());

// Инициализируем переменную

Сумма = 0;

Пока ЖР.ПолучитьЗапись() > 0 Цикл

   Сумма = Сумма + ЖР.Результат;

КонецЦикла

*

Результат = Оклад * Дней / ОтработаноДней;



Родитель


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

Синтаксис:

Родитель

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

Parent

Описание:

Атрибут Родитель предоставляет доступ к значению родительской группы выбранного элемента справочника.

Данный атрибут может быть изменен только для объектов, созданных функцией СоздатьОбъект.

Пример:

Функция ДатьРодителя(Элем)

   // Справочник Товаров многоуровневый

   // Получая в параметре функции значение товара,

   // надо выдать имя группы товара

   Спр = СоздатьОбъект("Справочник.Товары");

   Спр.НайтиЭлемент(Элем);

   Если Спр.Уровень() > 1 Тогда

      Спр.НайтиЭлемент(Спр.Родитель);

      Возврат "Этот товар принадлежит группе " + Спр.Наименование;

   Иначе

      Возврат "Это товар первого уровня - нет родителя!";

   КонецЕсли;

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



Родитель


Выдает счет вышестоящего уровня.

Синтаксис:

Родитель(<НомерУровня>)

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

Параметры:

<НомерУровня>                Необязательный параметр. Число — номер уровня. Определяет какого уровня вышестоящий счет должен быть выдан. Если параметр не указан -выдается непосредственный родитель.

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

Значение типа «Счет». Счет вышестоящего уровня данного счета.

Описание:

При наличии в плане счетов нескольких уровней счетов-субсчетов данный метод позволяет получить счет вышестоящего уровня выбранного счета. Если параметр не задан, выдается непосредственный родитель, если задан — родитель указанного уровня.

Пример:

Сч = СоздатьОбъект("Счет.Основной");

Сч.НайтиПоКоду("76.02");

Сообщить("Родитель " + Сч.Родитель());

//Возвращает "Родитель 76"



Родитель


Возвращает объект метаданных, которому подчинен данный объект.

Синтаксис:

Родитель()

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

Parent

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

Объект метаданных, которому подчинен данный объект.

Описание:

Метод Родитель возвращает объект метаданных, которому подчинен дан­ный объект.

Пример:

Сообцить("Реквизит принадлежит документу" + РеквМД.Родитель().Идентификатор);



РодительскийДокумент


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

Синтаксис:

РодительскийДокумент

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

ParentDocument

Описание:

Атрибут типа «Документ». Ссылка на документ расчета, который ввел дан­ную запись (расчет) журнала расчетов.

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

Атрибут РодительскийДокумент предназначен только для чтения.

Пример:

ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");

ЖР.ВыбратьЗаписиПоОбъекту();

Пока ЖР.ПолучитьЗапись() = 1 Цикл

   Если (ЖР.ВидРасч = ВидРасчета.ПоОкладу) И

            (ЖР.РодительскийДокумент.Вид() <> "НачалоМесяца") Тогда

      СообщитьОПерерасчете();

   КонецЕсли;

КонецЦикла;

См. также: ВвестиРасчет, ЗаписатьРасчет, ВвестиПерерасчет, ЗаписатьРасчетНаОсновании, ВвестиРасчетНаОсновании, ВвестиПерерасчетНаОсновании



Счет


Счет дебета/кредита проводки (корреспонденции) операции.

Синтаксис:

Счет

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

Account

Значение:

Значение типа «Счет».

Описание:

Атрибут Счет служит для доступа к счету дебета/кредита проводки или корреспонденции операции.

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Сообщить("Проводка " + Опер.Дебет.Счет.Наименование + " - " +

                          Опер.Кредит.Счет.Наименование);

КонецЦикла;



Счет


Текущий счет результатов запроса.

Синтаксис:

Счет

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

Account

Описание:

Счет является атрибутом типа «Счет». При обращении к итогам запроса при помощи функций ВыбратьСчета, ПолучитьСчет, атрибут Счет равен текущему счету, выбранному функцией ПолучитьСчет.

Пример:

БухИтоги.Запрос(Дата1, Дата2);

БухИтоги.ВыбратьСчета();

Пока БухИтоги.ПолучитьСчет() = 1 цикл

   Сообщить(БухИтоги.Счет.Код + " ДО = " + БухИтоги.ДО());

КонецЦикла;



СчетДт


Счет дебета корректной проводки.

Синтаксис:

СчетДт

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

AccountDt

Описание:

Атрибут СчетДт дает доступ к значению счета дебета корректной проводки.

Пример:

КП = СоздатьОбъект("КорректныеПроводки");

КП.ВыбратьКорректныеПроводки();

Пока КП.ПолучитьКорректнуюПроводку() = 1 Цикл

   Сообщить(КП.Комментарий + " счет дебета — " + КП.СчетДт);

КонецЦикла;



СчетКт


Счет кредита корректной проводки.

Синтаксис:

СчетКт

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

AccountKt

Описание:

Атрибут СчетКт дает доступ к значению счета кредита корректной провод­ки.

Пример:

КП = СоздатьОбъект("КорректныеПроводки");

КП.ВыбратьКорректныеПроводки();

Пока КП.ПолучитьКорректнуюПроводку() = 1 Цикл

   Сообщить(КП.Комментарий + " счет кредита — " + КП.СчетКт);

КонецЦикла;



СчетПоКоду


Поиск бухгалтерского счета по коду.

Синтаксис:

СчетПоКоду(<КодСчета>[, <ПланСчетов>])

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

AccountByCode

Параметры:

<КодСчета>

Символьное выражение — код счета.

<ПланСчетов>

Значение типа «План Счетов» — план счетов, в котором выполняется поиск. Если параметр не указан, поиск выполняется в основном плане счетов, заданном в метадан­ных.

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

Значение типа «Счет».

Описание:

Метод СчетаПоКоду позволяет найти значение типа «Счет» по коду счета, указанному в виде символьной строки.

Пример:

// При проведении документа формируем проводку

Операция.НоваяПроводка();

Операция.Дебет.Счет = СчетПоКоду("51");



СделатьНеПроведенным


Отменить проведение документа.

Синтаксис:

СделатьНеПроведенным()

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

UnPost

Описание:

Метод СделатьНеПроведенным отменяет проведение документа. Данный метод нельзя использовать в теле предопределенной процедуры ОбработкаПроведения.

Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект.

Пример:

Док.СоздатьОбъект("Документ.Заказ");

Док.НайтиДокумент(Докум);

Док.СделатьНеПроведенным();

См. также: Провести, ПриОтменеПроведенияДокумента



СдвинутьСтроку


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

Синтаксис:

СдвинутьСтроку(<КоличествоСтрок>, <НомерСтроки>)

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

MoveLine

Параметры:

<КоличествоСтрок>

Число строк, на которое надо переместить строку. Если число положительное, то строка сдвигается вниз, если отрицательное, то вверх.

<НомерСтроки>

Необязательный параметр. Номер строки, которую надо переместить, если не задан, то текущая.

Возвращаемое значение: новая позиция строки

Описание:

Метод СдвинутьСтроку перемещает строку таблицы значений на новую позицию.

Пример:

Табл.СдвинутьСтроку(3, 5);



СдвинутьЗначение


Переместить значение списка значений на новую позицию.

Синтаксис:

СдвинутьЗначение(<Колич>, <НомерПоз>)

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

MoveValue

Параметры:

<Колич>

Числовое выражение — количество позиций, на которое надо переместить значение. Если число положительное, то значение сдвигается вниз, если отрицательное, то вверх.

<НомерПоз>

Номер позиции, значение которой надо перемес­тить.

Описание:

С помощью метода СдвинутьЗначение можно переместить значение спи­ска значений на новую позицию.

Пример:

Спис.СдвинутьЗначение(1, Поз);



СформироватьПозициюДокумента


Формирует позицию документа согласно переданным параметрам

Синтаксис 1:

СформироватьПозициюДокумента(<Докум>, <ФлагСмещения>)

Синтаксис 2:

СформироватьПозициюДокумента(<Дата>, <Час>, <Мин>, <Сек>, <ФлагКонцаСекунды>)

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

MakeDocPosition

Параметры:

<Докум>

Значение документа (или его позиция), позиция кото­рого определяется.

<ФлагСмещения>

Необязательный параметр. Число: -1 (минус единица) — предыдущая позиция. 1 — следующая позиция. 0 — текущая позиция. Значение по умолчанию — 0. Ис­пользование данного параметра позволяет получить предыдущую или последующую позицию от уже имеющейся позиции.

<Дата>

Значение типа «дата», на которую формируется пози­ция документа.

<Час>

Значение типа «число», которое определяет час, на который формируется позиция документа.

<Мин>

Значение типа «число», которое определяет минуту, на которую формируется позиция документа.

<Сек>

Значение типа «число», которое определяет секунду, на которую формируется позиция документа.

<ФлагКонцаСекунды>

Необязательный параметр. Число: 1 — позиция будет браться от следующей секунды. 0 — позиция от указан­ной секунды. Значение по умолчанию — 0.

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

Строковое значение — сформированная позиция документа (см. «Позиция документа»).

Описание:

Функция СформироватьПозициюДокумента формирует и возвращает по­зицию документа согласно переданным параметрам.

Пример:

ПозицияВыбДокум=СформироватьПозициюДокумента(ВыбДокумент);



Шаблон


Установить флаг добавления строк по шаблону.

Синтаксис:

Шаблон(<Флаг>)

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

Template

Параметры:

<Флаг>

Необязательный параметр. Числовое выражение: 1 — установить флаг добавления строк по шаблону, 0 — отменить.

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

Текущее числовое значение флага добавления строк по шаблону (на момент до исполнения метода).

Описание:

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

Пример:

ТекстДок = СоздатьОбъект("Текст");

ТекстДок.Открыть("catalog.txt");

ТекстДок.Шаблон(1);

ТекстДок.ЗаменитьСтроку(52, "[Услуга.Наименование],

                        арт.[Услуга.Код]......[Услуга.Цена]");

ТекстДок.Шаблон(0);

ТекстДок.ВставитьСтроку(53, "Вывоз мусора, 6321, 58.000");

ТекстДок.ТолькоПросмотр(1);

См. также: «Системные процедуры и функции», функция Шаблон



Шаблон


Сформировать строку по шаблону.

Синтаксис:

Шаблон(<Строка_шаблон>)

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

Template

Параметры:

<Строка_шаблон>

Строковое выражение, содержащее шаблон формирования результирующей строки.

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

Строковое значение.

Описание:

Функция Шаблон возвращает строковое значение, сформированное в соот­ветствии с заданным параметром <Строка_шаблон>, заменив в ней все встро­енные выражения, заключенные в квадратные скобки, на их строковые значе­ния.

Строковое значение параметра <Строка_шаблон> обрабатывается сле­дующим образом: символы "[" , "]" (квадратные скобки) являются специаль­ными символами, которые выделяют поля, содержащие встроенные выражения. Например:

Имя клиента [Имя], телефон: [Телефон]

После встроенного выражения может стоять символ "#", после которого следует Форматная_строка описанная в функции Формат. В этом случае в данное поле будет проставлен результат выражения, обработанный функцией Формат.

Пример:

Стр = Шаблон("Это название услуги: [Услуга.Наименование]");

//   выдает: "Это название услуги: Вывоз мусора"



ЩиринаТаблицы


Определить текущую ширину результирующей таблицы.

Синтаксис:

ЩиринаТаблицы()

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

TableWidth

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

Числовое значение, содержащее количество столбцов в результирующей таблице.

Описание:

Метод ШиринаТаблицы позволяет определить текущее количество столбцов в результирующей таблице.

Пример:

Шир = Таб.ШиринаТаблицы();



ШиринаСекции


Определить ширину секции таблицы-шаблона.

Синтаксис:

ШиринаСекции(<ИмяСекции>)

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

SectionWidth

Параметры:

<ИмяСекции>

Строковое выражение — название секции таблицы.

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

Числовое значение, содержащее количество столбцов в секции таблицы-шаблона.

Описание:

Метод ШиринаСекции позволяет определить количество столбцов в секции таблицы-шаблона.

Пример:

ШирС = Таб.ШиринаСекции("БоковикОтчета");



ШиринаСтолбца


Получить/установить ширину столбцов, проходящих через область.

Синтаксис:

ШиринаСтолбца(<Ширина>)

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

ColumnWidth

Параметры:

<Ширина>

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

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

Ширина столбцов области в стандартных символах (на момент до исполне­ния метода).

Описание:

Метод ШиринаСтолбца устанавливает ширину столбцов, проходящих через область.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.Открыть("tabl_l.mxl");

ВыбОбласть = Таб.Область("R8C4");

ВыбОбласть.Шрифт("Arial");

ВыбОбласть.РазмерШрифта(10);

ВыбОбласть.Подчеркнутый(1);

ВыбОбласть.ГоризонтальноеПоложение(3);

ВыбОбласть.Контроль(4);

ВыбОбласть.ШиринаСтолбца(13);



Шрифт


Получить/установить шрифт области.

Синтаксис:

Шрифт(<ИмяШрифта>)

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

Font

Параметры:

<ИмяШрифта>

Необязательный параметр. Строковое выражение, задающее имя шрифта или «имя, набор символов», где основные наборы символов: 204 — русский; 238 — европейский; 186 — балтийский; 161 — греческий; 162 — турецкий. Если параметр опущен, то шрифт области не изменяется.

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

Имя шрифта до исполнения метода.

Описание:

Метод Шрифт устанавливает шрифт области.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.Открыть("tabl_l.mxl");

ВыбОбласть = Таб.Область("R8C4");

ВыбОбласть.Шрифт("Arial, 204");



Сигнал


Вывести звуковой сигнал.

Синтаксис:

Сигнал()

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

Веер

Описание:

Процедура Сигнал издает короткий звуковой сигнал.

Пример:

Сигнал();



Симв


Преобразовать код символа в символ.

Синтаксис:

Симв(<КодСимвола>)

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

Chr

Параметры:

<КодСимвола>

Числовое выражение.

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

Строковое значение.

Описание:

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

Пример:

Буква_я = Симв(255);



СимволТабуляции


Содержит строковое значение символа табуляции.

Синтаксис:

СимволТабуляции

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

TabSymbol

Описание:

Системная константа СимволТабуляции содержит строковое значение символа табуляции. Данная системная константа применяется для вставки или поиска в тексте строкового значения символа табуляции.

Пример:

Выв=СоздатьОбъект("Текст");

Выв.ДобавитьСтроку("Страница 1");

Выв.ДобавитьСтроку(СимволТабуляции);

Выв.ДобавитьСтроку("Страница 2");

Выв.Показать();