1С Предприятие 7.7. Документация
Содержание операции.
Синтаксис:
Содержание
Англоязычный синоним:
Description
Значение:
Значение типа «Строка».
Описание:
Атрибут Содержание служит для обращения к содержанию операции. Содержание операции представляет собой произвольную символьную строку. Максимальная длина содержания задается в конфигураторе при редактировании свойств объекта метаданных «Операция».
Пример:
Опер = СоздатьОбъект("Операция");
Опер.НайтиОперацию(ВыбрДокумент);
Сообщить(Опер.Содержание);
СодержитВидРасчета
Определяет, содержит ли группа вид расчета.
Синтаксис:
СодержитВидРасчета(<ВидРасчета>)
Англоязычный синоним:
ContainCalculationKind
Параметры:
<ВидРасчета> |
Вид расчета, входимость которого проверяется. |
Возвращаемое значение:
Число: 1 — если <ВидРасчета> входит в группу; 0 в противном случае.
Описание:
Метод предназначен для определения того, содержит ли группа заданный вид расчета.
Пример:
Входит = ГруппаРасчетов.ОблНалогом.СодержитВидРасчета(ЖР.ВидРасч);
См. также: ВходитВГруппу
Соглашения и обозначения
В синтаксических диаграммах языка запросов используются следующие символы:
Символ |
Значение |
[ ] |
В квадратных скобках заключаются необязательные синтаксические элементы. |
[ ]+ |
В квадратных скобках со знаком "+" заключаются обязательные синтаксические элементы, которые могут использоваться один или более раз. |
[ ]* |
В квадратных скобках со знаком "*" заключаются необязательные синтаксические элементы, которые могут использоваться один или более раз. |
( ) |
Круглые скобки заключают в себе список параметров. |
| |
Вертикальной линией разделяются синтаксические элементы, среди которых нужно выбирать один и только один. |
Соглашения и обозначения, принятые в синтаксических диаграммах
В синтаксических диаграммах используются следующие символы:
Символ |
Значение |
[ ] |
В квадратных скобках заключаются необязательные синтаксические элементы. |
( ) |
Круглые скобки заключают в себе список параметров. |
| |
Вертикальной линией разделяются синтаксические элементы, среди которых нужно выбрать только один. |
СохранениеПериодическихРеквизитов
Установить режим отображения диалога сохранения периодических реквизитов при записи элемента справочника.
Синтаксис:
СохранениеПериодическихРеквизитов(<ВариантВызова>, <Список>)
Англоязычный синоним:
Рег1odicAttributesSaving
Параметры:
<ВариантВызова> |
Число, определяет вариант вызова метода: 0 — отключить автоматический режим определения списка измененных реквизитов и показ диалога (параметр <Список> не используется); 1 — включить автоматический режим определения списка измененных реквизитов с показом диалога (параметр <Список> определяет набор анализируемых реквизитов); 2 — включить автоматический режим определения списка измененных реквизитов без показа диалога (параметр <Список> определяет набор анализируемых реквизитов); 3 — выполнить определение списка измененных реквизитов с показом диалога (параметр <Список> определяет набор анализируемых реквизитов); 4 — выполнить определение списка измененных реквизитов без показа диалога (параметр <Список> определяет набор анализируемых реквизитов); 5 — выдать/установить список сохраняемых периодических реквизитов. Метод возвращает установленный список периодических реквизитов, которые будут записываться на момент до вызова метода. Если параметр <Список> указан, то устанавливается список периодических реквизитов, которые должны быть записаны. |
<Список> |
Необязательный параметр. Строковое выражение, в котором через запятую перечислены имена периодических реквизитов справочника, которые должны выводится в диалоге (если диалог показывается), или по которым будет записан элемент истории (если диалог не показывается). По умолчанию предполагается, что в списке все периодические реквизиты справочника. Если указан символ "*", то считается, что в список включены все периодические реквизиты справочника. |
Описание:
Метод СохранениеПериодическихРеквизитов управляет режимом ав-томатического определения списка измененных периодических реквизитов, показом диалога для выбора записываемых периодических реквизитов, а также предоставляет доступ непосредственно к списку записываемых периодических реквизитов.
Если данный метод опущен, то при записи элемента справочника диалог отображается со всеми периодическими реквизитами.
Замечание. Данный метод доступен только в контексте Модуля формы элемента справочника (см. «Виды программных модулей»). Действие данного метода относится только к текущему элементу справочника, который доступен в локальном контексте Модуля формы элемента справочника.
Пример:
// Здесь мы работаем в локальном контексте модуля Формы
// элемента справочника.
// в справочнике есть несколько реквизитов,
// которые являются периодическими реквизитами.
СохранениеПериодическихРеквизитов(1, "ЦенаРозн, ЦенаОптов");
СохранениеПериодическихРеквизитов
Установить режим отображения диалога сохранения периодических реквизитов при записи элемента справочника.
Синтаксис:
СохранениеПериодическихРеквизитов(<ВариантВызова>, <Список>)
Англоязычный синоним:
Рег1odicAttributesSaving
Параметры:
<ВариантВызова> |
Число, определяет вариант вызова метода: 0 — отключить автоматический режим определения списка измененных реквизитов и показ диалога (параметр <Список> не используется); 1 — включить автоматический режим определения списка измененных реквизитов с показом диалога (параметр <Список> определяет набор анализируемых реквизитов); 2 — включить автоматический режим определения списка измененных реквизитов без показа диалога (параметр <Список> определяет набор анализируемых реквизитов); 3 — выполнить определение списка измененных реквизитов с показом диалога (параметр <Список> определяет набор анализируемых реквизитов); 4 — выполнить определение списка измененных реквизитов без показа диалога (параметр <Список> определяет набор анализируемых реквизитов); 5 — выдать/установить список сохраняемых периодических реквизитов. Метод возвращает установленный список периодических реквизитов, которые будут записываться на момент до вызова метода. Если параметр <Список> указан, то устанавливается список периодических реквизитов, которые должны быть записаны. |
<Список> |
Необязательный параметр. Строковое выражение, в котором через запятую перечислены имена периодических реквизитов справочника, которые должны выводится в диалоге (если диалог показывается), или по которым будет записан элемент истории (если диалог не показывается). По умолчанию предполагается, что в списке все периодические реквизиты справочника. Если указан символ "*", то считается, что в список включены все периодические реквизиты справочника. |
Описание:
Метод СохранениеПериодическихРеквизитов управляет режимом автоматического определения списка измененных периодических реквизитов, показом диалога для выбора записываемых периодических реквизитов, а также предоставляет доступ непосредственно к списку записываемых периодических реквизитов.
Если данный метод опущен, то при записи элемента справочника диалог отображается со всеми периодическими реквизитами.
Данный метод доступен в контексте Модуля формы списка справочника (см. «Виды программных модулей»). Действие данного метода относится ко всему текущему списку справочника, который доступен в локальном контексте Модуля формы списка справочника.
Пример:
СохранениеПериодическихРеквизитов(1, "ЦенаРозн, ЦенаОптов");
Сохранить
Сохранить в файл.
Синтаксис:
Сохранить(<ИмяФайла>)
Англоязычный синоним:
Save
Параметры:
<ИмяФайла> |
Строковое выражение — имя файла. |
Описание:
Метод Сохранить выгружает картинку в файл с именем <ИмяФайла> в формате загрузки (загрузили в формате bmp — в этом формате и сохраним).
Пример:
Фото.Загрузить("с:\ВМР\Boris.bmp");
Фото.Сохранить("с:\lCv7\DBmy\Boris.bmp");
СохранитьЗначение
Сохранить для пользователя некоторое значение между сеансами.
Синтаксис:
СохранитьЗначение(<Идентификатор>, <3начение>)
Англоязычный синоним:
SaveValue
Параметры:
<Идентификатор> |
Строковое выражение, наименование сохраняемого значения. Данное наименование используется для идентификации сохраняемых значений. |
<3начение> |
Выражение любого типа. Объекты типа «Список-Значений» и «ТаблицаЗначений» использовать можно. |
Описание:
Применять процедуру СохранитьЗначение следует, например, если требуется запомнить некоторые значения до следующего запуска системы.
Например, можно сохранять для данного пользователя значение того склада, с которого он обычно выписывает накладные. При запуске системы в следующий раз данное значение может использоваться как значение склада по умолчанию для данного пользователя.
Пример:
СохранитьЗначение("МойСклад", Склад);
См. также: ВосстановитьЗначение
СокрЛ
Отбросить в строке стоящие слева пробелы.
Синтаксис:
СокрЛ(<Строка>)
Англоязычный синоним:
TrimL
Параметры:
<Строка> |
Строковое выражение. |
Возвращаемое значение:
Строковое значение.
Описание:
Функция СокрЛ получает в качестве параметра строку, отсекает стоящие слева пробелы и возвращает результирующую строку.
Пример:
СтрЦена = СокрЛ(Цена) + " руб.";
СокрЛП
Отбросить в строке пробелы, стоящие слева и справа.
Синтаксис:
СокрЛП(<Строка>)
Англоязычный синоним:
TrimAll
Параметры:
<Строка> |
Строковое выражение. |
Возвращаемое значение:
Строковое значение.
Описание:
Функция СокрЛП получает в качестве параметра строку, отсекает стоящие слева и справа пробелы, и возвращает результирующую строку.
Пример:
ФИО = СокрЛП(Фамилия) + " " + СокрП(Имя) + " " + СокрП(Отчество);
СокрП
Отбросить в строке стоящие справа пробелы.
Синтаксис:
СокрП(<Строка>)
Англоязычный синоним:
TrimR
Параметры:
<Строка> |
Строковое выражение. |
Возвращаемое значение:
Строковое значение.
Описание:
Функция СокрП получает в качестве параметра строку, отсекает стоящие справа пробелы и возвращает результирующую строку.
Пример:
ФИО = СокрП(Фамилия) + " " + СокрП(Имя) + " " + СокрП(Отчество);
Сообщить
Вывести строку в окно сообщений.
Синтаксис:
Сообщить(<Текст_сообщения>, <ИмиджМаркера>)
Англоязычный синоним:
Message
Параметры:
<Текст_сообщения> |
Строковое выражение. |
<ИмиджМаркера> |
Необязательный параметр. Строковое выражение, которое задает тип пиктограммы выводимой перед сообщением. Возможные значения: "I", "!", "!!", "!!!", "." — обычное сообщение, " " — без маркера. |
Описание:
Процедура Сообщить выводит <Текст_сообщения> в окно сообщений. Перед сообщениями можно отображать специальные пиктограммы, которыми можно помечать сообщения различной важности.
Пример:
Сообщить("Доброе утро!", "I");
Сортировать
Отсортировать список по значениям.
Синтаксис:
Сортировать(<Направление>, <ДокументыПоДате>)
Англоязычный синоним:
Sort
Параметры:
<Направление> |
Необязательный параметр. Числовое выражение. Если — 0, то сортировка по возрастанию. Если не 0 то сортировка по убыванию. Значение по умолчанию — 0. |
<ДокументыПоДате> |
Необязательный параметр. Имеет смысл только в том случае, если значениями списка значений являются документы. В этом случае можно задавать сортировку документов по их хронологии. Число: 1 — сортировка по хронологии документов; 0 — нет. Значение по умолчанию — 0. |
Описание:
Метод Сортировать выполняет сортировку списка по значениям. Если первый элемент списка (значение в первой позиции) имеет базовый тип данных (число, строка, дата), то сортировка проводится по значениям элементов, приведенных стандартными правилами к типу первого элемента. В противном случае, если первый элемент имеет агрегатный тип данных, сортировка проводится по значениям элементов, приведенных к строковому представлению типа данных.
Пример:
Спис.Сортировать();
Сортировать
Сортировать таблицу значений по колонкам.
Синтаксис:
Сортировать(<Колонки>, <ДокументыПоДате>)
Англоязычный синоним:
Sort
Параметры:
<Колонки> |
Строковое выражение, которое определяет колонки, порядок и направление сортировки. Формат передаваемой строки — это разделенные запятыми номера или идентификаторы колонок со знаком направления сортировки ("+" по возрастанию, "-" по убыванию, "*" по внутреннему значению). Знак направления сортировки следует указывать до обозначения колонки через пробел или без пробела. По умолчанию направление сортировки принимается по возрастанию. Например: "-Код, +Цена, -8, 5". |
<ДокументыПоДате> |
Необязательный параметр. Имеет смысл только в том случае, если значениями таблицы значений являются документы. В этом случае можно задавать сортировку документов по их хронологии. Число: 1 — сортировка по хронологии документов; 0 — нет. Значение по умолчанию — 0. |
Описание:
Метод Сортировать выполняет сортировку таблицы значений по заданным колонкам, порядку и направлению сортировки.
Пример:
Табл.Сортировать("-Код, +Цена, -8, 5");
СортироватьПоПредставлению
Отсортировать список по представлению.
Синтаксис:
СортироватьПоПредставлению(<Направление>)
Англоязычный синоним:
SortByPresent
Параметры:
<Направление> |
Необязательный параметр. Числовое выражение. Если — 0, то сортировка производится по возрастанию. Если отлично от 0, то сортировка по убыванию. |
Описание:
Метод СортироватьПоПредставлению выполняет сортировку списка по символьному представлению в соответствии с порядком, заданным параметром <Направление>.
Пример:
Спис.СортироватьПоПредставлению();
СортироватьСтроки
Сортировать многострочную часть документа по реквизитам.
Синтаксис:
СортироватьСтроки(<Колонки>)
Англоязычный синоним:
SortLines
Параметры:
<Колонки> |
Перечисленные через запятую реквизиты многострочной части документа, по которым следует сортировать. Знаки "+", "-", предшествующие названию реквизита указывают направление сортировки по реквизиту. Знак "*" — сортировать по внутреннему значению реквизита. |
Описание:
Метод СортироватьСтроки позволяет сортировать многострочную часть документа по реквизитам.
Пример:
Док = СоздатьОбъект("Документ.Приказы");
Если Док.Выбрать("Найди документ") > 0 Тогда
Док.СортироватьСтроки("+Сумма, -НДС");
Док.Записать ();
КонецЕсли;
Сортировка
Установить способ сортировки элементов справочника.
Синтаксис:
Сортировка(<Способ>, <Разрешение>)
Англоязычный синоним:
SortOrder
Параметры:
<Способ> |
Строка с именем устанавливаемой сортировки. Это может быть (в зависимости от языка по умолчанию) "Код\Code", "Наименование\Description" или имя реквизита по которому устанавливается сортировка. |
<Разрешение> |
Необязательный параметр. Флаг разрешения пользователю менять способ сортировки: 1 — разрешить; 0 — запретить. |
Возвращаемое значение:
Возвращает текущее значение установленного на данный момент способа сортировки элементов справочника (до применения метода).
Описание:
Метод Сортировка позволяет установить способ сортировки элементов справочника.
Данный метод доступен в контексте Модуля формы списка справочника (см. «Виды программных модулей»).
Пример:
// установить сортировку по наименовнаию и запретить ее менять
Сортировка("Наименование", 0);
// получить текущее значение сортировки и установить сортировку по
// реквизиту "Оклад"
СтСорт = Сортировка("Оклад");
Состояние
Вывести сообщение в строку состояния.
Синтаксис:
Состояние(Текст_сообщения)
Англоязычный синоним:
Status
Параметры:
<Текст_сообщения> |
Строковое выражение. |
Описание:
Процедура Состояние выводит строку текста в строку состояния (статус-бар). Текст определяется параметром <Текст_сообщения>.
Пример:
Состояние("Доброе утро!")
Создание базы данных, индекса, индексного файла
Помимо работы с существующими базами данных, агрегатный тип XBase имеет набор методов, позволяющих создать новую базу данных произвольной структуры, новые индексы и новый индексный файл. Следует отметить, что, если использование методов, изменяющих структуру БД, возможно только для объектов, не связанных с базой данных (т. е. для вновь создаваемых БД), то создание новых индексов и индексного файла возможно как для создаваемых БД, так и для уже существующих и открытых.
СоздатьФайл
Создать новый файл базы данных.
Синтаксис:
СоздатьФайл(<ПутьКБазе>, <ПутьКИндексу>)
Англоязычный синоним:
CreateFile
Параметры:
<ПутьКБазе> |
Строковое выражение, содержащее путь к файлу базы данных формата DBF. |
<ПутьКИндексу> |
Необязательный параметр. Строковое выражение, содержащее путь к индексному файлу базы данных. |
Описание:
Метод СоздатьФайл создает новый файл базы данных формата DBF. Если база с таким именем существует, то выдается ошибка.
Пример:
ДБФ = СоздатьОбъект("XBase");
// Определение полей и индексов новой БД
.....................
.....................
// Теперь физически создаем базу
ДБФ.СоздатьФайл("mydb.dbf", "mydb.cdx");
См. также: ДобавитьПоле, ДобавитьИндекс
СоздатьИндексныйФайл
Создать индексный файл.
Синтаксис:
СоздатьИндексныйФайл(<ИмяФайла>)
Англоязычный синоним:
CreateIndex
Параметры:
<ИмяФайла> |
Строковое выражение — имя индексного файла. |
Описание:
Метод СоздатьИндексныйФайл создает индексный файл. Создаваемый индексный файл будет содержать все индексы, которые были созданы на текущий момент методом ДобавитьИндекс.
Пример:
ДБФ.ДобавитьИндексСЧОХСОПЕ" , "CODE" , 1, 0, "" );
ДБФ.ДобавитьИндекс("IDXROOM", "ROOM+FIO", 0, 0, "");
ДБФ.СоздатьИндексныйФайл("IDXCNEW.CDX");
См. также: СоздатьФайл, ДобавитьИндекс, ОткрытьФайл
СоздатьКаталог
Создает новый каталог файлов.
Синтаксис:
СоздатьКаталог(<ИмяКат>)
Англоязычный синоним:
CreateDirectory
Параметры:
<ИмяКат> |
Строковое выражение с именем создаваемого каталога. |
Описание:
Метод СоздатьКаталог создает новый каталог файлов.
Пример:
* В данном примере приведена процедура создания нового каталога файлов.
Процедура СоздДир()
ФС.СоздатьКаталог(ИмяВыбрДир);
КонецПроцедуры
СоздатьОбъект
Создает объект агрегатного типа данных и возвращает ссылку на него.
Синтаксис:
СоздатъО6ъект(<ИмяАгрегатногоТипа>)
Англоязычный синоним:
CreateObject
Параметры:
<ИмяАгрегатногоТипа> |
Строковое выражение, значение которого содержит имя агрегатного типа данных, объявленного в конфигураторе. |
Возвращаемое значение:
Ссылка на созданный объект агрегатного типа данных.
Описание:
Функция СоздатьОбъект создает объект агрегатного типа данных и возвращает ссылку на него. Данная функция обычно используется одновременно с неявным определением переменной и присвоением ей ссылки на объект агрегатного типа данных.
Замечание. Объекты, такие как документ и справочник, созданные при помощи функции СоздатьОбъект, изначально не определены, т. е. не содержат никакого значения. Чтобы начать с ними работать, их предварительно надо позиционировать (установить на конкретный документ или элемент справочника). Для документов позиционирование выполняется при помощи методов НайтиДокумент, НайтиПоНомеру, ПолучитьДокумент. Для справочников позиционирование выполняется при помощи методов НайтиЭлемент, НайтиПоКоду, ПолучитьЭлемент.
Пример:
Спр = СоздатьОбъект("Справочник.Сотрудники");
Спр.НайтиПоКоду("029");
Специальные символы, используемые в исходном тексте
// |
Двумя знаками «косая черта» начинается комментарий. Комментарием считается весь текст от знака "//" до конца текущей строки. |
| |
Вертикальная черта в начале строки используется только в строковых константах и означает, что данная строка является продолжением предыдущей (перенос строки), (см. «Строковые константы»). |
~ |
Знаком тильда начинается метка оператора. |
: |
Двоеточием заканчивается метка оператора. |
; |
Точка с запятой является символом разделения операторов. |
( ) |
В круглые скобки заключается список параметров методов, процедур и функций. |
[ ] |
В квадратные скобки заключается размерность массивов. |
, |
Запятая разделяет параметры в списке параметров методов, процедур и функций. |
" " |
В двойные кавычки заключаются строковые константы. |
' ' |
В одинарные кавычки заключаются константы даты. |
. |
Десятичная точка в числовых константах. Разделитель, используемый в описаниях агрегатных типов данных. |
+ |
Символ «плюс» обозначает операцию сложения. |
- |
Символ «минус» обозначает операцию вычитания. |
* |
Символ «звездочка» обозначает операцию умножения. |
/ |
Символ «косая черта» обозначает операцию деления. |
> |
Правая угловая скобка обозначает логическую операцию «больше». |
>= |
Логическая операция «больше или равно». |
< |
Левая угловая скобка обозначает логическую операцию «меньше». |
<= |
Логическая операция «меньше или равно». |
= |
Знак равенства обозначает присвоение или логическую операцию «равно». |
<> |
Две угловые скобки обозначают логическую операцию «не равно». |
Способы оптимизации формирования отчетов
Процесс получения отчетов с использованием запросов можно условно разделить на две фазы: сначала формируется запрос, затем полученные данные выводятся в Таблицу. В данном разделе речь пойдет о второй фазе получения отчета — выводе данных в Таблицу.
Рассмотрим следующий пример. Допустим, требуется вывести в отчет полный перечень товаров со всеми их реквизитами. Для этого сначала формируется запрос с одной Группировкой — "Товар", затем полученные данные выводятся в Таблицу. Ниже приведены три варианта вывода данных в Таблицу.
Вариант 1
В программном модуле текст вывода данных в Таблицу следующий
Пока Запрос.Группировка("Товар") = 1 Цикл
Таб.ВывестиСекцию("Товар");
КонецЦикла;
Секция "Товар" в Таблице имеет следующий формат:
<Запрос.Товар.Наименование> |
<Запрос.Товар.Артикул> | ||
<Запрос.Товар.Цена> | <Запрос.Товар.Валюта> |
В первом варианте отображаемые реквизиты товара полностью вычисляются в ячейках Таблицы, причем доступ к каждому реквизиту товара происходит по полному пути: Запрос-Товар-Реквизит. Данный вариант вывода данных в Таблицу самый медленный.
Вариант 2
В программном модуле текст вывода данных в Таблицу следующий
Пока Запрос.Группировка("Товар") = 1 Цикл
ПечНаим = Запрос.Товар.Наименование;
ПечАртикул = Запрос.Товар.Артикул;
ПечЦена = Запрос.Товар.Цена;
ПечВалюта = Запрос.Товар.Валюта;
Таб.ВывестиСекцию("Товар1");
КонецЦикла;
Секция "Товар1" в Таблице имеет следующий формат:
<ПечНаим> | <ПечАртикул> | ||
<ПсчЦена> | <ПечВалюта> |
Во втором варианте отображаемые реквизиты товара вычисляются в программном модуле, а в ячейках Таблицы размещены простые выражения — ссылки на идентификаторы программного модуля. Доступ к каждому реквизиту товара происходит по полному пути: Запрос-Товар-Реквизит. В данном варианте фаза вывода данных в Таблицу работает быстрее первого варианта (выигрыш ~20%), т. к. в программном модуле выражения вычисляются существенно быстрее, чем выражения, помещенные в ячейках Таблицы (программный модуль при загрузке компилируется, а выражения в ячейках таблицы интерпретируются каждый раз при выводе секций).
Вариант 3
В программном модуле текст вывода данных в Таблицу следующий
Пока Запрос.Группировка("Товар") = 1 Цикл
Тов = Запрос.Товар;
ПечНаим = Тов.Наименование;
ПечАртикул = Тов.Артикул;
ПечЦена = Тов.Цена;
ПечВалюта = Тов.Валюта;
Таб.ВывестиСекцию("Товар1");
КонецЦикла;
Секция "Товар1" в Таблице имеет следующий формат:
<ПечНаим> |
<ПечАртикул> |
<ПсчЦена> |
<ПечВалюта> |
Кратко суть этого раздела можно выразить так: при реализации больших отчетов, которые рассчитаны на отображение более сотни строк, следует придерживаться следующих правил:
не размещайте сложных выражений в ячейках Таблицы. Лучше вычислить необходимые значения непосредственно в программном модуле;
если необходимо получить несколько реквизитов одного объекта, который сам является составной частью другого объекта, то следует воспользоваться промежуточной переменной, в которую сначала можно записать значение всего объекта «целиком», а затем уже от нее получать требуемые данные.
Сравнить
Сравнить ГП с датой, документом или позицией.
Синтаксис:
Сравнить(<Докум>)
Англоязычный синоним:
Compare
Параметры:
<Докум> |
Выражение типа «дата», «документ» или «позиция документа», с которым сравнивается ГП. |
Возвращаемое значение:
Число: -1 (минус единица), если ГП меньше (раньше); 0 если равны; 1 если ГП больше (позже).
Описание:
Метод Сравнить сравнивает ГП с датой, документом или позицией документа.
Пример:
Если Последовательность.УправленческийУчет.Сравнить(Док) = 1 Тогда
Последовательность.УправленческийУчет.Установить(Док);
КонецЕсли;
СравнитьТА
Сравнить дату и время документа с Точкой актуальности итогов.
Синтаксис:
СравнитьТА()
Англоязычный синоним:
CompareWithAP
Возвращаемое значение:
Числовое значение:
1(плюс единица) — если дата и время документа больше даты и времени Точки актуальности итогов.
0 — если дата и время документа равно дате и времени Точки актуальности итогов.
-1 (минус единица) — если дата и время документа меньше даты и времени Точки актуальности итогов.
-2 (минус два) в случае, если новый документ, который сравнивается с ТА, еще не записан, то есть он еще не имеет никакой позиции на оси времени.
Описание:
Метод СравнитьТА сверяет дату и время документа с датой и временем Точки актуальности итогов, позволяя определить положение на оси времени момента записи документа по отношению к текущиму положению ТА.
Пример:
Процедура ОбработкаПроведения()
Если СравнитьТА() > 0 Тогда
// если документ после ТА, вызываем процедуру
ПроводкаДокументаБудущимЧислом();
ИначеЕсли СравнитьТА() < 0 Тогда
// если документ до ТА, вызываем процедуру
ПроводкаДокументаЗаднимЧислом();
Иначе
// если документ в ТА, вызываем процедуру
ПроводкаДокумента();
КонецЕсли;
КонецПроцедуры
Сред
Выбрать подстроку.
Синтаксис:
Сред(<Строка>, <Число1>, <Число2>)
Англоязычный синоним:
Mid
Параметры:
<Строка> |
Строковое выражение. |
<Число1> |
Числовое выражение, начальный номер символа. |
<Число2> |
Числовое выражение, количество символов. |
Возвращаемое значение:
Строковое значение.
Описание:
Функция Сред возвращает подстроку параметра <Строка>, начиная с символа с номером <Число1> общим количеством <Число2>. Позиции в строке считаются, начиная с 1. Параметр <Число2> может быть опущен, тогда выделяются все символы начиная с символа с номером <Число1> до конца строки.
Пример:
Имя = Сред(ФИО, 10, 12);
СтатусВозврата
Установить/определить статуса возврата предопределенной процедуры.
Синтаксис:
СтатусВозврата([<Статус>])
Англоязычный синоним:
ReturnStatus
Параметры:
<Статус> |
Необязательный параметр. Числовое выражение. Если задано значение 1, то устанавливается статус возврата — Выполнить Действие. Если задано значение 0, то устанавливается статус возврата — Отменить Действие. Если параметр опущен, то статус возврата предопределенной процедуры не меняется. |
Возвращаемое значение:
Число 1 — если статус возврата — Выполнить Действие;
Число 0 — если статус возврата — Отменить Действие.
Описание:
Применять функцию СтатусВозврата имеет смысл только в теле предопределенных процедур. При помощи функции СтатусВозврата можно установить или прочитать текущее значение статуса возврата конкретной предопределенной процедуры, где была вызвана данная функция.
Значение статуса возврата предопределенной процедуры используется системой при завершении отработки любой предопределенной процедуры, чтобы определить, выполнять ли системно событие, которое вызвало данную предопределенную процедуру.
Замечание: Начальное значение статуса возврата предопределенной процедуры равно 1 (Выполнить Действие), которое устанавливается системой при вызове предопределенной процедуры.
В тексте программного модуля возможно использование данного оператора как процедуры или как функции. При использовании в качестве функции, возвращаемое значение соответствует текущему статусу возврата предопределенной процедуры, которое было до вызова данной функции. В данном случае параметр <Статус> можно опускать.
Если параметр <Статус> задан явно, то после выполнения данной функции статус возврата установится в заданное значение. Пример:
* Если в предопределенной процедуре ПриЗаписи установить статус возврата — 0 (например, если неверно заполнены реквизиты), то документ не будет записываться.
Процедура ПриЗаписи()
Если Клиент.Выбран() = 0 Тогда
Предупреждение("Запись отменена! Не задан клиент!");
СтатусВозврата(0);
КонецЕсли;
КонецПроцедуры
* Если в предопределенной процедуре ВводНаОсновании установить статус возврата — 0, то ввод нового документа будет отменен и форма нового документа не откроется.
Процедура ВводНаОсновании(ДокОснование)
Автор = Пользователь;
ДокВид = ДокОснование.Вид();
Если (ДокВид = "Счет") ИЛИ (ДокВид = "Счет_фактура")
ИЛИ (ДокВид = "РасходнаяКредит") ИЛИ (ДокВид = РасходнаяРеализ") Тогда
Автор = Пользователь;
ДокВид = ДокОснование.Вид();
Фирма = ДокОснование.Фирма;
Клиент = ДокОснование.Клиент;
Основание = ДокВид + " № " + ДокОснование.НомерДок;
Сумма = ДокОснование.Итог("Сумма");
НДС = ДокОснование.Итог("НДС");
Иначе
Предупреждение("Недопустимый вид документа основания!");
СтатусВозврата(0);
КонецЕсли;
КонецПроцедуры
См. также: «Системные предопределенные процедуры»
Сторно
Признак сторнирующей записи.
Синтаксис:
Сторно
Англоязычный синоним:
Storno
Описание:
Атрибут типа «число», принимает два значения: 1 — для сторнирующих записей журнала расчетов и 0 — для обычных записей. Признак «сторно» равен 1 не только для простых сторно-записей, но и для рассчитанных, отредактированных вручную или зафиксированных (не подлежащих редактированию) сторно-записей.
Сторнирующие записи могут появляться в журнале расчетов в результате выполнения методов ВвестиРасчет, ЗаписатьРасчет и им подобных, если при этом затрагиваются один или несколько прошлых расчетных периодов и вводимый вид расчета является «вытесняющим». При этом система автоматически вводит необходимые сторнирующие записи. Для таких записей (введенных системным образом) признак сторнирования не может быть переопределен.
Если сторнирующая запись введена программным образом, т. е. атрибут Сторно задан за счет применения метода УстановитьРеквизит или непосредственным присвоением:
ЖрнРасчета = СоздатьОбъект("ЖурналРасчета.Зарплата");
ЖрнРасчета.Сторно = 1;
тогда он может быть переопределен программным образом.
Пример:
*
Процедура ПровестиРасчет()
// календарь
Календ = Объект.Категория.Получить(ДатаОкончания).Календарь;
// размер оклада
Оклад = Объект.Оклад.Получить(ДатаОкончания);
Дней = Календ.Дней(ДатаНачала, ДатаОкончания);
ВсегоДней = Календ.Дней(НачалоПериодаПоДате(ДатаНачала),
КонецПериодаПоДате(ДатаНачала));
Если ВсегоДней > 0 Тогда
Результат = Окр(Оклад * Дней / ВсегоДней);
// если запись-сторно — поставим отрицательные дни!
Дни = ?(Сторно = 1, -Дней, Дней);
Иначе
Результат = 0;
Дни = 0;
Сообщить("Неправильный календарь!");
КонецЕсли;
КонецПроцедуры
*
// вводим сторнирующие рассчитанные записи
ВР = ВидРасчета.ДоплатаКОкладу;
ЖрнЗарплата.УстановитьРеквизит("Сторно", 1);
ЖрнЗарплата.УстановитьРеквизит("Рассчитана", 1);
ЖрнЗарплата.ВвестиРасчет(Сотрудник, ВР, , , Сумма * Процент);
См. также: УстановитьРеквизит, ВвестиРасчет, ЗаписатьРасчет, Рассчитана
СтрЧислоВхождений
Вычислить число вхождений подстроки.
Синтаксис:
СтрЧислоВхождений(<СтрИсточник>, <СтрПодстрока>)
Англоязычный синоним:
StrCountOccur
Параметры:
<СтрИсточник> |
Строковое выражение места поиска. |
<СтрПодстрока> |
Строковое выражение шаблона поиска. |
Возвращаемое значение:
Число вхождений.
Описание:
Функция СтрЧислоВхождений вычисляет число вхождений строки <СтрПодстрока> как подстроки в <СтрИсточник>.
Пример:
Результат = СтрЧислоВхождений(СтрИсточник, СтрПодстрока);
СтрДлина
Получить длину строки.
Синтаксис:
СтрДлина(<Строка>)
Англоязычный синоним:
StrLen
Параметры:
<Строка> |
Строковое выражение. |
Возвращаемое значение:
Числовое значение длины строки.
Описание:
Функция СтрДлина получает в качестве параметра строку и возвращает числовое значение ее длины.
Пример:
Длина = СтрДлина("Измерим длину строки");
СтрКоличествоСтрок
Определить число строк в многострочном тексте.
Синтаксис:
СтрКоличествоСтрок(<Строка>)
Англоязычный синоним:
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 Тогда
Сообщить("Файл " + ИмяФайла + " — существует");
КонецЕсли;
КонецПроцедуры