СтрКоличествоСтрок
Определить число строк в многострочном тексте.
Синтаксис:
СтрКоличествоСтрок(<Строка>)
Англоязычный синоним:
StrLineCount
Параметры:
<Строка> |
Строковое выражение, в котором строки разделены символами перевода строк. |
Возвращаемое значение:
Число строк в многострочном тексте.
Описание:
Функция СтрКоличествоСтрок вычисляет число строк в многострочном тексте (строки разделены символами перевода строк).
Пример:
Рез = СтрКоличествоСтрок(ДлТекст);
См. также: РазделительСтрок
Строка
Преобразовать параметр в строку.
Синтаксис:
Строка(<Параметр>)
Англоязычный синоним:
String
Параметры:
<Параметр> |
Выражение. |
Возвращаемое значение:
Строковое значение.
Описание:
Функция Строка преобразует параметр в строку, руководствуясь принятыми правилами преобразования типов и возвращает значение строки.
Стр = Строка(ДатаРожд + 1);
СтрокаДействийФормы
Содержит командную строку системных действий в кнопке формы.
Синтаксис:
СтрокаДействийФормы
Англоязычный синоним:
StringFormActions
Описание:
Атрибут СтрокаДействийФормы предоставляет доступ к значению командной строки кнопки формы (строка системных команд в свойствах кнопки после символа #). Данный атрибут доступен в процедуре, вызываемой перед знаком # из строки формулы кнопки (кнопка — «Свойства» — «Дополнительные» — «Формула»).
Доступ к данному атрибуту возможен только в контексте Модуля формы.
Пример:
* Допустим, что в некоторой форме в свойствах какой-либо кнопки записана следующая формула:
УстКоманд() # Записать? Провести? Закрыть?
В программном модуле можно записать процедуру, которая будет устанавливать значение командной строки действий:
Процедура УстКоманд()
Если НазваниеНабораПрав() = "Продавец" Тогда
СтрокаДействийФормы = "Записать? Закрыть?";
ИначеЕсли НазваниеНабораПрав() = "Менеджер" Тогда
СтрокаДействийФормы = "Записать? Провести? Закрыть?";
Иначе
СтрокаДействийФормы = "Закрыть?";
КонецПроцедуры
Строковые константы
Константа строкового типа представляется как любая последовательность символов, заключенных в двойные кавычки.
Пример:
"Ура заработала"
"Это самая правильная строка"
" "
Кроме того, допускаются «многострочные» строковые константы. В исходном тексте многострочные константы могут задаваться двумя способами:
Первый вариант: В данном случае между фрагментами, представляющими отдельные строки многострочной константы, не должно встречаться никаких символов, за исключением пробелов, переводов строки и строк комментариев.
Пример:
Стр = "Первая строка" // пример строковой константы
"Вторая строка"
"Третья строка";
Второй вариант: В данном примере значение константы полностью идентично предыдущему примеру. Отличие заключается в том, что каждая отдельная составляющая не замыкается кавычками, а на каждой последующей строке помещен символ переноса строки "|". В этом варианте комментарии между открывающей и закрывающей кавычками не допускаются.
Пример:
Стр = "Первая строка
|Вторая строка
|Третья строка";
Строковые выражения
Строковые выражения могут использоваться в качестве параметров методов, процедур и функций, либо в правой части оператора присваивания. Строковым выражением может быть отдельная строка или сложное сочетание строковых констант, функций и операций. То, что выражение является строковым, определяется по первому операнду. В случае несовпадения типа второго и последующих операндов со строковым типом, их значения преобразуются к требуемому типу в соответствии с правилами преобразования типов. Чтобы указать, что выражение является строковым, можно, например, начинать его с пустой строки символов "".
Пример:
Стр = СокрП("Фамилия" + ", " + Имя + ", " + " отчество");
Стр1 = "" + Докум.Цена + Валюта.СокрНаим;
СтрПолучитьСтроку
Получить строку из многострочного текста по номеру.
Синтаксис:
СтрПолучитьСтроку(<Текст>, <НомерСтроки>)
Англоязычный синоним:
StrGetLine
Параметры:
<Текст> |
Строковое выражение, в котором строки разделены символами перевода строк. |
<НомерСтроки> |
Числовое выражение, начальный номер символа. |
Возвращаемое значение:
Строковое значение.
Описание:
Функция СтрПолучитьСтроку возвращает строку с номером <НомерСтроки> из многострочного текста <Текст> (строки разделены символами перевода строк).
Пример:
ВтораяСтрока = СтрПолучитьСтроку(ДлТекст, 2);
См. также: РазделительСтрок
Структура программного модуля
Структуру программного модуля можно подразделить на следующие разделы:
раздел определения переменных;
раздел процедур и функций;
раздел основной программы.
В конкретном программном модуле любой из разделов может отсутствовать.
Раздел определения переменных размещается от начала текста модуля до первого оператора Процедура или оператора Функция или любого исполняемого оператора. В этом разделе могут находиться только операторы объявления переменных Перем.
Раздел процедур и функций размещается от первого оператора Процедура или оператора Функция до любого исполняемого оператора вне тела описания процедур или функций.
Раздел основной программы размещается от первого исполняемого оператора вне тела процедур или функций до конца модуля. В этом разделе могут находиться только исполняемые операторы. Раздел основной программы исполняется в момент запуска модуля на выполнение (см. «Виды программных модулей»). Обычно в разделе основной программы имеет смысл размещать операторы инициализации переменных какими-либо конкретными значениями, которые необходимо провести до первого вызова любой из процедур или функций модуля.
Структура запросов и методика их использования
Использование запросов позволяет легко строить простые отчеты и облегчает построение сложных отчетов. При построении сложных отчетов использование запросов может существенно снизить трафик сети, т.к. однажды выбранная лри исполнении запроса информация, хранящаяся во временном наборе данных на локальном компьютере, может многократно использоваться.
Запросы можно использовать не только для построения отчетов, но и для реализации других процедур конфигурации, требующих получения из БД некой сводной информации. Например, реализация алгоритма списания стоимости товара по методам FIFO или LIFO.
Работа с запросами предполагает следующий порядок:
при помощи функции СоздатьОбъект создается объект типа «Запрос» и ссылка на него присваивается какой-либо переменной. Далее обращение к запросу производится посредством этой ссылки.
после создания переменной типа «Запрос» следует обращение к методу Выполнить, которому в качестве параметра передается текст запроса, написанный на специальном языке запросов (см. главу «Язык запросов»). Метод Выполнить анализирует текст запроса, выполняет в соответствии с ним выборку данных и формирует временный выходной набор данных (выборку).
после этого организуется циклическая обработка сформированного временного набора данных (выборки) с целью получения требуемого отчета.
В данном разделе мы рассмотрим структуру создаваемого запросом временного набора данных и работу методов запросов по выборке информации из этого временного набора.
Дальнейшее описание проведем на простом примере: необходимо получить отчет о количестве товаров, хранящихся на складах. Текст процедуры, выполняющей эту операцию приведен ниже.
Пример:
НашЗапрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|СКЛАД = Регистр.ТоварныйЗапас.Склад;
|ТОВАР = Регистр.ТоварныйЗапас.Товар;
|КОЛИЧЕСТВО = Регистр.ТоварныйЗапас.Количество;
|Группировка ТОВАР Упорядочить По ТОВАР.Код;
|Группировка СКЛАД Упорядочить По СКЛАД.Код;
|Функция КОЛ = КонОст(КОЛИЧЕСТВО);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если НашЗапрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Структура временного набора данных, созданная запросом "НашЗапрос" после его выполнения, представлена на следующем рисунке:
Товар |
Склад |
Кол. |
|
Итог общий |
X |
X |
62 |
Итог по товару Стол |
Стол |
X |
35 |
Строка по товару Стол на складе Первый |
Стол |
Первый |
10 |
Строка по товару Стол на складе Второй |
Стол |
Второй |
20 |
Строка по товару Стол на складе Третий |
Стол |
Третий |
5 |
Итог по товару Стул |
Стул |
X |
9 |
Строка по товару Стул на складе Второй |
Стул |
Второй |
7 |
Строка по товару Стул на складе Третий |
Стул |
Третий |
2 |
Итог по товару Шкаф |
Шкаф |
X |
18 |
Строка по товару Шкаф на складе Первый |
Шкаф |
Первый |
8 |
Строка по товару Шкаф на складе Третий |
Шкаф |
Третий |
10 |
Далее, допустим, в цикле мы проходим только по самой внешней группировке запроса: "Товар". В теле этого цикла объект "НашЗапрос" позиционируется во временном наборе данных на записи, содержащие итоги по каждому конкретному товару, поэтому в теле этого цикла мы можем использовать итоги по товарам.
После завершения цикла по самой внешней группировке, объект "НашЗапрос" снова позиционируется на первой записи временного набора данных, где содержится общий итог по запросу. Поэтому, общие итоги по запросу можно использовать в двух местах: до и после цикла по самой внешней группировке запроса.
Продолжение примера:
//Итог общий
Пока НашЗапрос.Группировка("Товар") = 1 Цикл
//Итог по товару
КонецЦикла;
//Итог общий
Поскольку после первого просмотра временного набора данных (как мы это сделали выше) объект "НашЗапрос" снова спозиционирован на первой записи, то можно запустить просмотр еще раз.
Допустим, теперь нам надо просмотреть в цикле всю информацию по внешней ("Товар") и вложенной группировке запроса ("Склад"). В теле цикла по внешней группировке ("Товар") объект "НашЗапрос" позиционируется во временном наборе данных на записи, содержащие итоги по каждому конкретному товару, поэтому в теле этого цикла мы можем использовать итоги по товарам.
В теле цикла по вложенной группировке ("Склад") объект "НашЗапрос" позиционируется во временном наборе данных на записи, содержащие строки по каждому конкретному товару на конкретном складе, поэтому в теле этого цикла мы можем использовать данные о количестве товара на складе.
После завершения цикла по вложенной группировке ("Склад"), объект "НашЗапрос" снова позиционируется на записи временного набора данных, где содержится общий итог по конкретному товару. Поэтому, общие итоги по конкретному товару можно использовать в двух местах: до и после цикла по вложенной группировке ("Склад").
После завершения цикла по самой внешней группировке, объект "НашЗапрос" снова позиционируется на первой записи временного набора данных, где содержится общий итог по запросу. Поэтому, общие итоги по запросу можно использовать в двух местах: до и после цикла по самой внешней группировке запроса.
Продолжение примера:
//Итог общий
Пока НашЗапрос.Группировка("Товар") = 1 Цикл
//Итог по товару
Пока НашЗапрос.Группировка("Склад") = 1 Цикл
//Строка по товару — складу
КонецЦикла;
//Итог по товару
КонецЦикла;
//Итог общий
После выхода из процедуры, где была определена переменная, содержащая объект типа «Запрос» (в нашем примере "НашЗапрос") или после уничтожения объекта типа «Запрос» (Наш3апрос = 0;), временный набор данных на локальной машине пользователя уничтожается.
Из приведенного выше примера можно сделать несколько важных заключений:
при просмотре временного набора данных, вложенность циклов просмотра должна точно повторять порядок группировок запроса (нельзя входить во вложенную группировку, не войдя в предыдущую);
допускается просматривать временный набор данных, опуская с некоторого уровня все вложенные (внутренние) группировки;
не следует прерывать последовательность просмотра временного набора данных (например, оператором Прервать;), если вы собираетесь использовать временный набор дальше или еще раз, т. к. в таком случае теряется точка позиционирования во временном наборе и продолжать просмотр невозможно;
Пример:
Пока Запрос.Группировка("Товар") = 1 Цикл
Если (Запрос.Товар = НужныйТовар) Тогда
Пока Запрос.Группировка("Отдел") = 1 Цикл
Если (Запрос.Отдел = НужныйОтдел) Тогда
Пока Запрос.Группировка("Сотрудник") = 1 Цикл
Если (Запрос.Сотрудник = НужныйСотрудник) Тогда
Пока Запрос.Группировка("Док") = 1 Цикл
Док = Запрос.Док;
Если Запрос.ПрихКол <> 0 Тогда
Таб.ВывестиСекцию("Приход");
ИначеЕсли Запрос.РасхКол <> 0 Тогда
Приращение = Запрос.РасхКол;
Таб.ВывестиСекцию("Расход");
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
СтрЗаменить
Заменить вхождение подстроки другим значением.
Синтаксис:
СтрЗаменить(<СтрИсточник>, <СтрПодстрока>, <СтрЗамены>)
Англоязычный синоним:
StrReplace
Параметры:
<СтрИсточник> |
Строковое выражение места поиска. |
<СтрПодстрока> |
Строковое выражение шаблона поиска. |
<СтрЗамены> |
Строковое выражение замены. |
Возвращаемое значение:
Результирующая строка.
Описание:
Функция СтрЗаменить находит вхождение строки <СтрПодстрока> как подстроки в <СтрИсточник> и заменяет его на <СтрЗамены>. Результирующую строку возвращает в качестве собственного значения. Исходная строка не изменяется.
Пример:
Результат = СтрЗаменить(СтрИсточник, СтрПодстрока, СтрЗамены);
<Субконто>
Субконто дебета/кредита проводки (корреспонденции) операции.
Синтаксис:
<Субконто> |
Идентификатор вида субконто, как он задан в конфигураторе. |
Описание:
Атрибут <Субконто> служит для доступа к значению субконто дебета/кредита проводки (корреспонденции) операции. В конкретном случае обращение к субконто для дебета/кредита определяется счетом дебета/кредита, то есть заданными для него видами субконто по которым ведется аналитический учет по этому счету.
Пример:
Опер = СоздатьОбъект("Операция");
Опер.НайтиОперацию(ВыбрДокумент);
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку() = 1 Цикл
Если Опер.Дебет.Счет=СчетПоКоду("60") Тогда
Сообщить("Субконто " + Опер.Дебет.Организация);
КонецЕсли;
КонецЦикла;
Обращение к субконто дебета/кредита проводки (корреспонденции) операции.
Синтаксис:
Субконто(<ПорядковыйНомерСубконто> | <ВидСубконто>, <Субконто>)
Англоязычный синоним:
Subconto
Параметры:
<ПорядковыйНомерСубконто> |
Необязательный параметр. Числовое выражение — порядковый номер субконто. По умолчанию 1. |
<ВидСубконто> |
Значение типа «Вид субконто». |
<Су6конто> |
Необязательный параметр. Значение субконто. Если параметр не задан — значение не изменяется. |
Возвращаемое значение:
Если указан порядковый номер вида субконто или вид субконто, метод возвращает значение субконто.
Описание:
К любому счету или субсчету в плане счетов может быть «прикреплено» до 5 видов субконто. Максимальное количество видов субконто, которое можно «прикрепить» к счету, устанавливается в конфигураторе при редактировании свойств планов счетов. Количество субконто, которое реально прикреплено к счету, не превышает установленного максимального количества.
Все виды субконто, прикрепленные к счету в плане счетов, имеют порядковые номера. Эти номера выдаются в названии колонок для видов субконто в окне редактирования плана счетов; «Субконто1», «Субконто2» ... «Субконто5».
Метод Субконто дебета/кредита проводки служит для получения и установки значения субконто по его номеру или виду соотвественно в дебете или в кредите проводки (коррепспонденции) операции.
Возможность использования субконто конкретного вида или номера определяется счетом дебета/кредита проводки.
Если при использовании метода Субконто первым параметром передается порядковый номер субконто или вид субконто, то метод возвратит значение субконто, имеющего этот номер.
Если вторым параметром передается значение субконто, метод присваивает указаное значение виду субконто проводки.
Пример:
Опер = СоздатьОбъект("Операция");
Опер.НайтиОперацию(ВыбрДокумент);
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку() = 1 Цикл
Для Инд = 1 По Опер.Дебет.Счет.КоличествоСубконто() Цикл
Сообщить("Субконто " + Опер.Дебет.Субконто(Инд));
КонецЦикла;
КонецЦикла;
Субконто, соответствующее текущему итогу.
Синтаксис:
Субконто(<Номер> | <ВидСубконто>)
Англоязычный синоним:
Subconto
Параметры:
<Номер> |
Необязательный параметр. Число — номер выборки субконто. |
<ВидСубконто> |
Необязательный параметр. Значение типа «Вид субконто». |
Возвращаемое значение:
Значение субконто, соответствующее текущему итогу.
Описание:
Метод Субконто служит для получения значения субконто, соответствующего текущему итогу.
Метод применяется для получения текущего сукбонто при использовании методов ВыбратьСубконто и ПолучитьСубконто.
Пример:
БухИтоги.ИспользоватьСубконто(ВидыСубконто.Товары, , 1);
БухИтоги.ВыполнитьЗапрос(ДатаНач, ДатаКон);
БухИтоги.ВыбратьСубконто();
Пока БухИтоги.ПолучитьСубконто() = 1 цикл
Сообщить(БухИтоги.Субконто());
КонецЦикла;
Сумма
Сумма выбранной проводки (корреспонденции) операции.
Синтаксис:
Сумма
Англоязычный синоним:
Sum
Значение:
Значение типа «Число».
Описание:
Атрибут Сумма служит для обращения к сумме выбранной проводки (корреспонденции) операции.
Перед обращением к атрибуту конкретной проводки эта проводка должна быть выбрана с помощью методов ВыбратьПроводки, ПолучитьПроводку или создана при помощи метода НоваяПроводка. В модулях форм «Операции» и «Журнал проводок» текущая проводка определяется положением курсора.
Пример:
Опер = СоздатьОбъект("Операция");
Опер.НайтиОперацию(ВыбрДокумент);
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку() = 1 Цикл
Сообщить("Сумма " + Опер.Сумма);
КонецЦикла;
СуммаОперации
Сумма операции.
Синтаксис:
СуммаОперации
Англоязычный синоним:
OperSum
Значение:
Значение типа «Число».
Описание:
Атрибут СуммаОперации служит для обращения к сумме операции. Сумма операции является положительным или отрицательным числом. Сумма операции предназначена лишь для иллюстрирования денежного выражения операции и не влияет на бухгалтерские итоги. Длина и точность суммы операции задается конфигураторе при редактировании свойств объекта метаданных «Операция».
Пример:
Опер = СоздатьОбъект("Операция");
Опер.НайтиОперацию(ВыбрДокумент);
Сообщить(Опер.СуммаОперации);
СуществуетФайл
Проверяет существование файла.
Синтаксис:
Существуетфайл(<ИмяФайла>)
Англоязычный синоним:
ExistFile
Параметры:
<ИмяФайла> |
Строковое выражение с именем файла. |
Возвращаемое значение:
Число: 1 — файл существует; 0 — не существует.
Описание:
Метод СуществуетФайл проверяет существование файла.
Пример:
Процедура СущФ(ИмяФайла)
Если ФС.СуществуетФайл(ИмяФайла) = 1 Тогда
Сообщить("Файл " + ИмяФайла + " — существует");
КонецЕсли;
КонецПроцедуры
СуществуетОперация
Устанавливает (возвращает) признак существования операции у документа.
Синтаксис:
СуществуетОперация(<Признак>)
Англоязычный синоним:
OperExist
Параметры:
<Признак> |
Числовое выражение: 1 — существует операция, 0 — не существует операции. |
Возвращаемое значение:
Числовое значение — текущее значение признака: 1 — у документа существует операция; 0 — у документа не существует операции.
Описание:
В метаданных для конкретного вида документа (имеющего признак «Бухгалтерский учет») устанавливается режим записи операции. Операция может записываться для документов данного вида в режимах: «Всегда», «Выборочно» и «Только при проведении».
Метод СуществуетОперация применяется в случае использования режима «Выборочно». Он устанавливает признак наличия операции у конкретного документа. Данная возможность позволяет записывать операцию для документов конкретного вида в зависимости от некоторых условий. Для режимов записи операции «Всегда» и «Только при проведении» данный метод смысла не имеет.
Пример:
* Для накладной операция будет записываться только если отгрузка ведется с основного склада.
Процедура ПриЗаписи()
Если Склад = ОснСклад Тогда
СуществуетОперация(1);
Иначе
СуществуетОперация(0);
КонецЕсли;
КонецПроцедуры
Свернуть
Свернуть таблицу значений но соответствующим значениям колонок.
Синтаксис:
Свернуть(<ГруппКолонки>, <СуммКолонки>)
Англоязычный синоним:
GroupBy
Параметры:
<ГруппКолонки> |
Группировочные колонки (номера или идентификаторы колонок через запятую), по которым группировать данные. |
<СуммКолонки> |
Суммируемые колонки (номера или идентификаторы колонок через запятую), по которым суммировать данные. |
Описание:
Метод Свернуть позволяет свернуть таблицу значений по соответствующим значениям колонок, т. е. заменяет на одну строку все дублирующие (по значениям группировочных колонок) строки, суммируя значения но суммируемым колонкам.
Пример:
Табл.Свернуть("1,2,3,4", "5,6,7");
СвободноеМестоНаДиске
Определить размер свободного дискового пространства.
Синтаксис:
СвободноеМестоНаДиске(<ИмяДиска>)
Англоязычный синоним:
GetDiskFreeSpace
Параметры:
<ИмяДиска> |
Строковое выражение с именем диска. |
Возвращаемое значение:
Численое значение — размер свободного дискового пространства в байтах.
Описание:
Метод СвободноеМестоНаДиске возвращает численое значение размера
свободного дискового пространства.
Пример:
* В данном примере приведена процедура определения свободного дискового пространства диска С:
Процедура РазмД()
Рез = ФС.СвободноеМестоНаДиске("С:");
КонецПроцедуры
СводныеИтоги
Извлечь сводные итоги ресурсов оборотного регистра.
Синтаксис:
СводныеИтоги(<Измерен1>, <Измерен2>...)
Англоязычный синоним:
ConsolidatedTotals
Параметры:
<Измерен1>, <Измерен2>... |
Выражения со значениями измерений регистра. |
Описание:
Метод СводныеИтоги извлекает по переданным в качестве параметров измерениям сводные итоги всех ресурсов оборотного регистра. Полученные ресурсы затем можно считывать из атрибутов регистра. Метод работает аналогично процедуре Итоги, однако здесь могут быть заданы не все значения измерений, а только несколько, но обязательно в правильной последовательности, соответствующей структуре измерений данного регистра, как она задана в конфигураторе. Измерения могут задаваться с пропусками (неуказанное значение -просто запятая), фиксируются только указанные измерения.
Данный метод используется только для оборотного регистра.
Пример:
Регистр.ОборотыТоваров.ИспользоватьПериод(Год);
Регистр.ОборотыТоваров.СводниеИтоги(Товар, );
ПолныйОбТов = Регистр.ОборотыТоваров.ОборотТовара;
СводныеОстатки
Извлечь сводные ресурсы по регистру.
Синтаксис:
СводныеОстатки(<Измерен1>, <Измерен2>...)
Англоязычный синоним:
ConsolidatedRests
Параметры:
<Измерен1>, <Измерен2>... |
Выражения со значениями измерений регистра. |
Описание:
Метод СводныеОстатки извлекает по переданным в качестве параметров измерениям все ресурсы по регистру. Полученные ресурсы затем можно считывать из атрибутов регистра. Метод работает аналогично процедуре Остатки, однако здесь могут быть заданы не все значения измерений, а только несколько, но обязательно в правильной последовательности, соответствующей структуре измерений данного регистра, как она задана в конфигураторе. Измерения могут задаваться с пропусками (неуказанное значение — просто запятая), фиксируются только указанные измерения.
Данный метод используется только для регистров остатков.
Пример:
* Для регистра с измерениями «Товар», «Склад», «МОЛ» запись
Рег.СводныеОстатки(Тов1, , );
означает, что ресурсы будут получены только по одному товару (Тов1), но по всем складам и всем МОЛам.
*
Процедура ПолучитьСводныеОстатки(Товар, ОстатокТовара, Стоимость);
Регистр.УчетТовара.СводныеОстатки(Товар, );
ОстатокТовара = Регистр.УчетТовара.ОстаткиТовара;
Стоимость = Регистр.УчетТовара.СтоимостьТовара;
КонецПроцедуры
СводныйИтог
Возвратить сводный итог ресурса оборотного регистра.
Синтаксис:
СводныйИтог(<Измерен1>, <Измерен2>..., <ИмяРесурса>)
Англоязычный синоним:
ConsolidatedTotal
Параметры:
<Измерен1>, <Измерен2>... |
Выражения со значениями измерений регистра. |
<ИмяРесурса> |
Строковое выражение, содержащее название требуемого ресурса регистра, как оно названо в конфигураторе. |
Возвращаемое значение:
Численое значение сводного итога заданного ресурса регистра.
Описание:
Метод СводныйИтог возвращает сводный итог ресурса <ИмяРесурса> оборотного регистра. Данный метод работает аналогично методу Итог, однако здесь могут быть заданы не все значения измерений, а только несколько, но обязательно в правильной последовательности, соответствующей структуре измерений данного регистра, как она задана в конфигураторе. Измерения могут задаваться с пропусками (неуказанное значение — просто запятая), фиксируются только указанные измерения.
Данный метод используется только для оборотного регистра.
Пример:
Функция ПолучитьСводныйИтог(Товар, Год);
Регистр.ОборотыТоваров.ИспользоватьПериод(Год);
Возврат Регистр.ОборотыТоваров.СводныйИтог(Товар, , "ОборотТовара");
КонецФункции
СводныйОстаток
Возвратить сводный остаток ресурса по регистру
Синтаксис:
СводныйОстаток(<Измерен1>, <Измерен2>..., <ИмяРесурса>)
Англоязычный синоним:
ConsolidatedRest
Параметры:
<Измepeнl>, <Измepeн2>... |
Выражения со значениями измерений регистра. |
<ИмяРесурса> |
Строковое выражение, содержащее название требуемого ресурса регистра, как оно названо в конфигураторе. |
Возвращаемое значение:
Численное значение сводного остатка заданного ресурса регистра.
Описание:
Метод СводныйОстаток возвращает сводный остаток ресурса <ИмяРесурса> по регистру. Данный метод работает аналогично методу Остаток, однако здесь могут быть заданы не все значения измерений, а только несколько, но обязательно в правильной последовательности, соответствующей структуре измерений данного регистра, как она задана в конфигураторе. Измерения могут задаваться с пропусками (неуказанное значение — просто запятая), фиксируются только указанные измерения.
Данный метод используется только для регистров остатков.
Пример:
* Для регистра с измерениями «Товар», «Склад», «МОЛ» запись
Рег.СводныйОстаток(Тов1, , "ОстатокТовара");
означает, что ресурс «ОстатокТовара» будет получен только по одному товару (Тов1), но по всем складам и всем МОЛам.
*
Процедура ПолучитьСводныйОстаток(Товар, Ост);
Ост = Регистр.УчетТовара.СводныйОстаток(Товар, , "ОстаткиТовара");
КонецПроцедуры
Сжать
Сжать базу, убрать удаленные записи.
Синтаксис:
Сжать()
Англоязычный синоним:
Pack
Описание:
Метод Сжать уменьшает размер файла базы данных, убирая записи, помеченные как удаленные.
Пример:
Процедура СжатьДБ()
Если Вопрос("Уничтожить записи, помеченные как удаленные?", 1, 5) = 1 Тогда
ДБФ.Сжать();
КонецЕсли;
КонецПроцедуры
См. также: Удалить, Восстановить
Таблица
Объект агрегатного типа «Таблица».
Синтаксис:
Таблица
Англоязычный синоним:
Table
Описание:
Атрибут Таблица (только для чтения) представляет собой ссылку на объект типа «Таблица». Доступ к данному атрибуту возможен только в контексте Модуля формы отчета или обработки. При настройке формы отчета (обработки), если табличный документ размещен непосредственно в форме (для этого в диалоге, вызываемом пунктом «Свойства формы» меню «Действия» в параметре «Использовать таблицу» выбирается вариант «Пустую» или «Для ввода данных»), то доступ к такому объекту осуществляется через атрибут контекста формы отчета (обработки) Таблица.
Атрибуты и методы объекта «Таблица» описаны в разделе «Работа с таблицами» и позволяют в программном модуле управлять процессом формирования и визуального отображения таблицы в целом, а также изменять свойства визуального отображения отдельных областей таблицы.
В тексте программного модуля через точку после имени атрибута «Таблица» можно записывать адреса областей таблицы, а далее через точку можно вызывать методы управления свойствами этих областей.
Пример:
Таблица.ИсходнаяТаблица("price");
Таблица.Вывести();
Таблица.ТолькоПросмотр(0);
Таблица.Показать("Каталог", "Catalog.mxl");
Таблица.ТолькоПросмотр(1);
Пример:
ВыбОбласть = Таблица.Область("R8C4");
ВыбОбласть.Шрифт("Arial");
ВыбОбласть.РазмерШрифта(10);
ВыбОбласть.Подчеркнутый(1);
ВыбОбласть.ГоризонтальноеПоложение(3);
ВыбОбласть.Контроль(4);
ВыбОбласть.ЦветФона(34, 126, 211);
См. также: разд. «Работа с таблицами»
Таблица, структура таблицы, файл базы данных
Весь справочник целиком в терминах баз данных называется таблицей. Состав входящих в таблицу полей определяет структуру таблицы, а состав входящих в таблицу записей — ее содержание. Каждая запись в таблице состоит из того же набора полей, что и таблица целиком, поэтому иногда употребляется термин структура записи. Это понятие адекватно структуре таблицы, хотя употребление первого термина представляется более корректным, т.к. таблица имеет структуру независимо от того, имеется ли в ней хотя бы одна запись.
Реализация баз данных формата DBF подразумевает, что каждая таблица хранится в отдельном файле. Поэтому в дальнейшем мы будем применять термин «файл базы данных» или «файл БД», имея в виду таблицу базы данных.
ТекКаталог
Возвращает текущий каталог файлов.
Синтаксис:
ТекКаталог()
Англоязычный синоним:
GetCurrentDirectory
Возвращаемое значение:
Строковое значение имени текущего каталога файлов.
Описание:
Метод ТекКаталог возвращает строковое значение имени текущего каталога файлов.
Пример:
ТекКат = ФС.ТекКаталог();
См. также: УстТекКаталог
Текст
Прочитать/установить значение текста области.
Синтаксис:
Текст
Англоязычный синоним:
Text
Описание:
Атрибут Текст позволяет прочитать\установить значение текста области (аналогично тому, как в конфигураторе интерактивно задают значение формулы в свойствах ячейки талины «Свойства»- закладка «Текст»).
Пример:
Таб = СоздатьОбъект("Таблица");
Таб.Открыть("tabl_l.mxl");
ВыбОбласть = Таб.Область("R1C1");
ВыбОбласть.Текст = "Товарный отчет";
ТекущаяДата
Возвратить текущую дату.
Синтаксис:
ТекущаяДата()
Англоязычный синоним:
CurDate
Возвращаемое значение:
Результирующая дата.
Описание:
Функция ТекущаяДата возвращает текущую (системную) дату. Возвращаемое значение — результирующая дата.
Пример:
ДатаТекущая = ТекущаяДата();
ТекущаяКолонка
Установить/определить текущую колонку таблицы в элементе диалога типа «ТаблицаЗначений».
Синтаксис:
ТекущаяКолонка(<НоваяКолонка>, <ТекущаяКолонка>)
Англоязычный синоним:
CurrentColumn
Параметры:
<НоваяКолонка> |
Необязательный параметр. Номер или идентификатор колонки для элемента диалога типа «ТаблицаЗначений», на которую требуется установить курсор. Если параметр не задан, то текущая колонка в поле диалога не меняется. |
<ТекущаяКолонка> |
Необязательный параметр. Идентификатор переменной, куда система возвращает номер текущей колонки. |
Возвращаемое значение:
Идентификатор текущей колонки поля диалога (до его изменения) или "" (пустая строка), если ее нет.
Описание:
Метод ТекущаяКолонка в тексте программного модуля можно использовать синтаксически как функцию или процедуру. Данный метод позволяет установить и/или считать текущее положение курсора в элементе диалога типа «ТаблицаЗначений».
Данный метод можно использовать только для объектов, которые созданы при помощи визуальных средств конфигуратора (в форму вставлены элементы диалога «ТаблицаЗначений», а идентификаторы этих элементов доступны в контексте программного модуля этой формы как уже существующие объекты типа «ТаблицаЗначений»).
Пример:
Перем НомКолонки;
ТаблДиалога.ТекущаяКолонка(2, НомКолонки);
ТекущаяКолонка
Возвращает идентификатор текущей колонки многострочной части.
Синтаксис:
ТекущаяКолонка()
Англоязычный синоним:
CurrentColumn
Возвращаемое значение:
Строковое значение — идентификатор текущей колонки многострочной части.
Описание:
Метод ТекущаяКолонка возвращает идентификатор текущей колонки многострочной части.
Доступ к данному методу возможен только в контексте Модуля формы.
Пример:
ИдТекКолонки = Форма.ТекущаяКолонка();
ТекущаяСтрока
Установить/определить текущий элемент списка в элементе диалога типа «Список» или «Поле со списком».
Синтаксис:
ТекущаяСтрока(<ИндексСтроки>)
Англоязычный синоним:
CurSel
Параметры:
<ИндексСтроки> |
Необязательный параметр. Числовое выражение с задаваемым индексом строки для элемента диалога типа «Список» или «Поле со списком», на которое требуется установить курсор. Если параметр не задан, то положение курсора в поле диалога не меняется. |
Возвращаемое значение:
Числовое значение, соответствующее индексу текущей строки поля диалога (до его изменения).
Описание:
Метод ТекущаяСтрока в тексте программного модуля можно использовать синтаксически как функцию или процедуру. Данный метод позволяет установить и/или считать текущее положение курсора в элементе диалога типа «Список» или «Поле со списком».
Данный метод можно использовать только для объектов, которые созданы при помощи визуальных средств конфигуратора (в форму вставлены элементы Диалога типа «Список» или «Поле со списком», а идентификаторы этих элементов доступны в контексте программного модуля этой формы как уже существующие объекты типа «СписокЗначений»).
Пример:
Список.ТекущаяСтрока(2);
ТекущаяСтрока
Установить/определить текущую строку таблицы в элементе диалога типа «ТаблицаЗначений».
Синтаксис:
ТекущаяСтрока(<ИндексСтроки>)
Англоязычный синоним:
CurrentLine
Параметры:
<ИндексСтроки> |
Необязательный параметр. Числовое выражение с задаваемым индексом строки для элемента диалога типа «ТаблицаЗначений», на которую требуется установить курсор. Если параметр не задан, то положение курсора в поле диалога не меняется. |
Возвращаемое значение:
Числовое значение, соответствующее индексу текущей строки поля диалога (до его изменения) или 0, если текущей строки нет.
Описание:
Метод ТекущаяСтрока в тексте программного модуля можно использовать синтаксически как функцию или процедуру. Данный метод позволяет установить и/или считать текущее положение курсора в элементе диалога типа «ТаблицаЗначений».
Данный метод можно использовать только для объектов, которые созданы при помощи визуальных средств конфигуратора (в форму вставлены элементы диалога «ТаблицаЗначений», а идентификаторы этих элементов доступны в контексте программного модуля этой формы как уже существующие объекты типа «ТаблицаЗначений»).
Пример:
ТаблДиалога.ТекущаяСтрока(2);
ТекущаяЗапись
Возвращает значение текущей записи журнала расчетов.
Синтаксис:
ТекущаяЗапись()
Англоязычный синоним:
CurrentRecord
Возвращаемое значение:
Значение текущей записи журнала расчетов.
Описание:
Метод возвращает ссылку на текущую запись (позиционированную в данный момент) журнала расчетов.
Возвращенное значение может, например, затем передаваться в качестве параметра методу журнала расчетов НийтиЗапись.
Пример:
ЖЗ = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ЖЗ.ВыбратьЗаписиПоОбъекту(Сотрудник, ДН, ДО);
Пока ЖЗ.ПолучитьЗапись() = 1 Цикл
Если ЖЗ.ПлатВедомость.Выбран() = 1 Тогда
ЗаписьЖР = ЖЗ.ТекущаяЗапись();
КонецЕсли;
КонецЦикла;
// теперь найдем запись и что-нибудь с ней поделаем
ЖЗ.НайтиЗапись(ЗаписьЖР);
ЖЗ.ПлатВедомость.Проведена = 1;
ЖЗ.ФиксироватьЗапись();
См. также: НайтиЗапись
ТекущееВремя
Возвратить текущее время
Синтаксис:
ТекущееВремя(<Час>, <Мин>, <Сек>)
Англоязычный синоним:
CurrentTime
Параметры:
<Час> |
Необязательный параметр. Имя переменной, куда система возвращает числовое значение часа текущего времени. |
<Мин> |
Необязательный параметр. Имя переменной, куда система возвращает числовое значение минут текущего времени. |
<Сек> |
Необязательный параметр. Имя переменной, куда система возвращает числовое значение секунд текущего времени. |
Возвращаемое значение:
Текущее время в текстовом виде.
Описание:
Функция ТекущееВремя возвращает текущее (системное) время в текстовом виде. Кроме того, если в качестве параметров при вызове функции передать переменные, то функция вернет в них числовые значения текущего часа, минуты, секунды.
Пример:
Сообщить("Сейчас " + ТекущееВремя());
ТекущийДокумент
Определить значение текущего документа.
Синтаксис:
ТекущийДокумент()
Англоязычный синоним:
CurrentDocument
Возвращаемое значение:
Значение текущего документа.
Описание:
Метод ТекущийДокумент возвращает значение позиционированного текущего документа (в целом, как объекта). Данный метод применяется, например, если нужно документ передать как параметр в вызове какого-либо метода или присвоить какому-либо реквизиту.
Пример:
Если Режим = "Подробный" Тогда
// используем объект типа «документ» неопределенного вида
Док = СоздатьОбъект("Документ");
// Откроем выборку документов
Док.ВыбратьДокументы(ДатаНачала, ДатаОкончания);
// Цикл выбора документов
Пока Док.ПолучитьДокумент() > 0 Цикл
// присвоим переменной ТекДок значение найденного документа
ТекДок = Док.ТекущийДокумент();
// ...
КонецЦикла;
КонецЕсли;
ТекущийДокумент
Синтаксис:
ТекущийДокумент
Англоязычный синоним:
CurrentDocument
Описание:
Атрибут (только для чтения) ТекущийДокумент содержит значение выбранного в журнале документа. Этот атрибут позволяет использовать в программе полученное значение документа. Поскольку данный атрибут фактически является ссылкой на позиционируемый объект типа «документ», то поэтому для передачи или запоминания самого значения текущего документа журнала рекомендуется использовать конструкцию
ТекущийДокумент.ТекущийДокумент()
Данный атрибут может использоваться только в локальном контексте программного модуля формы журнала документов.
Пример:
// только в модуле Формы журнала документа
// ———————————————————————————————————————
функция Операция()
Если Число(ТекущийДокумент.Выбран()) > 0 Тогда
Возврат "" + ТекущийДокумент.ДатаДок + " " + ТекущийДокумент.Вид;
Иначе
Возврат "Пусто";
КонецЕсли;
КонецФункции
//————————————————————————————————————————
Функция ЖурналСумма()
Если Число(ТекущийДокумент.Выбран()) > 0 тогда
Возврат Константа.МинЗарплата.Получить(ДатаДок);
Иначе
Возврат 0;
КонецЕсли;
КонецФункции
ТекущийДокумент
Возвратить значение документа, выполнившего движение регистра.
Синтаксис:
ТекущийДокумент()
Англоязычный синоним:
CurrentDocument
Возвращаемое значение:
Значение документа, который задал движение регистра.
Описание:
Метод ТекущийДокумент возвращает значение документа, который задал движение регистра. Метод используется после получения очередного движения регистра (см. методы ПолучитьДвижение и ПолучитьИтог).
Данный метод может использоваться только для переменных созданных функцией СоздатьОбъект.
Пример:
Рег = СоздатьОбъект("Регистр.Взаиморасчеты");
Рег.ВременныйРасчет();
Рег.УстановитьФильтр(Клиент, );
РассчитатьРегистрыНа(ДатаНачала);
Рег.ВыбратьДвиженияСОстатками(ДатаКонца);
Пока Рег.ПолучитьДвижение() = 1 Цикл
Прих = 0;
Расх = 0;
Если Рег.Приход = 1 Тогда
Прих = Рег.Долг;
Иначе
Расх = Рег.Долг;
КонецЕсли;
ТекущееСальдо = Рег.Остаток(Клиент, "Задолженность");
Док = Рег.ТекущийДокумент();
Таб.ВывестиСекцию("Документ");
КонецЦикла;
См. также: ПолучитьДвижение, НомерСтроки
ТекущийДокумент
Возвращает документ, который установил значение периодического реквизита справочника.
Синтаксис:
ТекущийДокумент()
Англоязычный синоним:
Current Document
Возвращаемое значение:
Документа, который задал значение периодического реквизита справочника.
Описание:
Метод ТекущийДокумент возвращает документ, который задал значение периодического реквизита справочника. Метод используется после получения очередного значения из выборки (см. метод ПолучитьЗначение).
Пример:
Процедура ПечатьИстории(Элем)
Если Элем.Выбран() = 0 Тогда
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ПечатьИстории");
Таб.ВывестиСекцию("Отчет");
Ист = СоздатьОбъект("Периодический");
// Просмотрим все периодические реквизиты справочника
Ист.ИспользоватьОбъект("", Элем);
Ист.ВыбратьЗначения();
Пока Ист.ПолучитьЗначение() = 1 Цикл
ДокИст = Ист.ТекущийДокумент();
Если ДокИст.Выбран() = 1 Тогда
// если значение задано документом
Таб.ВывестиСекцию("ПоДокументу");
Иначе
// если значение задано интерактивно
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЦикла;
Таб.Опции(0, 0, 0, 0);
Таб.ТолькоПросмотр(1);
Таб.Показать("Отчет");
КонецПроцедуры
См. также: УстановитьРеквизитСправочника
ТекущийИндекс
Установить/определить текущий индекс.
Синтаксис:
ТекущийИндекс(<НазваниеИндекса>)
Англоязычный синоним:
CurrentIndex
Параметры:
<НазваниеИндекса> |
Необязательный параметр. Строковое выражение с названием индекса. Если параметр опущен, изменения текущего индекса не происходит. |
Возвращаемое значение:
Строковое значение с названием текущего индекса (на момент до выполнения метода).
Описание:
Метод ТекущийИндекс устанавливает/определяет текущий индекс работы с базой. Установка текущего индекса работы с базой оказывает влияние на работу методов Найти, НайтиПоКлючу, Первая, Последняя, Следующая, Предыдущая.
Пример:
Процедура НайтиМладшийПоИндексу(Инд)
ИмяТекИнд = ДБФ.ТекущийИндекс(Инд);
ДБФ.Первая();
ДБФ.ТекущийИндекс(ИмяТекИнд);
КонецПроцедуры
ТекущийЭлемент
Получить значение элемента справочника.
Синтаксис:
ТекущийЭлемент()
Англоязычный синоним:
Currentltem
Возвращаемое значение:
Значение элемента справочника.
Описание:
Метод ТекущийЭлемент возвращает значение элемента справочника в целом, как объекта. Данный метод применяется, например, если нужно элемент справочника передать как параметр в вызове какого-либо метода или присвоить какому-либо реквизиту.
Пример:
// данная процедура присваивает некоторому реквизиту "Фирма"
// значение из справочника "Фирмы"
Процедура УстФирмы()
// Создадим объект требуемого справочника
Фрм = СоздатьОбъект("Справочник.Фирмы");
// Вызываем диалог выбора элемента справочника
Если Фрм.Выбрать("Выберите фирму", "") > 0 Тогда
Фирма = Фрм.ТекущийЭлемент();
КонецЕсли;
КонецПроцедуры
ТекущийОбъект
Возвращает значение текущего элемента справочника.
Синтаксис:
ТекущийОбъект()
Англоязычный синоним:
CurrentObj
Возвращаемое значение:
Значение текущего элемента справочника.
Описание:
Метод ТекущийОбъект возвращает значение текущего элемента справочника. Метод используется после получения очередного значения из выборки, особенно полезен при выборке по документу (см. методы ВыбратьПоДокументу, ПолучитьЗначение).
Пример:
Процедура ПечатьУстановокДокумента(Док)
// выведем все установки, которые произвел документ
Если Док.Выбран() = 0 Тогда
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ПечатьИстории");
Таб.ВывестиСекцию("Отчет");
Ист = СоздатьОбъект("Периодический");
Ист.ВыбратьПоДокумекту(Док);
Пока Ист.ПолучитьЗначение() = 1 Цикл
ИстОбъект = Ист.ТекущийОбъект();
Если ИстОбъект.Вид() = "Товары" Тогда
// если документом заданы изменения в справочнике Товары
Таб.ВывестиСекцию("ПоТовару");
ИначеЕсли ИстОбъект.Вид() = "Клиенты" Тогда
// если документом заданы изменения в справочнике Клиенты
Таб.ВывестиСекцию("ПоКлиенту");
КонецЕсли;
КонецЦикла;
Таб.Опции(0, 0, 0, 0);
Таб.ТолькоПросмотр(1);
Таб.Показать("Отчет");
КонецПроцедуры
См. также: УстановитьРеквизитСправочника, ВыбратьПоДокументу, ПолучитьЗначение
ТекущийОбъект
Значение встроенного объекта таблицы.
Синтаксис:
ТекущийОбъект
Англоязычный синоним:
CurrentObj
Описание:
Атрибут (только для чтения) ТекущийОбъект содержит значение встроенного объекта таблицы типа «Картинка», «Диаграмма» или «OLE объект». Он доступен только в выражении (и в теле процедур, которые вызываются в выражении), которое записывается в конфигураторе в свойствах встроенного объекта таблицы типа «Картинка», «Диаграмма» или «OLE объект» («Свойства» — «Дополнительныо» — «Текст»). Этот атрибут позволяет использовать в программном модуле полученное значение объекта для манипуляции с ним. Например, для взаимодействия с внешним приложением через механизм OLE Automation.
Пример:
* Допустим, в таблицу для построения диаграммы внедрен OLE-объект «MicrosoftGraf97». В свойствах этого объекта («Свойства» — «Дополнительные» — «Текст») в конфигураторе записано выражение:
ПостроитьГрафик(Таб.ТекущийОбъект, Запрос)
в программном модуле, в процедуре ПостроитьГрафик, можно записать алгоритм построения графика, непосредственно управляя внешним приложением MicrosoftGraf97.
Процедура ПостроитьГрафик(График, Запрос)
Datasheet = График.Application.Datasheet;
XCounter = 2;
YCounter = 2;
Пока Запрос.Группировка("Клиент") = 1 Цикл
Если Запрос.Клиент.ЭтоГруппа() = 1 Тогда
Продолжить;
КонецЕсли;
range = Datasheet.Cells(1, XCounter);
range.Value = Запрос.Клиент.Наименование;
Пока Запрос.Группировка("Товар") = 1 Цикл
range = Datasheet.Cells(YCounter, 1);
range.Value = Запрос.Товар.Наименование;
range = Datasheet.Cells(YCounter, XCounter);
range.Value = Запрос.ПродСум;
YCounter = YCounter+1;
КонецЦикла;
YCounter = 2;
XCounter = XCounter+l;
КонецЦикла;
КонецПроцедуры
Замечание. Следует отметить, что в процессе конфигурирования, когда в таблицу внедряется объект, он может быть визуально предварительно полностью настроен. В данном примере, при внедрении «MicrosoftGraf97» ему установили все параметры требуемой диаграммы: размеры, вид, необходимые надписи и т. п. Атрибут ТекущийОбъект содержит объект таким, как он настроен в конфигураторе, поэтому в режиме исполнения ему достаточно только передать актуальные данные для работы.
См. также: «Работа с Диаграммами», «Связь с внешними приложениями посредством механизмов OLE Automation»
ТекущийПериод
Возвращает текущий расчетный период журнала расчетов.
Синтаксис:
ТекущийПериод()
Англоязычный синоним:
CurrentPeriod
Возвращаемое значение:
Значение типа «Период журнала расчетов».
Описание:
Метод предназначен для определения текущего расчетного периода журнала расчетов.
Пример:
// Модуль формы журнала расчетов
Пер = ТекущийПериод();
// установим границу просмотра записей на два расчетных периода
ГраницаПросмотра(Пер.ПрибавитьПериод(-1));
ТекущийРеквизит
Возвращает наименование текущего реквизита справочника.
Синтаксис:
ТекущийРеквизит()
Англоязычный синоним:
CurrentAttrubute
Возвращаемое значение:
Строковое значение — наименование текущего реквизита справочника.
Описание:
Метод ТекущийРеквизит возвращает наименование текущего реквизита справочника. Если выборка производится по документу, то в возвращаемом значении сначала записано наименование справочника, а затем через точку наименования реквизита. Метод используется после получения очередного значения из выборки, особенно полезен при выборке по документу или по всем реквизитам.
Пример:
Процедура ПечатьУстановокДокумента(Док)
// выведем все установки, которые произвел документ
Если Док.Выбран() = 0 Тогда
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ПечатьИстории");
Таб.ВывестиСекцию("Отчет");
Ист = СоздатьОбъект("Периодический");
Ист.ВыбратьПоДокументу(Док);
Пока Ист.ПолучитьЗначение() = 1 Цикл
Если Ист.ТекущийРеквизит() = "Товары.Цена" Тогда
// если документом заданы изменения Цены Товара
Таб.ВывестиСекцию("ПоЦенеТовара");
ИначеЕсли Ист.ТекущийРеквизит() = "Клиенты.Статус" Тогда
// если документом заданы изменения Статуса Клиента
Таб.ВывестиСекцию("ПоСтатусу Клиента");
КонецЕсли;
КонецЦикла;
Таб.Опции(0, 0, 0, 0);
Таб.ТолькоПросмотр(1);
Таб.Показать("Отчет");
КонецПроцедуры
См. также: УстановитьРеквизитСправочника, ВыбратьЗначения, ВыбратьПоДокументу, ПолучитьЗначение
ТекущийСчет
Возвращает текущее значение счета.
Синтаксис:
ТекущийСчет()
Англоязычный синоним:
CurAccount
Возвращаемое значение:
Значение типа «Счет».
Описание:
Объекты созданные функцией СоздатьОбъект не содержат собственно значения типа «Счет», так как они могут быть спозиционированы на разные счета. Метод ТекущийСчет позволяет получить значение типа «Счет» у такого объекта в соответвии с его текущей позицией. Данный метод применяется, например, если нужно счет передать как параметр в вызове какого-либо метода, или присвоить какому-либо реквизиту, или занести в проводку.
Кроме того, в контексте формы счета данный метод может выдать текущее (для открытой формы) значение типа «Счет».
Пример:
Сч = СоздатьОбъект("Счет.Основной");
Сч.НайтиПоКоду("76.02");
Если Сч.Выбран() = 1 Тогда
Операция.Дебет.Счет = Сч.ТекущийСчет();
КонецЕсли;
Тип
Тип правила перерасчета.
Синтаксис:
Тип
Англоязычный синоним:
Type
Описание:
Атрибут Тип позволяет прочитать/установить значение типа правила перерасчета. Данный атрибут может принимать следующие значения:
0 — зависимые виды расчетов должны быть перерасчитаны в том же периоде, что и вводимая запись журнала расчетов;
1 — зависимые виды расчетов должны быть перерасчитаны в нескольких периодах, следующих за периодом действия вводимой записи журнала расчетов (количество периодов задано атрибутом КоличествоПериодов).
Пример:
Тип = ПравилоПерерасчета.Главное.Тип;
Тип данных «ПланСчетов»
Тип данных «ПланСчетов» является служебным типом данных. Он предназначен для идентификации Плана счетов, созданного в метаданных. В основном он используется для передачи в качестве параметра различным процедурам и функциям компоненты «Бухгалтерский учет» и для выбора плана счетов в формах. Тип значения «ПланСчетов» не поддерживает никаких данных в информационной базе, а список возможных значений этого типа данных определен планами счетов созданными в конфигурации.
Значения типа «ПланСчетов» могут выступать как реквизиты диалога формы, как реквизиты документов, справочников и т. д.
Для получения значения такого типа данных используется глобальный атрибут ПланыСчетов, который имеет в свою очередь набор атрибутов типа «ПланСчетов» соответсвующих имеющимся в конфигурации планам счетов. Кроме того, глобальный атрибут ПланыСчетов имеет методы для обхода всех существующих планов счетов.
Тип данных «ВидСубконто»
Тип данных «ВидСубконто» является служебным типом данных. Он предназначен для идентификации самого Вида субконто. созданного в метаданных. В основном он используется для передачи в качестве параметра различным процедурам и функциям компоненты «Бухгалтерский учет» и для выбора вида субконто в формах. Тип данных «ВидСубконто» не поддерживает никаких данных в информационной базе, а список возможных значений этого типа данных определен видами субконто, созданными в конфигурации.
Значения типа «ВидСубконто» могут выступать как реквизиты диалога формы, как реквизиты документов, справочников и т. д.
Для получения значения такого типа используется глобальный атрибут ВидыСубконто, который имеет в свою очередь набор атрибутов типа «ВидСубконто» соответсвующих имеющимся видам субконто. Кроме того, глобальный атрибут ВидыСубконто имеет методы для обхода всех существующих видов субконто.
ТипСубконто
Получить тип субконто.
Синтаксис:
ТипСубконто()
Англоязычный синоним:
SubcontoType
Возвращаемое значение:
Строковое значение, описывающее тип субконто, например "Справочник.Контрагенты".
Описание:
Метод ТипСубконто позволяет определить тип субконто, как он определен в конфигурации.
Пример:
Сообщить("Тип субконто " + ВыбВидСубк1.ТипСубконто());
ТипЗначения
Получить тип значения данных.
Синтаксис:
ТипЗначения(<3начение>)
Англоязычный синоним:
ValueType
Параметры:
<3начение> Выражение, тип данных значения которого надо определить.
Возвращаемое значение:
Функция возвращает числовое значение:
0 — неопределенный тип данных;
1 — числовой тип данных;
2 — строковый тип данных;
3 — тип данных — дата;
10 — агрегатный тип данных «Перечисление»;
11 — агрегатный тип данных «Справочник»;
12 — агрегатный тип данных «Документ»;
13 — агрегатный тип данных «Календарь»;
14 — агрегатный тип данных «ВидРасчета»;
15 — агрегатный тип данных «Счет»;
16 — агрегатный тип данных «ВидСубконто»;
17 — агрегатный тип данных «ПланСчетов»;
100 — так называемый внешний объект. В этот класс попадают все агрегатные объекты, не вошедшие в вышеперечисленный список, такие как «Текст», «Таблица», «Запрос», «ЖурналРасчетов» и т. п.
Описание:
Функция ТипЗначения определяет, к какому типу данных принадлежит переданный параметр <3начение> и возвращает числовой результат:
Пример:
Если ТипЗначения(Код)<>1 Тогда
Предупреждение("Код имеет не числовой тип !!!");
КонецЕсли;
ТипЗначенияСтр
Получить строковое обозначение типа данных.
Синтаксис:
ТипЗначенияСтр(<3начение>)
Англоязычный синоним:
ValueTypeStr
Параметры:
<3начение> Выражение, тип данных значения которого надо определить.
Возвращаемое значение:
Функция возвращает строковое значение в русскоязычном или в англоязычном написании — в зависимости от текущей установки основного языка конфигурации:
Русскоязычное |
Англоязычное |
Описание |
Неизвестный Объект |
UnknownObject |
неопределенный тип данных; |
Число |
Number |
числовой тип данных; |
Строка |
String |
строковый тип данных; |
Дата |
Date |
тип данных — дата; |
Перечисление |
Enum |
агрегатный тип данных «Перечисление»; |
Справочник |
Reference |
агрегатный тип данных «Справочник»; |
Документ |
Document |
агрегатный тип данных «Документ»; |
Регистр |
Register |
агрегатный тип данных «Регистр»; |
Календарь |
Calendar |
агрегатный тип данных «Календарь»; |
ВидРасчета |
Calculation |
агрегатный тип данных «ВидРасчета»; |
ЖурналРасчетов |
CalcJournal |
агрегатный тип данных «ЖурналРасчетов»; |
ПланСчетов |
ChartOfAccounts |
агрегатный тип данных «ПланСчетов»; |
Счет |
Account |
агрегатный тип данных «Счет», |
Операция |
Operation |
агрегатный тип данных «Операция»; |
КорректныеПроводки |
CorrectEntries |
агрегатный тип данных «КорректныеПроводки»; |
БухгалтерскиеИтоги |
BookkeepingTotals |
агрегатный тип данных «БухгалтерскиеИтоги»; |
Таблица |
Table |
агрегатный тип данных «Таблица»; |
Текст |
Text |
агрегатный тип данных «Текст»; |
Запрос |
Query |
агрегатный тип данных «Запрос»; |
СписокЗначений |
ValueList |
агрегатный тип данных «СписокЗначений»; |
ТаблицаЗначений |
ValueTable |
агрегатный тип данных «ТаблицаЗначений»; |
Периодический |
Рег1odic |
агрегатный тип данных «Периодический»; |
Картинка |
Picture |
агрегатный тип данных «Картинка»; |
ГрупповойКонтекст |
GroupContext |
локальный контекст программного модуля, передаваемый при помощи ключевого слова Контекст или возвращаемый методом ОткрытьПодбор; |
OLE |
OLE |
OLE-объект; |
Описание:
Функция ТипЗначенияСтр определяет, к какому типу данных принадлежит переданный параметр <3начение> и возвращает соответствующе строковое значение. Название агрегатного типа данных передается либо в русском либо в английском написании — в зависимости от текущей установки основного языка конфигурации.
Пример:
Предупреждение("Код имеет тип - " + ТипЗначенияСтр(Код));
См. также: ОсновнойЯзык
ТолькоОбороты
Устанавливает/возвращает значение флага «Только обороты» субконто счета.
Синтаксис:
ТолькоОбороты(<НомерСубконто>, <ТолькоОбороты>]
Англоязычный синоним:
TurnoversOnly
Параметры:
<НомерСубконто> |
Числовое выражение — порядковый номер субконто счета. |
<ТолькоОбороты> |
Необязательный параметр. Числовое значение: 1 или 0. Данный параметр снимает или устанавливает флаг «Только обороты» для данного субконто счета. Если параметр не используется, то флаг «Только обороты» не меняется. |
Возвращаемое значение:
Значение флага «Только обороты» на момент до использования метода: 1 — флаг установлен; 0 — флаг не установлен.
Описание:
К любому счету или субсчету в плане счетов может быть «прикреплено» до 5 видов субконто. Максимальное количество видов субконто, которое можно «прикрепить» к счету, устанавливается в конфигураторе при редактировании свойств планов счетов. Все виды субконто, прикрепленные к счету в плане счетов, имеют порядковые номера. Для субконто может быть установлен флаг «Только обороты», который устанавливает для данного субконто использование только для оборотов по счету, а не для остатков.
Применение данного метода следует производить только в особых случаях и с учетом всех особенностей настройки учета. После изменения настроек учета система может потребовать выполнить пересчет итогов.
Пример:
Сч = СоздатьОбъект("Счет.Основной");
Сч.НайтиПоКоду("76.02");
Для Инд = 1 По Сч.КоличествоСубконто() Цикл
Сообщить("Субконто " + Сч.ВидСубконто(Инд) +
?(Сч.ТолькоОбороты(Инд) = 1, "(об.)", ""));
КонецЦикла;