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

         

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


Определить число строк в многострочном тексте.

Синтаксис:

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

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

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, "(об.)", ""));

КонецЦикла;