РассчитатьРегистрыПо
Рассчитать все регистры на конец события.
Синтаксис:
РассчитатьРегистрыПо(<ГраницаРасчета>, <ГрафаОтбора>)
Англоязычный синоним:
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);
Таб.Показать("Продажа товаров ", "");
КонецПроцедуры
Товар"Продано |
Далее, допустим, мы хотим получить более подробный отчет по конкретному товару, так, чтобы указав на товар в отчете, и дважды нажав кнопку мыши, мы получали отчет по продажам именно этого товара с точностью до каждого клиента. Для этого откроем в Конфигураторе редактор таблицы нашего отчета и в свойствах ячейки (Свойства ячейки — Текст — поле: Значение), отображающей наименование товара, проставим значение ячейки. («Запрос.Товар»)
Далее, в программном модуле напишем процедуру формирования дополнительного отчета.
Продолжение примера:
//*********************************
// Процедура дополнительного отчета
Процедура ПродТовар(ВТовар)
Перем Запрос, ТекстЗапроса, Таб;
ДатаКон = ДатаКонца;
Если ДатаКон >= ПолучитьДатуТА() Тогда
ДатаКон = Дата(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");
Выв.Показать();