· GetFieldIndex(strNameColumn) / ИндексПоля() – метод возвращает позицию столбца выборки по его имени.
+Параметры:
- strNameColumn (строка) – имя столбца.
+Возвращаемое значение:
- Число: позиция столбца в диапазоне от 0 до GetFieldCount()-1 включительно. Если колонка с именем, переданным в первом параметре, отсутствует в выборке, то метод вернет –1.
· GetRowsAffected() / СтрокОбработанно() – возвращает количество обработанных строк во время выполнения запроса.
· GetValue(NamePosCol) / ПолучитьЗначение() – возвращает значение строки в колонке с номером или именем, полученным в качестве первого параметра.
+Параметры:
- NamePosCol (число/строка): число – номер колонки, допустимый диапазон [1…GetFieldCount()], строка - имя колонки.
+Возвращаемое значение:
- Неопределенный – значение пересечения строки и колонки выборки.
· GetValues(…) / ПолучитьЗначения(…) – возвращает значения колонок по текущей строке выборки. Количество параметров неограниченно, но будут заполнены значениями из выборки только те параметры, которые окажутся в диапазоне [1…GetFieldCount()], будут заполнены значениями из выборки.
· GetValuesInSV(PosNamesCol) / ПолучитьЗначенияСЗ() - возвращает в списке значений все содержимое колонки или колонок или колонки, указанных в качестве строк(и) (название колонки) или числа (порядкового номера колонки) из выборки.
+Параметры:
- PosNamesCol (число/строка): число – номер колонки, допустимый диапазон [1…GetFieldCount()], строка – названия колонки или колонок, разделенные запятыми.
+Возвращаемое значение:
- СписокЗначений/Структура: Список значений возвращается только тогда, когда в качестве первого параметра передано число – номер колонки. Структура возвращается всегда, когда в качестве параметра метода передавалась строка с названием/названиями колонок. В структуре определяются свойства с именами колонок, полученных из строки и существующих в выборке, далее в эти свойства записываются списки значений, содержащие значения колонок из всех строк текущей выборки.
· GetResultsInVT(vt, bEraseVT) / ПолучитьРезультатыВ_ТЗ() – возвращает результаты выборки в полученную таблицу значений или в класс производном от него.
+Параметры:
- vt (ТаблицаЗначений): таблица значений или производный от нее класс, которая которые заполняется заполняются результатами из выборки.
- bEraseVT (число): 1 – очистить таблицу и создать колонки автоматически, 0 – не очищать таблицу, а использовать существующие колонки, соответствие между колонками таблицы и колонками выборки проводится по порядковым номером, т. е. первая колонка таблицы заполняется значениями из первой колонки выборки и т. д. вплоть до GetFieldCount().
· SetTextParam(strName, unVal) / УстановитьТекстовыйПараметр() – устанавливает текстовый параметр. Необходимо вызывать до передачи текста запроса.
+Параметры:
- strName (строка): имя текстового параметра;
- unVal (Неопределенный): значение текстового параметра.
· GetFieldDefs(NamePosCol, strType1C, nLength1С, nPrec1С, nSQLType, nSQLPrecision, nSQLScale, nSQLNullability) / ПолучитьПараметрыПоля() – если первым параметром передан номер поля – возвращается его имя, если передано имя – возвращается номер поля.
+Параметры:
- NamePosCol (строка/число): номер или имя поля. Входной параметр, остальные выходные и могут не использоваться;
- strType1C (строка): обозначение типа в 1С;
- nLength1С (число): обозначение длины в 1С;
- nPrec1С (число): обозначение точности в 1С;
- nSQLType (число): номер типа в ODBC;
- nSQLPrecision (число): длина типа в ODBC;
- nSQLScale (число): точность типа в ODBC;
- nSQLNullability (число): допустимость значений NULL в ODBC.
· AutoTypification(bOnOff) / АвтоТипизация() – устанавливает/снимает режим работы объекта, в котором происходит происходят автоматическая типизация и именование полей полученной выборки на основании исходных имен полей типа spXXX. Происходит именование поля идентификатором 1С (как он задан в конфигураторе), а также назначение полю типа 1С по метаданным. Сразу после создания объекта (по умолчанию) режим выключен для обратной совместимости.
+Параметры:
- bOnOff (число): 1 – включить, 0 - выключить;
· PutObjectList(ObjList, strTableName, strRefKind) / УложитьСписокОбъектов() – сохраняет список объектов во временной таблице MS SQL. Идентификаторы объектов из списка ObjList сохраняются во временной таблице strTableName. Таблица имеет единственное поле val char(9). Имя таблицы должно начинаться с символа «#». Если strRefKind – идентификатор иерархического справочника, то таблица будет содержать элементы, иерархически принадлежащие группам переданным в списке. (Подобно оператору «в» стандартного языка запросов 1С.)
+Параметры:
- ObjList (СписокЗначений/АгрегатныйТип): список для сохранения или элемент справочника, группа справочника, документ, счет;
- strTableName (строка): имя таблицы;
- strRefKinde (строка): вид справочника для иерархического включения элементов или вид плана счетов для иерархического включения счетов;
· SetQueryTimeout(nSeconds) / УстТаймаутЗапроса(nSeconds) – устанавливает таймаут выполнения запроса в секундах. Если выполнение запроса не заканчивается до истечения таймаута – выполнение метода Open() или Execute() заканчивается с ошибкой. Значение таймаута в 0 секунд означает, что нет никакого таймаута выполнения запроса, и запрос будет выполняться бесконечно. Это значение действует по умолчанию.
+Параметры:
- nSeconds (Число): количество секунд.
· IsQueryTimeoutExpired() / ИстекТаймаут() – позволяет проверить – является ли последняя ошибка выполнения запроса ошибкой завершения по таймауту. Метод допустимо вызывать только после вызова метода GetLastError().
Возвращает: 1 – было завершение по таймауту, иначе 0.
· BackFromTAEnabled () / ОбратныйРасчетОтТА () – Разрешает оптимизацию расчета остатков от ТА. По умолчанию такая оптимизация запрещена, т. к. запросы ВТ выполняются грязным чтением. Ее полезно включать, имея гарантию того, что остатки на ТА досчитаны до конца, например – в модуле проведения..
Возвращает: 1 – разрешено, иначе 0.
· ExecuteStatement(strTextSQL, obVT, bEraseVT) / ВыполнитьИнструкцию() – Выполняет SQL запрос, при ошибке парсинга или при ошибке на ODBC драйвере формируется исключение. Если запрос возвращает набор строк, метод возвращает объект с результатом запроса, если запрос не возвращает набор строк (не select, а DML или прочий) – возвращается количество обработанных строк. Если запрос содержит несколько SQL инструкций (multistatement batch), результаты возвращаются только от первой инструкции. Однако, на драйвер уходит весь текст запроса (По спецификации ODBC, будут ли выполнены остальные инструкции в пакете – зависит от драйвера. Для драйвера SQL Server они выполняются), остальные результаты игнорируются. Если запрос возвращает набор данных, и в наборе данных нет ни одной строки – это не является ошибкой. Если запрос не параметризированный – метод гарантированно закрывает курсор.
Возвращает: объект с результатом запроса (ТаблицаЗначений или наследник), или число – количество обработанных строк.
+Параметры:
- strTextSQL (Строка): текст запроса, если пустая строка–запрос считается параметризированным. По умолчанию пустая строка.
- obVT (объект): ТаблицаЗначений или наследник от нее для приема результатов запроса, именно этот объект и будет возвращаемым значением. Это должен быть именно ТаблицаЗначений или наследник, а не объект, реализующий ее интерфейс. Если тип объекта – пустое значение, создается объект типа ТаблицаЗначений. По умолчанию: пустое значение.
- bEraseVT (Число): 1 - очистить таблицу и создать колонки. 0 - не создавать. По умолчанию – 1.
· ExecuteScalar(strTextSQL) / ВыполнитьСкалярный() – Выполняет SQL запрос, при ошибке парсинга или при ошибке на ODBC драйвере формируется исключение. Запрос может возвращать количество обработанных строк: в этом случае возвращается это значение. Запрос может возвращать набор данных, состоящий из одной строки, при этом если в наборе данных одна колонка – возвращается значение из нее, если запрос возвращает несколько колонок –возвращается объект Структура, заполненный полями и именами ключей, соответствующими именам колонок и значениями из этих колонок. Если запрос возвращает набор данных, и в наборе данных нет ни одной строки – это не является ошибкой, в этом случае возвращается пустое значение типа, определенного в первой колонке, или объект Структура, заполненный соответствующим образом. Если запрос не параметризированный – метод гарантированно закрывает курсор.
+Параметры:
- strTextSQL (Строка): текст запроса, если пустая строка запрос считается параметризированным. По умолчанию пустая строка.
· ExecuteXML(strTextSQL, obBinaryData) / ВыполнитьXML() – выполняет запрос и получает результат как XML данные. Если вторым параметром передан объект BinaryData, то результат записывается в этот объект (с учетом текущей кодировки и текущей позиции в файле), при этом возвращаемое значение метода не определено, если второй параметр – пустое значение, метод возвращает строку – результат запроса.
+Параметры:
- strTextSQL (Строка): текст запроса, если пустая строка запрос считается параметризированным. По умолчанию пустая строка.
- obBinaryData (объект BinaryData) – объект для получения результата запроса, по умолчанию – пустое значение.
· RPCMode(nMode) / РежимRPC() – переводит объект в специальный режим выполнения запросов. Только для MSSQL. Когда этот режим включен, выполнение запроса происходит с помощью RPC вызова хранимой процедуры sp_executesql. (Подробнее о назначении этой ХП можно прочитать в BOL (Books Online)). В сущности это – режим парсера, а не режим этого объекта. Не применимо для параметризированных запросов. По умолчанию этот режим выключен.
Смысл этого метода в том, что текстовые параметры в тексте запроса заменяются не на их значение, а на T-SQL переменные. Кроме того, на T-SQL переменные заменяются метаимена, разрешающиеся в идентификаторы. В результирующих запросах виртуальных таблиц все параметры также будут заменены на T-SQL переменные. Таким образом, при выполнении различных запросов, отличающихся только значениями текстовых параметров, текст запроса, который уходит на сервер, остается одинаковым (если, конечно, он не изменяется качественно вследствие разрешения какой либо виртуальной таблицы) и будет происходить эффективное использование кэша планов выполнения запросов (сервер будет выполнять меньше компиляций).
Рекомендации по использованию. В общем-то, его лучше ставить всегда, или в таких случаях, где неудобно использовать параметризированные запросы (они все же быстрее), особенно в потенциально частых запросах (применяющихся в модуле проведения, например).
Ограничения. Так как выполнение происходит по средствам вызова хранимой процедуры, в силе все особенности выполнения в теле хранимой процедуры. Например, если создавать временную таблицу, то запрос отработает, но таблица будет удалена сервером сразу после выполнения запроса (батча).
+Параметры:
- nMode (Число): 1 – включить режим, 0 – выключить режим.
· PutObjectList13(ObjList, strTableName) / УложитьСписокОбъектов13() – сохраняет список объектов во временной таблице MS SQL. Идентификаторы объектов из списка ObjList сохраняются во временной таблице strTableName. Таблица имеет единственное поле val char(13). Имя таблицы должно начинаться с символа «#».
+Параметры:
- ObjList (СписокЗначений/АгрегатныйТип): список для сохранения или элемент справочника, группа справочника, документ, счет;
- strTableName (строка): имя таблицы;
4.4. Класс «SQLLock»
Предназначен для получения новых идентификаторов, кодов справочников, номеров документов.
Для получения нового идентификатора достаточно перед GetNewID() установить тип объекта.
Получение новых кодов справочника и номеров документов идет по всем правилам, учитывая метаданные, и значение префикса.
Если тип кода справочника или номера документа – число, методами GetNewCode() и GetNewNumber() возвращается строка, что и соответствует типу хранения в ИБ. В этом случае не учитывается значение установленного префикса.
При первом вызове метода GetNewID() происходит обращение к информационной базе для определения последнего назначенного идентификатора, при этом устанавливается блокировка обновления на таблицу справочника или _1sjourn для документов, при следующих вызовах обращения к ИБ не происходит. Полученные идентификаторы допустимо использовать для образования новых объектов только внутри транзакции. Методы GetNewCode() и GetNewNumber() работают аналогично.
В распределенных базах программист должен сам позаботиться о правилах миграции.
Для блокирования используется таймаут. В случае истечения таймаута возбуждается исключение со строкой ошибки «LockTimeoutExpired». Значение таймаута по умолчанию 5 секунд.
Если после получения кодов или номеров установить какое-нибудь свойство, от которого зависит номер или код, объект переходит в инициализированное состояние и следующий вызов GetNewCode() или GetNewNumber() повлечет обращение к базе данных.
Пример создания элементов справочника:
Процедура ВыполнитьЗапрос(Запрос, Текст = "")
Перем Рез;
Если ПустаяСтрока(Текст)=1 Тогда
Рез=Запрос. Выполнить();
Иначе
Рез=Запрос. Выполнить(Текст);
КонецЕсли;
Если Рез=0 Тогда
ВыполняемыйМодуль=СоздатьОбъект("ВыполняемыйМодуль");
ВыполняемыйМодуль. СформироватьОшибку(Запрос. ПолучитьОписаниеОшибки());
КонецЕсли;
КонецПроцедуры
Процедура ПодготовитьЗапрос(Запрос, Текст)
Если Запрос. Подготовить(Текст)=0 Тогда
ВыполняемыйМодуль=СоздатьОбъект("ВыполняемыйМодуль");
ВыполняемыйМодуль. СформироватьОшибку(Запрос. ПолучитьОписаниеОшибки());
КонецЕсли;
КонецПроцедуры
Процедура ДобавитьПараметр(Запрос, Тип, Длина, Точность)
Если Запрос. ДобПараметр(1,Тип, Длина, Точность)=0 Тогда
ВыполняемыйМодуль=СоздатьОбъект("ВыполняемыйМодуль");
ВыполняемыйМодуль. СформироватьОшибку(Запрос. ПолучитьОписаниеОшибки());
КонецЕсли;
КонецПроцедуры
Процедура СозданиеЭлементовПоНовому()
СпрТовары=СоздатьОбъект("Справочник. Товары");
Запрос=СоздатьОбъект("ODBCRecordset");
БлокировкаТовары=СоздатьОбъект("SQLLock");
БлокировкаТовары. УстановитьТипОбъекта("Справочник","Товары");
БлокировкаТовары. УстановитьТаймаут(10);
ФлагУдачи=0;
Пока ФлагУдачи=0 Цикл
Попытка
ВыполнитьЗапрос(Запрос,"begin tran");
ПодготовитьЗапрос(Запрос,"insert $Справочник. Товары values(?ID, ' 0 ', ?Код, ?Наименование, 2, 0, 0, '')");
ДобавитьПараметр(Запрос, 14, 9, 0);
ДобавитьПараметр(Запрос, 14, 6, 0);
ДобавитьПараметр(Запрос, 14, 100, 0);
Для Тек=1 По 10 Цикл
Запрос. УстПараметр("ID",БлокировкаТовары. НовыйИД());
Запрос. УстПараметр("Код",БлокировкаТовары. НовыйКод());
Запрос. УстПараметр("Наименование","Сгенерированный в SQL транзакции "+Тек);
ВыполнитьЗапрос(Запрос);
КонецЦикла;
ВыполнитьЗапрос(Запрос,"if @@trancount > 0 commit tran");
ФлагУдачи=1;
Исключение
Запрос. Выполнить("if @@trancount > 0 rollback tran");
Если ОписаниеОшибки()="LockTimeoutExpired" Тогда
Если Вопрос("Неудалось заблокировать справочник Товары.
|Повторить попытку?","ОК+Отмена")="Отмена" Тогда
ФлагУдачи=2;
КонецЕсли;
Иначе
ВызватьИсключение;
КонецЕсли;
КонецПопытки;
КонецЦикла;
КонецПроцедуры
· SetObjectType(strType, strKind) / УстановитьТипОбъекта(strType, strKind) – устанавливает тип объекта для получения идентификатора, кода справочника, номера документа.
+Параметры:
- strType (Строка): тип объекта, допустимые типы: «Справочник», «Документ»;
- strKind (Строка): вид объекта.
· SetParent(objParent) / УстановитьРодителя(objParent) – устанавливает родителя для получения нового кода справочника.
+Параметры:
- objParent (Справочник): группа справочника;
· SetOwner(objOwner) / УстановитьВладельца(objOwner) – устанавливает владельца для получения нового кода справочника.
+Параметры:
- objOwner (Справочник): элемент справочника;
· SetDateNum(dDateNum) / УстановитьДатуНомера(dDateNum) – устанавливает дату для определения периода номеров.
+Параметры:
- dDateNum (Дата): дата из периода номеров документа;
· SetPrefix(strPrefix) / УстановитьПрефикс(strPrefix) – устанавливает префикс для получения новых кодов справочника или номеров документа. Имеет смысл только если код или номер текстовый.
+Параметры:
- strPrefix (Строка): строка префикс;
· GetNewID() / НовыйИД() – позволяет получить новый идентификатор объекта.
Возвращает новый идентификатор (строка 9 символов).
· GetNewCode() / НовыйКод() – позволяет получить новый код справочника.
Возвращает строку, новый код справочника, следующий по порядку. В зависимости от настроек справочника в метаданных, может быть учтен владелец, родитель.
· GetNewNumber() / НовыйНомер() – позволяет получить новый номер документа.
Возвращает строку, новый номер документа, следующий по порядку. В зависимости от настроек документа может быть учтена дата периода номеров.
· SetTimeout(nSeconds) / УстановитьТаймаут(nSeconds) – устанавливает таймаут для установки блокировки.
+Параметры:
- nSeconds (Число): таймаут;
5. FormEx
Раскраска таблиц.
FONT[<?>] BRUSH[x-pert30] [<?>]
ВНИМАНИЕ!
Включение раскраски осуществляется методом "ВключитьРаскраскуТаблиц()" объекта "Сервис".
Описание:
Начиная с версии 1.2, компонента позволяет устанавливать произвольную расцветку в таблицах 1С (многострочные части документов, формы списков, таблицы значений на форме и т. д.).
Для включения раскраски в таблицу необходимо добавить колонку, формула в которой должна содержать строку следующего вида: "FONT[<ЦветШрифта>] BRUSH[<ЦветФона>]", где <ЦветШрифта>, <ЦветФона> - десятичное представление необходимого цвета в формате RGB для шрифта и фона соответственно. Эта строка может быть как прописана в поле "Формула" колонки явно, так и получена в качестве значения, возвращаемого функцией, прописанной в поле "Формула". Для таблиц значений строка раскраски устанавливается в качестве значения ячейки таблицы.
Если вместо любого из значений цвета указано "NONE", то берется значение по умолчанию. Для любых таблиц колонка с определением цвета может быть невидимой. В таблице может быть сколько угодно таких колонок. Это позволяет получить разные цвета хоть для каждой ячейки таблицы.
Замечание:
Раскраска не работает корректно с колонками, в который установлен флаг "Отрицательное красным". "Некорректность" заключается в том, что этот флаг просто игнорируется в раскрашиваемых колонках.
Порядок вызова
Если событие происходит в модуле формы, который был загружен при открытии (см. метод ЗагрузитьМодуль объекта Сервис), то соответствующая предопределенная процедура ищется в модуле формы. Если процедура присутствует в модуле формы, то она вызывается. В противном случае (процедуры нет или модуль не загружен) процедура ищется во всех загруженных глобальных модулях, в порядке их загрузки, начиная с основного глобального модуля.
Начиная с версии 1.8.1.3: Вызов дополнительных предопределенных процедур теперь сквозной. Т. е. не останавливается после первой найденной процедуры, а идет дальше, через локальный контекст, основной глобальный модуль и все дополнительные глобальные модули.
Предопределенные процедуры
Глобальный модуль
· ПослеОткрытия(<Контекст>) / OnActivate() - Предопределенная процедура после физического создания окна формы в системе.
Параметры:
<Контекст> - контекст открытой формы
Замечание:
В этой процедуре можно вызывать методы, которые помечены как "работает только после физического открытия окна формы".
Пример:
Процедура ПослеОткрытия(Конт)
ФормаРасш = СоздатьОбъект("РасширениеФормы");
ФормаРасш. УстановитьФорму(Конт. Форма);
ФормаРасш. ФиксироватьМногострочнуюЧасть(2);
КонецПроцедуры
· Процедура ПриДвиженииМыши(<Контекст>,<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>,< ФСО >) / OnMouseMove() - Предопределенная процедура движения мыши поверх формы.
Параметры:
<Контекст> - контекст формы
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
· ПриНажатииПравойКнопки(<Контекст>,<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>,<ФСО>) / OnRButtonDown () - Предопределенная процедура при нажатии правой кнопки мыши.
Параметры:
<Контекст> - контекст формы
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
· ПриОтжатииПравойКнопки(<Контекст>,<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>,<ФСО>) / OnRButtonUp() - Предопределенная процедура вызывается, когда отпущена правая кнопка мыши.
Параметры:
<Контекст> - контекст формы
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
· ПриДвойномНажатииПравойКнопки(<Контекст>,<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>,<ФСО>) / OnRButtonDblClk() - Предопределенная процедура при двойном клике правой кнопкой мыши.
Параметры:
<Контекст> - контекст формы
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
· ПриНажатииЛевойКнопки(<Контекст>,<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>,<ФСО>) / OnLButtonDown() - Предопределенная процедура при нажатии левой кнопки мыши.
Параметры:
<Контекст> - контекст формы
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
· ПриОтжатииЛевойКнопки(<Контекст>,<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>,<ФСО>) / OnLButtonUp() - Предопределенная процедура вызывается когда отпущена левая кнопка мыши.
Параметры:
<Контекст> - контекст формы
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
· ПриДвойномНажатииЛевойКнопки(<Контекст>,<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>,<ФСО>) / OnLButtonDblClk() - Предопределенная процедура при двойном клике левой кнопкой мыши.
Параметры:
<Контекст> - контекст формы
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
· ПриНажатииКнопкиКлавиатуры(<Контекст>,<КодКлавиши>,<Alt>,<Shift>,<Ctrl>,<Символ>,<ФСО>) / OnChar() - Предопределенная процедура при нажатии кнопки клавиатуры.
Параметры:
<Контекст> - контекст формы
<КодКлавиши> - код нажатой кнопки клавиатуры.
<Alt> - флаг нажатия кнопки <Alt>.
<Shift> - флаг нажатия кнопки <Shift>.
<Ctrl> - флаг нажатия кнопки <Ctrl>.
<Символ> - символ нажатой кнопки в формате ASCII.
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
· ПриИзмененииРазмераОкна(<Контекст>,<ТипСобытия>,<Ширина>,<Высота>) / OnSize() - Предопределенная процедура при изменении размеров окна формы.
Параметры:
<Контекст> - контекст формы
<ТипСобытия> - определяет тип запрошенного изменения размеров. Этот параметр может принимать одно из следующих значений:
0 - Окно было изменено, но не без минимизации или максимизации.
1 - Окно было свернуто (минимизировано).
2 - Окно было развернуто(максимизировано).
<Ширина> - новая ширина формы.
<Высота> - новая высота формы.
Модуль формы
· ПослеОткрытия() / OnActivate() - Предопределенная процедура после физического создания окна формы в системе.
Замечание:
В этой процедуре можно вызывать методы, которые помечены как "работает только после физического открытия окна формы".
Пример:
Процедура ПослеОткрытия()
ФормаРасш = СоздатьОбъект("РасширениеФормы");
ФормаРасш. УстановитьФорму(Форма);
ФормаРасш. ФиксироватьМногострочнуюЧасть(2);
КонецПроцедуры
· ПриДвиженииМыши(<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>, <ФСО>) / OnMouseMove() - Предопределенная процедура движения мыши поверх формы.
Параметры:
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
Пример:
Процедура ПриДвиженииМыши(сост, х, у)
Состояние(" х = " + х + " у = " + у + " сост = " + сост);
КонецПроцедуры
· ПриНажатииПравойКнопки(<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>, <ФСО >) / OnRButtonDown () - Предопределенная процедура при нажатии правой кнопки мыши.
Параметры:
<Состояние> - битовая маска, показывающаяя текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
Пример:
Процедура ПриНажатииПравойКнопки(сост, х, у)
Сообщить("Нажата правая кнопка мыши.");
КонецПроцедуры
· ПриОтжатииПравойКнопки(<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>, <ФСО >) / OnRButtonUp() - Предопределенная процедура вызывается когда отпущена правая кнопка мыши.
Параметры:
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
Пример:
Процедура ПриОтжатииПравойКнопки(сост, х, у)
Сообщить("Отпущена правая кнопка мыши.");
КонецПроцедуры
· ПриДвойномНажатииПравойКнопки(<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>, <ФСО >) / OnRButtonDblClk() - Предопределенная процедура при двойном клике правой кнопкой мыши.
Параметры:
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
Пример:
Процедура ПриДвойномНажатииПравойКнопки(сост, х, у)
Сообщить("Двойной правый клик по форме.");
КонецПроцедуры
· ПриНажатииЛевойКнопки(<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>, <ФСО >) / OnLButtonDown() - Предопределенная процедура при нажатии левой кнопки мыши.
Параметры:
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
Пример:
Процедура ПриНажатииЛевойКнопки(сост, х, у)
Сообщить("Нажата левая кнопка мыши.");
КонецПроцедуры
· ПриОтжатииЛевойКнопки(<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>, <ФСО >) / OnLButtonUp() - Предопределенная процедура вызывается когда отпущена левая кнопка мыши.
Параметры:
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
Пример:
Процедура ПриОтжатииЛевойКнопки(сост, х, у)
Сообщить("Отпущена левая кнопка мыши.");
КонецПроцедуры
· ПриДвойномНажатииЛевойКнопки(<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>, <ФСО >) / OnLButtonDblClk() - Предопределенная процедура при двойном клике левой кнопкой мыши.
Параметры:
<Состояние> - битовая маска, показывающая текущее состояние кнопок мыши.
<КоординатаПоГоризонтали> - значение координаты курсора мыши по горизонтальной оси (Х).
<КоординатаПоВертикали> - значение координаты курсора мыши по вертикальной оси (Y).
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
Пример:
Процедура ПриДвойномНажатииЛевойКнопки(сост, х, у)
Сообщить("Двойной левый клик по форме.");
КонецПроцедуры
· ПриНажатииКнопкиКлавиатуры(<КодКлавиши>,<Alt>,<Shift>,<Ctrl>, <Символ>, <ФСО >) / OnChar() - Предопределенная процедура при нажатии кнопки клавиатуры.
Параметры:
<КодКлавиши> - код нажатой кнопки клавиатуры.
<Alt> - флаг нажатия кнопки <Alt>.
<Shift> - флаг нажатия кнопки <Shift>.
<Ctrl> - флаг нажатия кнопки <Ctrl>.
<Символ> - символ нажатой кнопки в формате ASCII.
<ФСО> - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.
Пример:
Процедура ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к)
Предупреждение(Нажата кнопка клавиатуры.);
КонецПроцедуры
· ПриИзмененииРазмераОкна(<ТипСобытия>,<Ширина>,<Высота>) / OnSize() - Предопределенная процедура при изменении размеров окна формы.
Параметры:
<ТипСобытия> - определяет тип запрошенного изменения размеров. Этот параметр может принимать одно из следующих значений:
0 - Окно было изменено, но без минимизации или максимизации.
1 - Окно было свернуто (минимизировано).
2 - Окно было развернуто (максимизировано).
<Ширина> - новая ширина формы.
<Высота> - новая высота формы.
Пример:
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 |


