Работа с транзакциями

Обработка ошибок

Циклы

Оператор ветвления

Управляющие операторы

Для управления логикой выполнения программы используются логические выражения и управляющие операторы. Логическое выражение записывается с помощью символов сравнения = (равно), <> (не равно), > (больше), < (меньше), <= (меньше либо равно), >=(больше или равно), при этом сравнение производится только над значениями одинаковых типов (то есть нельзя, например, сравнивать число и строку). Из нескольких сравнений можно построить более сложное условие с помощью булевых операций «и», «или», «не». Порядок сравнений можно определять с помощью круглых скобок.

Если <Логическое_выражение> Тогда

ИначеЕсли <Логическое_выражение> Тогда

Иначе

КонецЕсли;Пока <Логическое_выражение> Цикл … [Прервать] … [Продолжить] … КонецЦикла; Для <Имя_переменной> = <Выражение1> По <Выражение2> Цикл … [Прервать] … [Продолжить] … КонецЦикла;

Величина приращения счетчика при каждом выполнении цикла равна 1. Условие выполнения цикла всегда проверяется вначале, перед выполнением цикла.

Попытка … [Исключение] … КонецПопытки;

Транзакции применяются для выполнения длительных и критических для функционирования системы операций. В некоторых случаях система сама начинает транзакцию и специально описывать ее не надо. Например, это происходит при проведении документов: так как в программе могут работать одновременно несколько пользователей, то при записи документа (например, продажа товара со склада) недопустима ситуация «одновременного» проведения двух документов – все равно один из них должен быть проведен раньше, чем другой (иначе можно продать один и тот же товар два раза!). Поэтому система выполняет проведение документа в режиме транзакции, – база данных становится недоступной для записи остальных пользователей. Естественно, что при большом количестве пользователей, которые активно вводят данные в программу, работа системы замедляется. Одним из решений этой проблемы может быть установка версии для SQL, в этом случае процедуры записи выполняется на отдельном компьютере (сервере базы данных) с помощью MS SQL Server 7.0.

В остальных случаях транзакцию начать и зафиксировать с помощью следующих функций:

НачатьТранзакцию(); … [ОтменитьТранзакцию();] … ЗафиксироватьТранзакцию();

Отмена транзакции применяется в случае обнаружения какой-то некорректной ситуации. В этом случае все изменения, внесенные в базы данных с момента начала транзакции, отменяются. Чтобы зафиксировать изменения необходимо выполнить функцию ЗафиксироватьТранзакцию().

Работа с объектом «СписокЗначений»

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

Элемент списка содержит три поля – значение, представление и пометка. Значение может принимать значение любого типа, представление же всегда имеет тип «Строка». В форме диалога отображается представление (если оно задано). Пометка означает, помечено данное значение или нет.

Основные функции работы со списком следующие:

· ДобавитьЗначение(<Знач>,<Строка>)

· НайтиЗначение(<Знач>)

· ПолучитьЗначение(<Позиция>,<Перем>)

· Получить(<Строка>)

· УдалитьЗначение(<Позиция>,<Колич>)

· УдалитьВсе()

· РазмерСписка()

· Сортировать(<Направление>)

· СортироватьПоПредставлению(<Направление>)

· Принадлежит(<Знач>)

· Пометка (<Позиция>,<Отметка >)

· ИзСтрокиСРазделителями(<Строка>)

· ВСтрокуСРазделителями()

Работа с объектом «ТаблицаЗначений»

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

Т=СоздатьОбъект(«ТаблицаЗначений») // Определяем идентификаторы и параметры колонок Т.НоваяКолонка(«Товар», «Строка», 30,, «Наименование товара», 20); Т.НоваяКолонка(«Цена», «Число», 10, 2 , «Цена», 10); Т.НоваяКолонка(«Количество», «Число», 10, 3, «Кол.», 10); Т.НоваяКолонка(«Сумма», «Число», 15, 3, «Сумма», 10); // Создаем новую строку Т.НоваяСтрока(); Т.Товар= «Сыр»; Т.Цена= 50; Т.Количество= 10; Т.Сумма= Т.Цена* Т.Количество;

Основные функции работы с таблице следующие:

· НоваяКолонка(<Идентификатор>,<Тип>,<Длина>,<Точность>,<Заголовок>,<Ширина>, <Формат>,<Положение>)

· НоваяСтрока()

· УдалитьСтроку(<НомерСтроки>)

· УдалитьСтроки()

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

· ПолучитьЗначение(<НомерСтроки>,<Колонка>) <Колонка> - это либо номер колонки либо идентификатор колонки

· НайтиЗначение(<Знач>,<Строка>,<Колонка>) <Строка> – идентификатор переменной, в которую возвращается номер найденной строки, <Колонка> – идентификатор переменной, в которую возвращается колонка найденной строки.

· ВыбратьСтроки() – открыть выборку строк из таблицы

· ПолучитьСтроку() – получить следующую строку из выборки

· Сортировать(<Колонки>) <Колонки> - это строка, содержащая список идентификаторов или номеров колонок, разделенных запятой, по которым выполняется сортировка строк таблицы значений

· Свернуть(<ГрупКолонки>,<СумКолонки>) <ГрупКолонки> - это строка, содержащая список идентификаторов или номеров колонок, разделенных запятой, по которым выполняется группировка строк таблицы значений (то есть если имеется несколько строк с одинаковыми значениями в группируемых колонках, то в результате свертки останется одна такая строка). <СумКолонки> - это строка, содержащая список идентификаторов или номеров колонок, разделенных запятой, в которых выполняется суммирование значений строк таблицы значений (то есть, если группируется несколько строк, то значения суммируемых колонок будут складываться).