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

         

Примитивные типы данных


Во встроенном языке 1C: Предприятия поддерживается набор примитивных типов данных. Для большинства примитивных типов данных предусмотрена возможность использования в тексте модуля литералов, то есть указание значения соответствующего типа непосредственно в модуле.

Пример:

// Пример использования литерала типа Строка А = "Моя строка" ;

// Пример использования литерала типа Булево Б = истина;

// Пример использования литерала типа Число В = 12345.6789;

Null

Описание:

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

Литералы:

Null

Булево (Boolean)

Описание:

Значения данного типа имеют два значения Истина и Ложь, задаваемых соответствующими литералами. Значения данного типа возвращаются в качестве результата вычисления логических выражений.

Примечание:

В операциях сравнения встроенного языка используются логические выражения. Это означает, что в выражении сравнения не обязательно писать

Если МояПеременная = Истина Тогда КонецЕсли ;

достаточно написать

Если МояПеременная Тогда КонецЕсли;

Литералы:

Истина(True) Ложь (False)

Дата (Date)



Описание:

Значения данного типа содержит дату от Рождества Христова (с 01 января 0001 года) и время с точностью до секунды.

Литералы:

Срока цифр, заключенная в одинарные кавычки вида:

'YYYYMMDDHHMMSS'

ТПТМ МДДччммсс' где:

• ГГГГ - четыре цифры года (включая век);

• MM - две цифры месяца:

• ДД - две цифры даты;

• чч - две цифры часа (в 24-х часовом формате);

• мм - две цифры минут;

• ее - две цифры секунд;

Допускается при указании литералов типа Дата опускать последние символы (секунды, минуты, часы и т.д.). Это означает, что данные параметры будут равны нулю (для времени) или единице (для даты). В вырожденном случае дата может задаваться как " (две одинарные кавычки подряд), это будет равнозначно дате '00010101000000' или при преобразованию к строке для России -«01.01.0001 0:00:00».

Неопределено (Undefined)




Описание:

Значение данного типа применяются, когда необходимо использовать пустое значение, не принадлежащее ни к одному другому типу. Например, такое значение изначально имеют реквизиты с составным типом значения. Существует одно единственное значение данного типа, задаваемое литералом.

Литералы:

Неопределено (Undefined)

Строка (String)

Описание:

Значения данного типа содержат строку в формате Unicode про­извольной длины.

Литералы:

Литералы строкового типа представляют собой набор символов заключенных в кавычки. Для задания в строке символа " (кавычка) необходимо записать две кавычки подряд.

Кроме того, допускаются «многострочные» строковые константы. В исходном тексте многострочные константы могут задаваться двумя способами:

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

•  Каждая отдельная составляющая не замыкается кавычками, а на каждой последующей строке помещен символ переноса строки | (горизонтальная черта). В этом варианте комментарии между открывающей и закрывающей кавычками не допускаются.

Пример:

// Пример строки МояСтрока =

"Это правильная строка";

// Пример 1 многострочной строки МояМногострочнаяСтрока = 'Это

| правильная

| многострочная

| строка" ;

// Пример 2 многострочной строки МояМногострочнаяСтрока = "Это тоже" //Здесь можно указать комментарии

"правильная"

" многострочная"

"строка" ;

// Пример строки с кавычками НазваниеФирмы = "000 "Василек"";

Тип (Type)

Описание:

Значения данного типа используются для идентификации типов значений. Это необходимо для определения и сравнения типов. Данный тип не имеет литералов и возвращается функциями встроенного языка ТипЗнч и Тип (см. ниже).

Число (Number)

Описание:

Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.

Литералы:

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

Пример:

А = 15;

Б = -968.612;

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Приведение типа в языке запросов


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

<Приведение типа>

ВЫРАЗИТЬ ( <Выражение> КАК <Тип значения> )

<Тип значения>

БУЛЕВО | ЧИСЛО | СТРОКА | ДАТА | <Имя таблицы>

<Выражение> приводится к одному из базовых типов, или к ссылочному типу данных; в последнем случае <Имя таблицы> указывает на соответствующую таблицу информационной базы.

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

Если <Выражение> не содержит в составном типе требуемый <Тип значения>, то выполнение данного запроса завершится ошибкой из-за принципиальной невозможности совершить при­ведение типов.



Процедуры и функции интерактивной работы


Вопрос (DoQueryBox)

Синтаксис:

Вопрос(<Текст вопроса> , <Режим>, <Таймаут>)

Параметры:

<Текст вопроса> - Обязательный

Тип: Строка. Текст задаваемого вопроса.

<Режим> - Обязательный

Тип: системное перечисление РежимДиалогаВопрос. Задает состав кнопок диалога и возможные варианты ответов.

<Таймаут> - Необязательный

Тип: Число. Интервал времени в секундах, в течение которого система будет ожидать ответа пользователя. По истечении интер­вала окно вопроса будет закрыто.

Значение по умолчанию: Если параметр не указан или равен 0, то время ожидания не ограничено.

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

Тип: системное перечисление КодВозвратаДиалога. В зависимости от реакции поль­зователя возвращается одно из значений системного перечисления.

Описание:

Выводит на экран окно вопроса.

Пример:

Режим = РежимДиалогаВопрос.ДаНет;

Ответ = Вопрос("Продолжить выполнение операции?", Режим,0) ;

Если Ответ = КодВозвратаДиалога.Нет Тогда

    Возврат ;

КонецЕсли ;

См. также:

Глобальный контекст, метод Предупреждение.

ОбработкаПрерыванияПользователя

Синтаксис:

ОбработкаПрерыванияПользователя()

Описание:

Метод предназначен для прерывания работы встроенного языка при нажатии пользователем комбинации клавиш Ctrl+Break.

Метод проверяет, была ли нажата пользователем комбинация Ctrl+Break. Если да, то выполнение встроенного языка прекращается и выдается соответствующее сообщение. Рекомендуется использовать в длительных циклических операциях. Метод будет иметь действия, если операция инициирована определенным интерактивным действием пользователя:

- нажатие кнопки на форме;

- выбор пункта меню или кнопки панели инструментов (форме или интерфейса);

- действия инициируемые обработчиками событий "Выбор" элементов управления.

Пример:

// ТабДокФ - элемент управления типа "Табличный документ";

ТабДок = ЭлементФормы.ТабДокФ;

Выборка = Справочник.Номенклатура.Выбрать();

Пока Выборка.Следующий() Цикл




    Если Выборка.ПометкаУдаления Тогда

        Продолжить;

    КонецЕсли;

    Секция = Макет.ПолучитьОбласть("Строка");

    Секция.Параметры.СвойствоТекст = Выборка.Наименование;

    ТабДок.Вывести(Секция);

    ОбработкаПрерыванияПользователя();

КонецЦикла;

Оповестить (Notify)

Синтаксис:

Оповестить(<Имя события> , <Параметр> , <Источник>)

Параметры:

<Имя события> - Необязательный

Тип: Строка. Имя события. Может быть использовано для идентификации сообщений принимающими их формами.

<Параметр> - Необязательный

Тип: Произвольный. Параметр сообщения. Могут быть переданы любые необходимые данные.

<Источник>_- Необязательный

Тип: Произвольный. Источник события. Например, в качестве источника может быть указана другая форма.

Описание:

Посылает оповещение всем открытым формам. Если для формы задана процедура-обработчик события ОбработкаОповещения, то она будет запущена, в процедуру будут переданы указанные параметры.

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

Пример:

Оповестить("ЗакрытьФорму", ЭтаФорма);

См. также:

Форма, событие ОбработкаОповещения.

ОткрытьЗначение (OpenValue)

Синтаксис:

ОткрытьЗначение (< Значение>)

Параметры:

<3начение> - Обязательный

Тип: Произвольный. Значение любого типа, который может быть показан системой в диалоге.

Описание:

Показывает в диалоге переданное значение. Вид диалога зависит от типа переданного значения.

Пример:

Товар =

Справочники.Номенклатура.НайтиПоКоду(КодТовара);

ОткрытьЗначение(Товар);

ОткрытьИндексСправки (OpenHelpIndex)

Синтаксис:

ОткрытьИндексСправки(<Текст для поиска>)

Параметры:

<Текст для поиска> (необязательный)

Тип: Строка. Начальный текст для позиционирования в списке ключевых слов и выражений справки по приложению.

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



Тип: Булево.

Описание:

Открывает окно со списком ключевых слов и выражений (индексом) справки по приложению.

ОткрытьСодержаниеСправки (OpenHelpContent)

Синтаксис:

ОткрытьСодержаниеСправки()

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

Тип: Булево.

Описание:

Открывает окно с содержанием справки по приложению.

ОткрытьСправку (OpenHelp)

Синтаксис:

ОткрытьСправку(<Объект метаданных>)

Параметры:

<Объект метаданных> (необязательный)

Тип: Объект описания метаданного. Объект метаданных, по которому требуется вывести справочную информацию.

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

Тип: Булево.

Описание:

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

Пример:

ОткрытьСправку (Метаданные.Справочник.Контрагенты);

ОчиститьСообщения (ClearMessages)

Синтаксис:

ОчиститьСообщения()

Описание:

Очищает окно сообщений.

Пример:

ОчиститьСообщения();

Предупреждение (DoMessageBox)

Синтаксис:

Предупреждение (< Текст предупреждения> , <Таймаут>}

Параметры:

<Текст предупреждения> - Обязательный

Тип: Строка. Текст предупреждения.

<Таймаут> - Необязательный

Тип: Число. Интервал времени в секундах, в течение которого система будет ожидать ответа пользователя. По истечении интервала окно предупреждения будет закрыто.

Значение по умолчанию: Если параметр не указан или равен 0, то время ожидания не ограничено.

Описание:

Выводит на экран окно предупреждения.

Пример:

Предупреждение("Выберите документ!", 10);

Сигнал (Веер)

Синтаксис:

Сигнал()

Описание:

Воспроизводит звуковой сигнал. Устройство, воспроизводящее звук, а также характер звукового сигнала зависят от программно-аппаратного состава компьютера и звуковых установок ОС.

Пример:

Сигнал() ;

Сообщить (Message)

Синтаксис:

Сообщить(<Текст сообщения>, <Статус>)

Параметры:

<Текст сообщения> - Обязательный

Тип: Строка. Текст сообщения.

<Статус> - Необязательный

Тип: системное перечисление СтатусСообщения. Статус сообщения, определяет вид пиктограммы.

Значение по умолчанию: Обычное.



Описание:

Выводит текст сообщения в окно сообщений. Если в момент вы­ зова окно сообщений отсутствует, то будет открыто новое окно сообщений. Сообщение, в зависимости от его смысловой нагруз­ки, можно пометить одной из пиктограмм, входящих в предопре­деленный набор.

Пример:

Сообщить("Выбранный товар отсутствует на складе!", СтатусСообщения.Важное) ;

Состояние (Status)

Синтаксис:

Состояние(<Техст сообщения>)

Параметры:

<Текст сообщения> Необязательный

Тип: Строка. Строка, предназначенная для вывода в строку со­стояния.

Значение по умолчанию: Если параметр не указан, возобновляет­ся вывод системного текста в окно состояния.

Описание:

Выводит текст в строку состояния.

Пример:

Состояние("Выполняется обновление информационной базы');

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Процедуры и функции работы с данными информационной базы


НайтиПомеченныеНаУдаление (FindMarkedForDelete)

Синтаксис:

НайтиПомеченныеНаУдаление()

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

Тип: Массив. Массив со списком ссылок помеченных на удале­ние объектов.

Описание:

Находит все помеченные на удаление объекты

Пример:

ПомеченныеОбъекты = НайтиПомеченныеНаУдаление();

Для Каждого ПомеченныйЭлемент Из ПомеченныеОбъекты Цикл

    Сообщить ("Помечен на удаление:" + ПомеченныйЭлемент);

КонецЦикла ;

НайтиПоСсылкам (FindDataByRef)

Синтаксис:

НайтиПоСсылкам (< Список ссылок> )

Параметры:

<Список ссылок>             Обязательный

Тип: Массив. Массив со списком ссылок на объекты, ссылки на которые нужно найти.

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

Тип: ТаблицаЗначений. Таблица значений, состоящая из ко­лонок с индексами: 0 - Искомая ссылка; 1 - Ссылка на объект, который содержит искомую ссылку.

Описание:

Осуществляет поиск ссылок на объекты.

Пример:

Ссылки = НайтиПомечеаныеНаУдаление();

ТабСсылок = НайтиПоСсылкам (Ссылки);

Для Каждого Ссылка из ТабСсылок Цикл

    Сообщить (" " + Сокр(Ссылка[0]) + " " + Сокр(Ссылка[1]));

КонецЦикла;

УдалитьОбъекты (DeleteObjects)

Синтаксис:

УдалитьОбъекты (< Список ссылок> , <Проверять> , <Найденные данные> )

Параметры:

<Список. ссылок>             Обязательный

Тип: Массив. Список ссылок на объекты, которые нужно уда­лить.

<Проверять>             Необязательный

Тип: Булево. Параметр определяет, выполнять ли контроль ссы­лочной целостности при выполнении процедуры. Истина -перед удалением проверяется, нет ли ссылок на удаляемый объ­ект. Если есть, то объект не удаляется, а ссылки помещаются в таблицу значений <Найденные данные>. Ложь   - проверка не выполняется.

Значение по умолчанию: Ложь.

<Найденные данные>             Необязательный




Тип: ТаблицаЗначений. Таблица значений, в которую поме­ щаются найденные ссылки на объект, содержит колонки с индек­сами:

0 - Искомая ссылка, 1 - Ссылка на объект, который содержит искомую ссылку.

Описание:

Удаляет объекты.

Пример:

// удаление помеченных объектов с контролем ссылочной целостности

Помеченные = НайтиПомеченныеНаУдаление();

Найденные = 0;

УдалитьОбъекты(Помеченные, Истина, Найденные);

Для Каждого Ссылка из Найденные Цикл

    СтрНеУдален = "Объект не удален: " + Сокр(Ссылка[0]);

    СтрСсылка = ", используется в " + Сокр(Ссылка.[1]);

    Сообщить (СтрНеУдален + СтрСсылка);

КонецЦикла ;

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Процедуры и функции работы с файлами


КопироватьФайл (FileCopy)

Синтаксис:

КопироватьФайл(< Имя файла источника> , <Имя файла приемника>)

Параметры:

<Имя файла источника>             Обязательный

Тип: Строка. Полное имя файла-источника.

<Имя файла приемника>            Обязательный

Тип: Строка. Полное имя файла-приемника.

Описание:

Позволяет скопировать файл-источник в файл-приемник.

Примечание:

Не допускается перезапись файла-приемника, т.е. его не должно быть до исполнения метода.

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

Пример:

КопироватьФайл("С:\Тетр\Order.htm1", "С:\Му Documents\Order.htm1");

НайтиФайлы (FindFiles)

Синтаксис:

НайтиФайлы(< Путь>, <Маска>)

Параметры:

<Путь>             Обязательный

Тип: Строка. Путь к каталогу, в котором производится поиск.

<Маска>             Необязательный

Тип: Строка. Маска выбора файлов. В строке маски допускается использование символа "*" (звездочка), обозначающего любое число произвольных символов, и "?" (знак вопроса), обозначаю­щего один произвольный символ.

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

Тип: Массив. Массив из значений типа Файл, содержащий най­денные файлы.

Описание:

Позволяет найти файлы и каталоги по заданной маске, лежащие в заданном каталоге.

Пример:

НайденныеФайлы = НайтиФайлы("С:\Temp", "*.cdx");

ПереместитьФайл (MoveFile)

Синтаксис:

ПереместитьФайл (< Имя файла источника> , <Имя файла приемника> )

Параметры:

<Имя файла источника>             Обязательный

Тип: Строка. Полное имя файла-источника (полное исходное имя файла).




<Имя файла приемника>             Обязательный

Тип: Строка. Полное имя файла-приемника (полное новое имя файла).

Описание:

Позволяет выполнить перемещение (переименование) указанного файла.

Пример:

ПереместитьФайл ("С: \Temp\Order.htm", "С:\Му Documents\Order.htm") ;

СоздатьКаталог (CreateDirectory)

Синтаксис:

СоздатьКаталог(< Имя каталога>)

Параметры:

<Имя каталога>             Обязательный

Тип: Строка. Полное имя создаваемого каталога.

Описание:

Создает новый каталог файлов.

Пример:

СоздатьКаталог ("С:\_1CV80");

УдалитьФайлы (DeleteFiles)

Синтаксис:

УдалитьФайлы(<Путь>, <Маска>)

Параметры:

<Путь>            Обязательный

Тип: Строка. Путь к удаляемым файлам.

<Маска>             Необязательный

Тип: Строка. Маска для выбора удаляемых файлов. В строке маски допускается использование символа "*" (звездочка), обо­значающего любое число произвольных символов, и "?" (знак во­проса), обозначающего один произвольный символ.

Описание:

Позволяет удалить указанные файлы.

Примечание:

Для удаления одного файла, можно передать его полное имя че­рез первый параметр, либо передать путь к нему через первый параметр, а его короткое имя - через второй.

Пример:

УдалитьФайлы("С:\ Temp", "*. cdx");

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Процедуры и функции работы с информационной базой


ЗаписьЖурналаРегистрации (WriteLogEvent)

Синтаксис:

ЗаписьЖурналаРегистрации(<Событие>, <Уровень>, <Объект метаданных>, <Данные>, <Комментарий>)

ЗафиксироватьТранзакцию

Синтаксис:

ЗафиксироватьТранзакцию()

Описание:

Завершает успешную транзакцию. Все изменения, внесенные в информационную базу в процессе транзакции, будут записаны.

Пример:

ЗафиксироватьТранзакцию();

См. также:

Глобальный контекст, метод НачатьТранзакцию.

Глобальный контекст, метод ОтменитьТранзакцию.

МонопольныйРежим (ExclusiveMode)

Синтаксис:

МонопольныйРежим()

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

Тип: Булево. Истина - используется монопольный режим, Ложь - монопольный режим не используется.

Описание:

Проверяет, используется ли в данный момент монопольный ре­жим работы с информационной базой.

Пример:

Если МонопольныйРежим() Тогда

// Выполнить обработку

Иначе

    Текст = "Для выполнения обработки необходим монопольный режим";

    Предупреждение(Текст, 10);

КонецЕсли;

НачатьТранзакцию (BeginTransaction)

Синтаксис:

НачатьТранзакцию()

Описание:

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

Пример:

// Увеличение закупочной цены на 5%

ВыборкаТоваров = Справочники. Номенклатура. Выбрать();

НачатьТранзакцию();

Пока ВыборкаТоваров.Следующий() Цикл

    ТоварОбъект = ВыборкаТоваров.ПолучитьОбъект();

    ЗакупочнаяЦена = ТоварОбъект.ЗакупочнаяЦена;

    Если ЗахупочнаяЦена <> 0 Тогда

        ТоварОбъект.ЗакупочнаяЦена = ЗакупочнаяЦена * 1.05;

        ТоварОбъект.Записать();

    КонецЕсли;

КонецЦикла;

ЗафиксироватьТранзакцио();

См. также:

Глобальный контекст, метод ЗафиксироватьТранзакцию.




Глобальный контекст, метод ОтменитьТранзакцию. 

ОтменитьТранзакцию (RollBackTransaction)

Синтаксис:

ОтменитьТранзакцию()

Описание:

Отменяет открытую ранее транзакцию. Все изменения, внесенные в информационную базу в процессе транзакции, будут отменены.

Пример:

Если ОбнаруженыОшибки Тогда 

    ОтменитьТранзакцию();

КонецЕсли;

См. также:

Глобальный контекст, метод НачатьТранзакцию.

Глобальный контекст, метод ЗафиксироватьТранзакцию.

ПолучитьОперативнуюОтметкуВремени (GetOperativeTimestamp)

Синтаксис:

ПолучитьОперативнуюОтметкуВремени()

УстановитьМонопольныйРежим (SetExclusiveMode)

Синтаксис:

УстановитьМонопольныйРежим(< Монопольный режим> }

Параметры:

<Монопольный режим>            Обязательный

Тип: Булево. Истина - установить монопольный режим, Ложь - снять монопольный режим.

Описание:

Устанавливает и отключает использование монопольного режима работы с информационной базой.

Примечание:

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

Пример:

Попытка

    УстановитьМонопольныйРежим(Истина);

Исключение

    Текст = "С информационной базой работают другие пользователи.

        | В данный момент невозможно установить монопольный режим";

    Предупреждение(Текст, 10);

КонецПопытки;


Процедуры и функции работы с операционной системой


ЗапуститьПриложение (RunApp)

Синтаксис:

ЗапуститьПриложение (<Строка команды>)

Параметры:

<Строка команды> Обязательный

Тип: Строка. Командная строка для запуска приложения либо имя файла, ассоциированного с некоторым приложением.

Описание:

Выполняет запуск внешнего приложения либо открытие файла с использованием ассоциированного с ним приложения.

Примечание:

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

Пример:

// открытие файла MS Excel 

ЗапуститьПриложение("Таблица.xls");

КомандаСистемы (System)

Синтаксис:

КомандаСистемы (< Строка команды>)

Параметры:

<Строка команды>            _Обязательный

Тип: Строка. Команда системы.

Описание:

Вызывает на исполнение команду операционной системы, как если бы она была введена в командной строке.

Примечание:

После загрузки Windows-приложения управление возвращается в 1C: Предприятие и исполнение модуля продолжается.

Пример:

// получение/установка текучего системного времени 

КомандаСистемы( "time" );



Процедуры и функции работы с внешними компонентами


ЗагрузитьВнешнююКомпоненту

Синтаксис:

ЗагрузитьВнешнююКомпоненту(< Имя файла>)

Параметры:

<Имя файла>             Обязательный

Тип: Строка. Имя файла внешней компоненты.

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

Истина - компонента успешно загружена. Ложь - при загрузке компоненты произошла ошибка.

Описание:

Загружает внешнюю компоненту и подключает ее объекты к 1С:Предприятию. Файл внешней компоненты должен находиться в каталоге исполняемых файлов программы.

Примечание:

Внешние компоненты совместимы с компонентами 1С:Предпрятия 7.7.

Пример:

Попытка

    ЗагрузитьВнешнююКомпоненту("scanopos.dll");

    Сообщить('Компонента scanopos загружена");

Исключение

    Сообщить("Компонента scanopos не найдена!", '!');

КонецПопытки

См. также:

Глобальный контекст, метод ПодключитьВнешнююКомпоненту.

Глобальный контекст, событие ОбработкаВнешнегоСобытия.

ПодключитьВнешнююКомпоненту (AttachAddIn)

Синтаксис:

ПодключитьВнешнююКомпоненту (< Идентификатор объекта>)

Параметры:

<Идентификатор объекта>            Обязательный

Тип: Строка. ProgID (Programmatic Identifier) объекта внешней компоненты. Должно соответствовать информации, находящейся в регистрационной базе данных системы (Registry).

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

Истина - компонента успешно подключена. Ложь - при подключении компоненты произошла ошибка.

Описание:

Подключает объекты внешней компоненты к 1C:Предприятию.

Примечание:

Внешние    компоненты   совместимы   с    компонентами 1С:Предпрятия 7.7.

Пример:

Попытка

    ПодклочитьВнешнююКомпоменту("Addin .Scanner");

    Сообщить ("Компонента для сканера штрих-кодов загружена");

Исключение

    Сообщить("Компонента для сканера штрих-кодов не загружена");

КонецПопытки

См.также:

Глобальный  контекст, метод ЗагрузитьВнешнююКомпоненту.

Глобальный контекст, событие ОбработкаВнешнегоСобытия.

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»



Процедуры и функции сеанса работы


ЗаблокироватьРаботуПользователя (LockUserWork)

Синтаксис:

ЗаблокироватьРаботуПользователя()

Описание:

Блокирует    работу   пользователя,   минимизирует    окно 1C: Предприятия и выводит диалог авторизации. Продолжение работы возможно только после ввода пароля.

ЗавершитьРаботуСистемы (ExitSystem)_

Синтаксис:

ЗавершитьРаботуСистемы (<Запрашивать возможности>)

Параметры:

<3апрашивать возможность>             Необязательный

Тип: Булево. Если значение параметра Истина, то будет вы­полняться запрос возможности закрытия для каждого открытого окна и для всего приложения. Если Ложь, то завершение работы программы будет выполнено безусловно.

Значение по умолчанию: Истина.

Описание:

Позволяет    принудительно   вызвать   завершение    работы 1C: Предприятия. В зависимости от переданного параметра может выполнять запросы на возможность закрытия окон и завершения работы системы или завершить работу безусловно.

Пример:

// безусловное завершение работы программы

ЗавершитьРаботуСистемы();

ИмяКомпьютера (ComputerName)

Синтаксис:

ИмяКомпьютера()

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

Тип: Строка. Сетевое имя компьютера.

Описание:

Получает сетевое имя компьютера.

Пример:

СетевоеИмяКомпьютера = ИмяКомпьютера();

Имя Пользователя (UserName)

Синтаксис:

ИмяПользователя()

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

Тип: Строка. Имя пользователя.

Описание:

Получает имя пользователя, указанного при запуске программы.

Пример:

ТекущийПользователь = ИмяПользователя();

См. также:

Глобальный контекст, метод ПолноеИмяПользователя.

КаталогВременныхФайлов (TempFilesDir)

Синтаксис:

КаталогВременныхФайлов()

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

Тип: Строка. Имя каталога временных файлов программы.

Описание:

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

Пример:

ГдеИскать = КаталогВременныхФайлов();

КаталогПрограммы (BinDir)

Синтаксис:

КаталогПрограммы()

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

Тип: Строка. Имя каталога исполняемых файлов программы.




Описание:

Получает имя каталога, в котором расположены исполняемые файлы программы.

Пример:

ГдеИскать = КаталогПрограммы();

ОтключитьОбработчикОжидания

Синтаксис:

ОтключитьОбработчикОжидания(<Имя процедуры>)

Параметры:

<Имя процедуры>             Обязательный

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

Описание:

Отключает подключенный ранее при помощи процедуры ПодключитьОбработчикОжидания вызов процедуры через определенный интервал времени.

Пример:

Процедура ОтчетОПродажахЗаДень() 

// ... 

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

//...

ПодключитьОбработчикОжидания("ОтчетОпродажахЗаДень", 60);

//... 

ОтключитьОбработчикОжидания("ОтчетОпродажахЗаДень");

См. также:

Глобальный контекст, метод ПодключитьОбработчикОжидания.

ПодключитьОбработчикОжидания (AttachldleHandler)

Синтаксис:

ПодключитьОбработчикОжидания(< Имя процедуры> , <Интервал>)

Параметры:

<Имя процедуры>_            Обязательный

Тип: Строка. Имя процедуры глобального или общего модуля.

<Интервал>            Обязательный

Тип: Число. Интервал времени в секундах, через который будет осуществляться вызов процедуры (положительное число).

Описание:

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

Пример:

Процедура ОтчетОПродажахЗаДень() 

// .. . 

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

//...

ПодключитьОбработчикОжидания(" ОтчетОпродажахЗаДень", 60);

См. также:

Глобальный контекст, метод ОтключитьОбработчикОжидания.

ПолноеИмяПользователя (UserFullName)

Синтаксис:

ПолноеИмяПользователя()

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

Тип: Строка. Полное имя пользователя.



Описание:

Получает полное имя пользователя, указанного при запуске программы.

Пример:

ФИОПользователя = ПолноеИмяПользователя();

См. также:

Глобальный контекст, метод ИмяПользователя.

ПолучитьЗаголовокСистемы (GetSystemCaption)

Синтаксис:

ПолучитьЗаголовокСистемы()

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

Тип: Строка. Заголовок главного окна программы.

Описание:

Получает текст заголовка главного окна программы.

Пример:

СтарыйЗаголовок = ПолучитьЗаголовокСистемы();

НовыйЗаголовок = СтарыйЗаголовок + " " + ИмяПользователя();

УстановитьЗаголовокСистемы(НовыйЗаголовок);

См. также:

Глобальный контекст, метод УстановитьЗаголовокСистемы.

ПравоДоступа (AccessRight)

Синтаксис:

ПравоДоступа(<Право>, <Объект метаданного> )

Параметры:

<Право>             Обязательный

Тип: Строка. Название права доступа. Могут быть использованы следующие значения:

• "Проведение" ("Post") - проведение документов;

• "ОтменаПроведения" ("Unpost") - отмена проведения документов;

• "УправлениеИтогами" ("TotalsControl") - управление итогами;

• "ИнтерактивноеПроведение" ("InteractivePost") - интерактивное проведение;

• "ИнтерактивнаяОтменаПроведения" ("InteractiveUnpost") -интерактивная отмена проведения;

• "ИнтерактивноеОткрытиеВнешнихОбработок" - интерактивное открытие внешних обработок;

• "Чтение" ("Read") - чтение;

• "Добавление" ("Insert") - добавление;

• "Изменение" ("Update") - изменение;

• "Удаление" ("Delete") - удаление;

• "Использование" ("Use") - использование;

• "Просмотр" ("View") - просмотр;

• "ИнтерактивноеДобавление" ("Interactivelnsert") - интерактивное добавление;

• "Редактирование" ("Edit") - редактирование;

• "ИнтерактивноеУдаление" ("InteractiveDelete") - интерактив­ное непосредственное удаление;



• "ИнтерактавнаяПометкаУдаления" - интерактивная пометка на удаление;

• "ИнтерактивноеСнятиеПометкиУдаления" - интерактивное снятие по­метки на удаление;

• "Интерактивное УдалениеПомеченных" - интерактивное удаление поме­ченных объектов;

• "Администрирование" ("Administration") - администрирова­ние;

• "МонопольныйРежим" ("ExclusiveMode") - использование монопольного режима;

• "АктивныеПользователи" ("ActiveUsers") - просмотр списка активных пользователей.

<0бъект метаданных>            Обязательный

Тип: Объект описания метаданного. Объект метаданных.

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

Тип: Булево. Истина - есть право доступа. Ложь - нет права доступа.

Описание:

Определяет установку права доступа к объекту метаданных для текущего пользователя.

Примечание:

Права доступа к объектам метаданных устанавливаются при конфигурировании ролей.

Пример:

ТипСправочника = Метаданные.Справочники.Конкуренты;

Если Не ПравоДоступа ("Чтение" , ТипСправочника) Тогда

    Предупреждение ("Доступ: к данному справочнику закрыт!");

КонецЕсли;

ПрекратитьРаботуСистемы (TerminateSystem)

Синтаксис:

ПрекратитьРаботуСистемы()

Описание:

Завершает работу системы не зависимо от наличия модальных диалогов, открытых редактируемых форм документов и справочников и т.д. При этом не вызываются процедуры-обработчики событий завершения работы системы.

РольДоступна (IsRoleAvailable)

Синтаксис:

РольДоступна(< Роль>)

Параметры:

<Роль>            Обязательный

Тип: Строка, Объект описания метаданного. Название роли как она задана в конфигураторе или объект описания метаданного роли.

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

Тип: Булево. Истина - роль доступна текущему пользовате­лю, Ложь - роль текущему пользователю не доступна.

Описание:

Определяет доступность указанной роли текущему пользователю.



Пример:

Если Не РольДоступна("Менеджер") Тогда

    Сообщить(" Просмотр заявок от покупателей: не разрешен!");

КонецЕсли;

УстановитьЗаголовокСистемы

Синтаксис:

УстановитьЗаголовокСистемы(< Заголовок>)

Параметры:

<3аголовок>            Обязательный

Тип: Строка. Текст, устанавливаемый в качестве заголовка глав­ного окна программы.

Описание:

Устанавливает новый заголовок главного окна программы.

Пример:

НовыйЗаголовок = "Торговый дом";

УстановитьЗаголовокСистемы(НовыйЗаголовок) ;

См. также:

Глобальный контекст, метод ПолучитьЗаголовокСистемы.

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Процедуры и функции сохранения значений


ВосстановитьЗначение (RestoreValue)

Синтаксис:

ВосстановитьЗначение(< Имя>)

Параметры:

<Имя>            Обязательный

Тип: Строка. Имя сохраненного значения.

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

Тип: Произвольный. Восстановленное значение; если восстановить не удалось, то Неопределено.

Описание:

Получает значение, сохраненное ранее с помощью процедуры СохранитьЗначение.

Пример:

СрокИсполнения = ВосстановитьЗначение("СрокИсполненияЗаказа");

ДатаИсполнения = ДатаДокумента + Макс(СрокИсполнения, 5);

См. также:

Глобальный контекст, метод СохранитьЗначение.

ЗначениеВСтрокуВнутр

Синтаксис:

ЗначениеВСтрокуВнутр(<Значение>}

Параметры:

<3начение>             Обязательный

Тип: Произвольный. Преобразуемое значение.

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

Тип: Строка. Системное представление значения в информаци­онной базе.

Описание:

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

См. также:

Глобальный контекст, метод ЗначениеИзСтрокиВнутр.

ЗначениеВФайл (ValueToFile) _

Синтаксис:

ЗначениеВФайл(< Имя файла>, <3начение>}

Параметры:

<Имя файла>            Обязательный

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

<3начение>             Обязательный

Тип: Произвольный. Сохраняемое значение.

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

Тип: Булево, Истина - сохранение значения выполнено, Ложь - сохранение значения не выполнено.

Описание:

Позволяет сохранить любое значения в файле.

См. также:

Глобальный контекст, метод ЗначениеИзФайла.

ЗначениеИзСтрокиВнутр (ValueFromStringlntemal)_




Синтаксис:

ЗначениеИзСтрокиВнутр(<Строка>)

Параметры:

<Строка>            Обязательный

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

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

Тип: Произвольный. Значение, полученное из строкового системного представления.

Описание:

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

Примечание:

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

См. также:

Глобальный контекст, метод ЗначениеВСтрокуВнутр.

ЗначениеИзФайла (ValueFromFHe)

Синтаксис:

ЗначениеИзФайла(< Имя файла>)

Параметры:

<Имя файла>            Обязательный

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

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

Тип: Произвольный.

Описание:

Получает из файла значение, ранее сохраненное в нем при помо­щи функции ЗначениеВФайл. Тип возвращаемого значения определяется типом значения, сохраненного в файле.

См. также:

Глобальный контекст, метод ЗначениеВФайл.

СохранитьЗначение (SaveValue)

Синтаксис:

СохранитьЗначение(<Имя>, <3начение>)

Параметры:

<Имя>            Обязательный

Тип: Строка. Имя, с которым сохраняется значение, использует­ся для идентификации сохраняемых значений.

<3начение>            Обязательный

Тип: Произвольный. Сохраняемое значение.

Описание:

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

Пример:

СохранитьЗначение("СрокИсполненияЗаказа", СрокИсполнения);

СохранитьЗначение("СкладПоУмолчанию", МестоХранения);

См. также:

Глобальный контекст, метод ВосстановитьЗначение.

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Прочие


Вычислить (Eval)

Синтаксис:

Вычислить (< Выражение>)

Параметры:

<Выражение> -_Обязательный

Тип:Строка.

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

Результат вычисления выражения. Тип возвращаемого значения зависит от типа выражения.

Описание:

Позволяет выполнить переданное выражение. С помощью метода можно вычислять математические и логические выражения, а также операции конкатенации. Подробнее про выражения см. раздел "Выражения языка".

Пример:

А = Вычислить("500 + 500*20/100") ;

А = Вычислить("Истина и Ложь");

А = Вычислить ("" "Иван"" + "" "" + ""Иванович"");

Макс (Мах)

Синтаксис:

Макс(<Значение 1>, ..., <3начение N> )

Параметры:

<3начение 1>, . .., <3начение N> - Обязательный

Тип: Число, Строка, Дата, Булево. Набор параметров, который определяет перечень значений для сравнения.

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

Возвращается максимальное из полученных значений.

Описание:

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

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

Пример:

//    Пример для чисел

А = Макс(1, 2, 3);    // A = 3

//    Пример для строк

А = Макс ("ААА", "БББ", "ЯЯЯ");    // А = "ЯЯЯ"

//    Пример для дат

А = Макс('20020715220000', '20020714', '20020714091500');    // А = '20020715220000'                                .




//    Пример для значений булевого типа

 А = Макс(Истина, Ложь);     // А = Истина

Мин (Min)

Синтаксис:

Мин(<Значение 1>, .. ., <3начение N>)

Параметры:

<3начение 1>, . . ., <Значение N>_- Обязательный

Тип: Число, Строка, Дата, Булево. Набор параметров, который определяет перечень значений для сравнения.

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

Возвращается минимальное из полученных значений.

Описание:

Определяет минимальное значение из полученных параметров.

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

Пример:

// Пример для чисел

А = Мин(1, 2, 3);        // А = 1

// Пример для строк

А = Мин("ААА", "БББ", "ЯЯЯ");        // А = "ААА"

А = Макс('20020715220000', '20020714', '20020714091500');    // А = '20020714'

//    Пример для значений булевого типа

 А = Макс(Истина, Ложь);     // А = Ложь

ОписаниеОшибки (ErrorDescription)

Синтаксис:

ОписаниеОшибки()

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

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

Описание:

Предназначена для определения описания ошибки. Применять данную функцию имеет смысл только внутри операторных скобок Исключение - КонецПопытки, так как в ином случае она вернет пустую строку. Помогает в выдаче диагностики при воз­никновении ошибок.



СоздатьОбъект (CreateObject)

Синтаксис:

СоздатьОбъект(<Тип>, <Массив параметров конструкторов>)

Параметры:

<Тил>_Обязательный

Тип: Строка, Тип. Определяет тип создаваемого значения. Может задаваться в виде строки с именем типа или непосредст­венно значением типа Тип.

<Массив параметров конструкторов>_Не обязательный

Тип: Массив. В качестве второго параметра может быть передан массив, содержащий параметры конструкторов, если таковые до­пустимы для данного типа.

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

Созданное значение.

Описание:

Позволяет создать значение указанного типа.

Пример:

М = Новый Массив (11) ;

М[0] = "C:\Temp\temp.txt";

Ст = СоздатьОбъект("Файл",М);

Сообщить(Ст.ЭтоКаталог());

Тип (Type)

Синтаксис:

Тип(<Имя типа>)

Параметры:

<Имя типа>Обязательный

Тип: Строка. Имя получаемого типа.

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

Тип: Тип. Полученный тип значения.

Описание:

Позволяет получить тип по его строковому имени.

Пример:

Если ТипЗнч (ТекОбъект) = Тип ("СправочникСсылка. Номенклатура") Тогда 

КонецЕсли;

ТипЗнч (TypeOf)

Синтаксис:

ТипЗнч(< Значение>)

Параметры:

<3начение> - Обязательный

Тип: Произвольный. Значение, тип которого необходимо полу­чить.

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

Тип: Тип. Полученный тип значения.

Описание:

Позволяет получить тип полученного значения.

Пример:

Если ТипЗнч (ТекОбъект) = Тип ("СправочникСсылка. Номенклатура") Тогда 

КонецЕсли;

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Псевдонимы источников данных


Если источнику данных назначить псевдоним, то в дальнейшем к этому источнику можно будет обращаться, используя этот псев­доним (и уже нельзя будет обращаться через указание имени таб­лицы). Такое обращение может быть более удобным и наглядным, а в некоторых случаях единственно возможным.

Псевдоним задается в соответствии с правилами назначения идентификаторов переменных. Псевдонимы в запросе не могут совпадать.

Ключевое слово КАК может предшествовать псевдониму источ­ника. Это слово можно не указывать вообще, но если оно указано, повышается наглядность и удобочитаемость текста запроса.

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

Пример:

// Данный пример демонстрирует использование

// в списке полей выборки псевдонима Товар,

// назначенного исходной таблице Справочник.Номенклатура

Выбрать

    Товар.Наименование,

    Товар.Родитель

Из

    Справочник.Номенклатура.Товар



Псевдонимы итогов


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

Пример:

ВЫБРАТЬ

    Док.Товар, Док.Количество, Док.Ссылка.Номер, Док.Ссылка.Получатель

ИЗ

    Документ.РасхНакл.Состав Док

УПОРЯДОЧИТЬ ПО

    Док.Товар

ИТОГИ

    СУММА(Количество)

ПО Док.Товар

ТОЛЬКО ИЕРАРХИЯ

   КАК Товары

В случае если псевдоним не указан система сама даст имя итогу, так, чтобы оно было уникально. В выше приведенном примере итог будет иметь имя "Товары".

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»



Псевдонимы полей в списке выборки


Если полю выборки назначить псевдоним, то в дальнейшем к этому полю можно будет обращаться, используя его псевдоним, в предложениях УПОРЯДОЧИТЬ ПО и ИТОГИ, а также при работе с результатом запроса. Такое обращение может быть более удоб­ным и наглядным, а в некоторых случаях единственно возмож­ным.

Ключевое слово КАК может предшествовать псевдониму поля. Это слово можно не указывать вообще, но если оно указано, по­вышается наглядность и удобочитаемость текста запроса.

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

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

Пример:

// Необходимо выбрать из справочника товаров

// наименования товаров и наименования групп.

Выбрать

Справочник. Номенклатура.Наименование Как Товар,

    Справочник. Номенклатура.Родитель.Наименование Как Группа

из

    Справочник.Номенклатура

Результат запроса:

Товар Группа
Брюки детские Одежда
Рубашка «Ковбойка» Одежда
Одежда  
Джинсы женские Одежда
Свитер детский Одежда
Сантехника  
Бытовая техника  
Раковина «Лилия» Сантехника
Мойдодыр «Аквариум» Сантехника
Смеситель «Ультра» Сантехника

Обратите внимание, что поля в результате запроса поля называ­ются «Товар» и «Группа». Если бы псевдонимы полей не были указаны, поля в результате запроса назывались бы «Наименова­ние» и «Наименование1» (названия полей в результате запроса не могут совпадать, поэтому к названию второго поля автоматически добавлено «1»), что гораздо менее наглядно.



ПустаяСтрока (IsBlankString)


«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

ПустаяСтрока (IsBlankString)

Синтаксис:

ПустаяСтрока(<Строка>}

Параметры:

<Строка>_Обязательный

Тип: Строка. Исходная строка.

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

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

Ложь, если строка содержит значащие символы.

Описание:

Проверяет строку на наличие значащих символов.

Пример:

Если ПустаяСтрока(Сотрудник.Фамилия) Тогда

    Предупреждение("Укажите фамилию сотрудника.");

КонецЕсли;

Символ (Char) _

Синтаксис:

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

Параметры:

<Код символа> Обязательный

Тип: Число. Код получаемого символа. Код задается в соответст­вии с кодировкой Unicode.

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

Тип: Строка. Результирующий символ.

Описание:

Преобразует код символа в строку, содержащую символ.

Пример:

Буква_я = Символ(1103);

СокрЛ (TrimL)

Синтаксис:

СокрЛ(<Строка>)

Параметры:

<Строка>_обязательный

Тип: Строка. Исходная строка.

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

Тип: Строка. Строка, полученная в результате отсечения пробе­лов .

Описание:

Отсекает пробелы, стоящие слева от первого значащего символа в строке.

Пример:

НаименованиеДляПечати = СокрЛ(Товар.Наименование);

СокрЛП (TrimAII)

Синтаксис:

СокрЛП(<Строка>)

Параметры:

<Строка>Обязательный

Тип: Строка. Исходная строка.

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

Тип: Строка. Строка, полученная в результате отсечения пробе­лов .

Описание:

Отсекает пробелы, стоящие слева от первого значащего символа в строке, и пробелы, стоящие справа от последнего значащего сим­вола в строке.

Пример:

НаименованиеДляПечати = СокрЛП(Товар.Наименование);

СокрП (TrimR)

Синтаксис:

СокрП(<Строка>)

Параметры:

<Строка>_Обязательный

Тип: Строка. Исходная строка.

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

Тип: Строка. Строка, полученная в результате отсечения пробе­лов .

Описание:

Отсекает пробелы, стоящие справа от последнего значащего сим­вола в строке.




Пример:

НаименованиеДляПечати = СокрП(Товар.Наименование);

Сред (Mid)

Синтаксис:

Сред(<Строка>, <Начальный номер> , < Число символов>)

Параметры:

<Строка>_Обязательный

Тип: Строка. Исходная строка.

<Начальный номер> -  Обязательный

Тип: Число. Начальный номер символа, с которого начинается выборка. Нумерация символов в строке начинается с 1.

<Число символов Необязательный

Тип: Число. Количество выбираемых символов.

Значение по умолчанию: Если параметр не указан, то выбираются символы до конца строки.

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

Тип: Строка. Строка выбранных символов.

Описание:

Позволяет выбрать строку символов начиная с символа <Начальный номер> общим количеством <Число символов>.

Пример:

// Пусть номер автомобиля в справочнике основных средств задается 

// в виде х999хх99, где последние две цифры - код региона.

// Получим цифровую часть номера. 

ЦифрыНомера = Сред(ОС.Госномер, 2, 3);

СтрДлина (StrLen)

Синтаксис:

СтрДлина (<Строка>)

Параметры:

<Строка>Обязательный

Тип: Строка. Исходная строка.

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

Тип: Число. Длина строки.

Описание:

Позволяет получить количество символов в строке.

Пример:

ДлинаНаименования = СтрДлина (Товар. Наименование);

СтрЗаменить (StrReplace)

Синтаксис:

СтрЗаменить(<Строка>, <Подстрока лоиска> , <Подстрока замены>}

Параметры:

<Строка>_Обязательный

Тип: Строка. Исходная строка.

<Подстрока поиска>   _Обязательный

Тип: Строка. Искомая подстрока.

<Подстрока замены> Обязательный

Тип: Строка. Подстрока, на которую будет заменена подстрока поиска.

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

Тип: Строка. Строка, полученная в результате замены.

Описание:

Находит в исходной строке все вхождения подстроки поиска и заменяет ее на подстроку замены.

Пример:

Результат = СтрЗаменить(Номенклатура.Наименование, "_", " ");

СтрПолучитьСтроку (StrGetLine)

Синтаксис:

СтрПолучитьСтроку (< Строка>, <Номер строки>)



Параметры:

<Строка> - Обязательный

Тип: Строка. Исходная строка. 

<Номер строки> - Обязательный

Тип: Число. Номер получаемой строки. Нумерация строк в многострочной строке начинается с 1.

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

Тип: Строка. Полученная строка.

Описание:

Позволяет получить строку многострочной строки по номеру.

Пример:

Для х = 1 по СтрЧислоСтрок(ИсхТекст) Цикл

    ТекСтр = СтрПолучитьСтроку(ИсхТекст, х);

КонецЦикла;

СтрЧислоВхождений

Синтаксис:

СтрЧислоВхождений(< Строка>, <Подстрока поиска>)

Параметры:

<Строка> - Обязательный

Тип: Строка. Исходная строка.

<Подстрока поиска> - Обязательный

Тип: Строка. Искомая подстрока.

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

Тип: Число. Число вхождений.

Описание:

Позволяет вычислить число вхождений подстроки поиска в исходной строке.

Пример:

Результат = СтрЧислоВхождений(ИсходиыйТекст, "Число");

Сообщить ("Слово "Число" встречается " + Результат + " раз.");

СтрЧислоСтрок (StrLineCount)

Синтаксис:

СтрЧислоСтрок(<Строка>)

Параметры:

<Строка> - Обязательный

Тип: Строка. Исходная строка.

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

Тип: Число. Число строк.

Описание:

Позволяет посчитать число строк в многострочной строке. Стро­ки в многострочной строке разделены символами перевода строк

(Символы.ПС).

Пример:

Для х = 1 по СтрЧислоСтрок(ИсхТекст) Цикл

КонецЦикла;

«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Работа с файлами


Для работы с файлами в 1C: Предприятии используются объекты Файл и

ДиалогВыбораФайла.

Файл является средством управления параметрами файлов.

ДиалогВыбораФайла представляет собой диалог специально­го вида для открытия или сохранения файлов.



Работа с индексными файлами


Следует иметь в виду, что одновременно XBase-объект может быть связан не более, чем с одним индексным файлом. Все изме­нения в базе данных, сделанные в сеансе работы с одним индекс­ным файлом, никак не отражаются на остальных. Поэтому не ре­комендуется иметь более одного индексного файла для БД. В противном случае, после каждого открытия БД с индексным фай­лом, отличным от открытого в предыдущем сеансе работы с ба­зой, следует производить переиндексацию (обновление содержи­мого индексного файла).



Работа с коллекциями значений


Ряд объектов в языке 1С:Предприятия представляют собой коллекции значений. Большинство коллекций имеют набор схожих методов и свойств, таких как Количество(), Индекс(), Добавить(), Удалить() и т.д. В качестве свойств коллекции, как правило, выступают ее элементы. Для коллекций доступен обход элементов коллекции посредством конструкции Для каждого - Из -Цикл. Для большинства коллекций доступно обращение к элементам коллекции с помощью оператора [<Аргумент>] (квадратные скобки). Как правило, в качестве аргумента передается индекс элемента коллекции. Индексирование элементов; коллекции начинается с 0. Это означает, что индекс последнего элемента равен количеству элементов в коллекции минус 1.

Подробнее описание конкретных коллекций, их свойств, методов и приемов работы с ними см. в описаниях конкретных объектов.



Работа с объектами метаданных


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



Работа с пользовательским интерфейсом


Пользовательским интерфейсом в системе 1C: Предприятие назы­вается совокупность команд главного меню и панелей инструмен­тов, настроенных на работу с конкретными объектами данных -документами, справочниками, журналами и т.д. Как правило, пользовательский интерфейс создается для конкретной категории пользователей. Цель создания интерфейса - обеспечить быстрый доступ пользователей к той информации, которая необходима им в соответствии с их обязанностями. Интерфейсы создаются в конфигураторе, средствами языка 1C: Предприятия интерфейс нельзя добавить или удалить, но его можно включить или вы­ключить, при этом допускается включение более одного интер­фейса.



Работа с системными перечислениями


Во встроенном языке 1С:Предприятия существует понятие системных перечислений. Они предназначены для определения некоторого ограниченного набора предопределенных значений. Доступ к системным перечислениям осуществляется как к свойствам глобального контекста его имени. Конкретные значения указываются через точку от имени системного перечисления. Системные перечисления используются, как правило, для задания значений параметров системных методов или свойств объектов, а также в качестве возвращаемых значений методов.



Работа с выборкой


Объект ВыборкаИзРезультатаЗапроса предназначен для обхода записей результата запроса. Можно представить себе вы­борку как некоторый объект, который содержит указатель на те­кущую запись в результате и предоставляет программе доступ ко всем полям текущей записи. Для навигации по записям запроса используются три метода:

• Следующий - перейти к следующей записи результата в соответствии с порядком обхода выборки. При первом вызове позиционирует выборку на первую запись. Когда будут выбра­ны все записи, данный метод просигнализирует об этом, вер­нув значение «Ложь».

• СледующийПоЗначениюПоля - получить следующую за­пись со значением в заданном поле, отличающимся от значе­ния в этом поле текущей записи.

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

Использование метода СледующийПоЗначениюПоля

Метод позволяет сгруппировать записи результата по значениям полей.

Пример:

Выбрать

    Док.Товар,

    Док.Получатель,

    Док.Количество

ИЗ

    Документ.РасхНакл.Состав Док

Упорядочить по

    Док.Товар.Наименование,

    Док.Получатель.Наименование.

Его результат представлен в таблице:

Товар Получатель Количество
1 Смеситель Маг. "Гигант" 14
2 Смеситель Маг. "Хозяин" 1
3 Смеситель Мосгорторг 5
4 Кран Маг. "Гигант" 44
5 Кран Маг. "Хозяин" 8
6 Кран Мосгорторг 10
7 Кран Мосгорторг 22
8 Стол Маг. "Гигант" 10
9 Стол Маг. "Мебель" 15
10 Стол Мосгорторг 1
11 Стул Маг. "Гигант" 32
12 Стул Маг. "Мебель" 55
13 Стул Маг. "Хозяин" 5
14 Стул Мосгорторг 16

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

Пример:

Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.СледующийПоЗначениоПоля("Товар") Цикл




    // здесь мы получим записи с номерами 1, 4, 8, 11

    Пока Выборка.СледующийПоЗначениюПоля('Получатель") Цикл

        // здесь мы сначала получим записи с номерами 1, 2, 3

        // затем 4, 5, 6

        // затем 8, 9, 10

        // затем 11, 12, 13, 14

    КонецЦикла;

КоиецЦикла ;

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

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

Пример:

Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.СледующийПоЗначениюПоля("Товар") Цикл

// здесь мы получим записи с номерами 1, 4, 8, 11

Пола Выборка.Следующий() Цикл

    // здесь мы сначала получим записи с номерами 1, 2, 3

    // затем 4, 5, 6, 7

    // затем 8, 9, 10

    // затем 11, 12, 13, 14

    КонецЦикла;

КонецЦикла;

Методы определения типа текущей записи

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

Уровень - определяет уровень записи в результате запроса.

ТипЗаписи - определяет принадлежность записи к одному из следующих типов:

• групповой итог;

• итого по иерархии;

• детальная запись;

• общий итог.

Группировка - определяет имя поля, по которому были рассчитаны итоги.

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

Выбрать

    Товар, Количество Количество

Из

    Документ.РасхНакл.Состав



Упорядочить по

    Товар

Итоги

    Сумма(Количество) По Товар, Товар Иерархия

Результат представлен в таблице:

Товар Количество Уровень ТипЗаписи Группировка
1 Сантехника 104 0 ИтогПоИерархии Товар
2 Кран 84 1 ИтогПоГруппировке Товар
3 Кран 10 2 ДетальнаяЗапись  
4 Кран 8 2 ДетальнаяЗапись  
5 Кран 44 2 ДетальнаяЗапись  
6 Кран 22 2 ДетальнаяЗапись  
7 Смеситель 20 1 ИтогПоГруппировке Товар
8 Смеситель 5 2 ДетальнаяЗапись  
9 Смеситель 1 2 ДетальнаяЗапись  
10 Смеситель 14 2 ДетальнаяЗапись  
11 Мебель 134 0 ИтогПоИерархии Товар
12 Стол 26 1 ИтогПоГруппировке Товар
13 Стол 1 2 ДетальнаяЗапись  
14 Стол 15 2 ДетальнаяЗапись  
15 Стол 10 2 ДетальнаяЗапись  
16 Стул 108 1 ИтогПоГруппировке Товар
17 Стул 55 2 ДетальнаяЗапись  
18 Стул 5 2 ДетальнаяЗапись  
19 Стул 32 2 ДетальнаяЗапись  
20 Стул 16 2 ДетальнаяЗапись  
«««««««««« 1С:Предприятие 8.0 »»»»»»»»»»

Рамка (Border)


Объект предназначен для определения и хранения параметров рамки. Может быть использован для определения рамок элемен­тов управления.



РамкаГруппы (GroupBox)


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



Расчет итогов во вложенных таблицах


В настоящей версии программы не поддерживается расчет итогов по вложенным таблицам.



Расчет итогов запроса


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

Порядок расчета итогов запроса описывается в соответствии со следующими правилами:

<Описание итогов>

<Итоги> [<Описание итогов>]

<Итоги>

ИТОГИ [<Список агрегатных функций>]

<Общие итоги> | <Контрольные точки>

<Список агрегатных функций>

    <Агрегатная функция> [, <Агрегатная функция> [, ...] ]

<Общие итоги>

ОБЩИЕ

<Контрольные точки>

ПО <Список контрольных точек>

<Список контрольных точек>

<Контрольная точка> [, <Контрольная точка> [, ...] ]

<Контрольная точка>

<Выражение> [ИЕРАРХИЯ]

<Выражение> [[ТОЛЬКО] ИЕРАРХИЯ] |

    [ПЕРИОДАМИ](Секунда|Минута|Час|День|Неделя|Месяц|Квартал|Год|Декада|Полугодие

    [,<Литерал DATE>|<Идентификатор параметра>]

    [,<Литерал DATE>|<Идентификатор параметра>])]

    [[КАК] Псевдоним поля]

Описание итогов начинается с обязательного ключевого слова ИТОГИ. В тексте запроса допускается использовать это слово не­сколько раз, задавая расчет различных итогов, как описано на стр. 342.

<Список агрегатных функций>

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

Ключевое слово ОБЩИЕ означает, что необходимо сформировать итоговую строку по всему результату запроса. Подробнее расчет общих итогов описан на стр. 334.

Помимо общих итогов, можно задать расчет итогов по контроль­ным точкам. Для этого после обязательного ключевого слова ПО необходимо указать <Список контрольных точек>. Каждая <Контрольная точка > содержит <Выражение>, вычисляе­мое при выполнении запроса. По каждой комбинации значений этих выражений будут рассчитаны и добавлены в результат за­проса итоговые строки.

Если контрольная точка является ссылкой на справочник, возмо­жен расчет итогов по иерархии справочника. Для этого после та­кой ссылки надо указать обязательное ключевое слово ИЕРАРХИЯ. Иерархические итоги описаны на стр. 335.



Расчет нескольких итогов одновременно


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

Пример:

Выбрать

    Накладная.Контрагент.Наименование,

    Накладная.Номер,

    Накладная.Сумма

Из

    Документ.РасходнаяНакладная Как Накладная

Упорядочить По

    Накладная.Контрагент

Итоги

    Сумма(Накладная.Сумма)

По

    Накладная.Контрагент

Итоги

    Сумма(Накладная.Сумма)

По

    Накладная.Контрагент Иерархия

Итоги

    Сумма(Накладная.Сумма)

Общие

Результат запроса:

Наименование Номер Сумма
    256 555,45
Поставщики   16 500,22
Трикотажная фабрика «Заря»   4 500
Трикотажная фабрика «Заря» 00012 4 500
Бавария - фарфор   12 000,22
Бавария - фарфор 00013 12 000,22
Покупатели   240 055,23
Ярмарка одежды   54 000
Ярмарка одежды 00001 54 000
Торговый дом «Буденовский»   88 555
Торговый дом «Буденовский» 00005 1 500
Торговый дом «Буденовский» 00004 1 500
Торговый дом «Буденовский» 00003 52 500
Торговый дом «Буденовский» 00002 16 000
Торговый дом «Буденовский» 00009 555
Торговый дом «Буденовский» 00015  
Торговый дом «Буденовский» 00014 16 500
Павильон 45 на оптовом рынке   97 500,23
Павильон 45 на оптовом рынке 00007 6 000
Павильон 45 на оптовом рынке 00006 11 500
Павильон 45 на оптовом рынке 00016 80 000,23



Расчет общих итогов


Для расчета итогов по всей таблице в предложении ИТОГИ следует указать слово ОБЩИЕ. В этом случае будут вычислены значения агрегатных функций для всех записей таблицы.

Пример:

ВЫБРАТЬ

    Док.Товар, Док.Количество, Док.Ссылка.Номер, Док.Ссылка.Получатель

ИЗ

    Документ.РасхНакл.Состав Док

ИТОГИ

    СУММА(Количество)

ПО ОБЩИЕ

Результат запроса:

Товар Количество Номер Получатель
  238    
Кран 10 РНк-1 Урюпинскторг
Кран 8 РНк-3 Маг. "Хозяин"
Кран 44 РНк-4 Маг. "Гигант"
Кран 22 РНк-5 Урюпинскторг
Вантус 5 РНк-1 Урюпинскторг
Вантус 1 РНк-3 Маг. "Хозяин"
Вантус 14 РНк-4 Маг. "Гигант"
Стол 1 РНк-1 Урюнинскторг
Стол 15 РНк-2 Маг. "Мебель"
Стол 10 РНк-4 Маг. "Гигант"
Стул 55 РНк-2 Маг. "Мебель"
Стул 5 РНк-3 Маг. "Хозяин"
Стул 32 РНк-4 Маг. "Гигант"
Стул 16 РНк-5 Урюпинскторг



Расширение формы документа


Дополнительные свойства, методы и события формы документа.

См. также:

Расширение табличного поля списка документов.



Расширение формы элемента справочника


Дополнительные методы и события формы элемента или группы

справочника.

Пример:

Процедура ПередЗаписью(Отказ)

ТилыМПЗ = Перечисления.ТипыНоменклатуры;

    Если ТоварСсылка.ТипНоменклатуры = ТипыМПЗ.ПустаяСсылка() Тогда Отказ = Истина;

        Предупреждение("Не выбран тип номенклатуры",0);

    КонецЕсли;

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



Расширение формы констант


Предоставляет доступ к дополнительным методам и событиям формы, в том случае если основным реквизитом формы является набор констант.



Расширение формы критерия отбора


Дополнительные свойства формы, связанной со списком крите­рия отбора.



Расширение формы набора записей регистра накопления


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



Расширение формы набора записей регистра сведений


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



Расширение формы списка справочника


Предоставляет доступ к дополнительным методам формы, в том случае если основным реквизитом формы является список

справочника.

Пример:

Форма.ПараметрВыборГруппИЭлементов = ИcnoльзoвaниeГруппИЭлементов(»»Cwaвo^a^Iata. Элементы;



Расширение формы списка записей регистра накопления


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

Пример:

Приходные = Документы.ПриходнаяНакладная;

Док = Приходные.НайтиПоНомеру ("0003",ТекущаяДата());

ОстаткиМПЗ = РегистрыНакопления.УчетНоменклатуры;

Форма = ОстаткиМПЗ.ПолучитьФормуСписка();

Форма.ПараметрОтборПоРегистратору = Док;

Форма.Открыть();



Расширение формы списка записей регистра сведений


Предоставляет доступ к дополнительным свойствам формы, в том случае если основным реквизитом формы является список

записей регистра сведений.

Пример:

Доллар = Справочники.Валюты.НайтиПоНаименованию("USD");

КурсыВалот = РегистрыСведений.КурсыВалют;

Форма = КурсыВалют.ПолучитьФормуСписка();

ОтборПоВалюте = Новый Структура("'Валюта");

ОтборПоВалюте.Валюта = Доллар;

Форма.ПараметрОтборПоИзмерению = ОтборПоВалюте;

Форма.Открыть();



Расширение формы записи регистра сведений


Предоставляет доступ к дополнительным методам и событиям фор мы, в том случае если основным реквизитом формы является

запись регистра сведений.



Расширение элементов управления расположенных в форме


Дополнительные свойства и методы элемента управления в фор­ме. Эти свойства и методы появляются у любого элемента управ­ления расположенного на форме.



Расширение элементов управления расположенных на панели


Перечисленные ниже свойства возникают у элемента управления, размещенного на панели.



Расширение элементов управления расположенных в табличном поле


Дополнительные параметры событий элемента управления в таб­личном поле. Эти параметры появляются у любого элемента управления расположенного в табличном поле.



Расширение элементов управления расположенных в поле табличного документа


Дополнительные свойства и методы элементов управления, расположенных в поле табличного документа.



Расширение колонки набора записей регистра сведений


Дополнительные свойства колонки табличного поля для набора записей регистра сведений.



Расширение колонки набора записей регистра накопления


Дополнительные свойства колонки табличного поля для набора записей регистра накопления.



Расширение колонки табличного поля дерева значений


Дополнительные свойства колонки табличного поля, связанного с деревом значений.



Расширение колонки табличного поля списка справочника


Дополнительные свойства колонки табличного поля списка спра­вочника.



Расширение колонки табличного поля списка документов


Дополнительные свойства колонки табличного поля списка доку­ментов.



Расширение колонки табличного поля списка записей регистра сведений


Дополнительные свойства колонки табличного поля списка запи­сей регистра сведений.



Расширение колонки табличного поля списка записей регистра накопления


Дополнительные свойства колонки табличного поля списка запи­сей регистра накопления.



Расширение колонки табличного поля табличной части


Дополнительные свойства колонки табличного поля, связанного с табличной частью.