Приактивизацииполя и приактивизацииячейки в чем разница
Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download
А сегодня мы расскажем, как в 1С отловить событие долгого нажатия на строку табличной части. Для простоты будем называть его долгим тапом, или просто тапом (от слова tap – касание). По сравнению с первой частью эта статья уже более техническая, поэтому здесь не будет веселых фотографий розовых контейнеров. Ну а что вы хотели – мы в первую очередь разработчики, а не маркетологи. 🙂
Проблема
В 1С невозможно отловить событие долгого тапа. Данное пожелание уже звучало на партнерском форуме, но разработчики платформы не планируют его реализовывать, т.к. долгий тап не принято использовать на iOS.
На самом деле в мобильной платформе долгий тап есть. Если просто нажать на строку, то сразу происходит ее открытие, но если нажать и держать – то строка подсвечивается синим и ничего не происходит. Это сделано, чтобы пользователь мог выделить строку для выполнения дальнейших действий – например, сдвинуть или удалить. Проблема в том, что разработчик не может переопределить это поведение, и, например, показать пользователю контекстное меню с вариантами действий.
Не может? Ой, да шо вы говорите!
Решение
Как известно, при обычном нажатии на строку срабатывает событие Выбор, и строка открывается. Если строку просто выделить, то сработает событие ПриАктивизацииЯчейки. Казалось бы – что мешает поместить наш код в это событие? Не всё так просто – оно срабатывает не только при выделении, но и при нажатии. Когда мы нажимаем на строку – она на мгновение выделяется (это можно увидеть невооруженным глазом), а потом уже открывается.
Итак, что мы имеем? При долгом тапе отрабатывает только ПриАктивизацииЯчейки, при коротком – ПриАктивизацииЯчейки и Выбор. Вывод напрашивается сам собой – если сработали оба события – значит это Выбор, если сработала только Активизация – значит это долгий тап.
Как мы будем это определять? Напрашивается простой вариант – у формы завести переменную ДолгийТап с типом булево, в событии ПриАктивизацииЯчейки устаналивать ее в Истину, а в Выборе в Ложь. При этом в Активизации подключить Обработчик ожидания, который через полсекунды проверяет – если ДолгийТап = Истина, тогда показываем пользователю меню, если Ложь – тогда ничего не делаем.
Сказано – сделано. Пишем код:
Открываем форму на телефоне – и при открытии сразу же выскакивает наше предупреждение. Как так, мы ведь даже ничего не нажали? Это связано с тем, что при открытии формы первая строка таблицы активизируется и 1С думает, что это долгий тап.
Есть еще один неприятный эффект – долгий тап не срабатывает для уже выделенной строки. То есть если тапнуть по строке, откроется меню, пользователь его закроет и снова тапнет – то второй раз меню не откроется. Такое происходит потому, что событие ПриАктивизацииЯчейки не вызывается второй раз для выделенной строки.
Впрочем, даже в таком варианте этим пользоваться можно. Но “можно” нас не устраивает, поэтому мы продолжаем эксперименты.
Если присмотреться, то корень обеих проблем кроется в выделенной строке. Значит, сделаем так – будем очищать выделенные строки везде, кроме обработчика Активизации, а в обработчике ожидания поставим проверку на выделенные строки. Если выделенные строки есть – значит, Активизации сработала, а Выбор – нет, следовательно, это долгий тап. Пишем алгоритм:
Проверяем – первая проблема осталась. При открытии формы первая строка всё равно остается выделенной (и срабатывает долгий тап), как будто вызов процедуры принудительной очистки строк игнорируется платформой. Причем то же поведение наблюдается и в настольной версии.
Зато вторая проблема решилась – несмотря на то, что после открытия формы строки сама строка визуально остается выделенной, повторный тап по ней срабатывает и выполняется наш обработчик.
Подумаем над первой проблемой. Здесь есть несколько вариантов обхода, но мы остановились на следующей реализации: заведем переменную формы ЛожноеВыделение с типом булево и при открытии будем присваивать ей Истину, а в событии Активизации пропишем, что если это ложное выделение – то выделенные строки очищаются и ничего не происходит. Пробуем:
Запускаем на телефоне – работает!
Причем обратите внимание – можно не только определить свой обработчик долгого тапа, но и установить время задержки перед его срабатываем (второй параметр процедуры ПодключитьОбработчикОжидания).
Ну и чтобы вам два раза не вставать, к этой статье мы прикладываем обработку, в которой реализован простенький обработчик долгого тапа – можно тапнуть по строке и выбрать, что с ней сделать – переместить вверх, вниз, или удалить.
Вывод
Для обработки события длительного нажатия по строке табличной части следует воспользоваться комбинаций событий ПриАктивизацииЯчейки и Выбор, в которых проверяется, выделена ли текущая строка.
Пример реализации приведен в обработке, прикрепленной к статье. В описанном алгоритме также можно задать длительность задержки, после которой срабатывает обработчик. Метод одинаково работает на Android и iOS.
Послесловие
Я не удивлюсь, если первым комментарием к этой статье будет фраза “Мсье знает толк. ” А что поделаешь – именно так выглядит программирование под мобильную платформу 1С, если хочется выжать из нее немножко больше, чем 100%. Впрочем мы уверены, что оно того стоит, и наше приложение Контейнер – тому пример.
Мы не прощаемся, и в следующей статье расскажем про наши прекрасные диаграммы расходов и платежей. Оставайтесь с нами!
Вадим Невзоров
ХВОЯ интегра, Одесса
При выделении поля ввода табличной части выполнять событие
Имеется таблица. В нем есть поля. В моем случае нужно что бы при выделении поля «Характеристика», выполнялись определенные действия.
Вопрос: как сделать, что бы при нажатии на поле «Характеристика» запускалось какое-либо событие?
Я посмотрел события которые есть у поля:
1) при изменении.
2) начало выбора.
3) начало выбора из списка.
4) очистка.
5) регулирование.
6) открытие.
7) обработка выбора.
8) авто подбор текста.
9) окончание ввода текста.
Но вроде как ни одно событие не подходит мне.
Проверка на заполняемость поля ввода в табличной части
Добрый день! https://yadi.sk/i/wJzmWJty1dZTfA Проверка на заполняемость: Использую этот код.
Строка табличной части (событие)
Здравствуйте. Есть таблица с данными. Подскажите написания кода, что бы при нажатии мышкой по.
Запрос. Условие: строка из первой табличной части равна любой строке из другой табличной части
Есть документ «РаспределениеМатериаловНаВыпуск». У этого документа имеется «Форма документа». На.
Экспорт в эксель табличной части подчиненной формы с учетом полей-комбобоксов в табличной части
Добрый день. Пришло пожелание от коллег выгружать информацию из табличной подформы в.
Запрет перехода при редактировании ячейки табличного поля
Спасибо за коммент, но.
Это событие срабатывает до начала редактирования ячейки, а мне надо анализировать введенное значение и, если необходимо, запретить переход на другую ячейку.
Еще не знаю возможно ли это или это фантазия. Вот и спросил.
на форму добавил два реквизита произвольного типа: ТекКолонка и ТекСтрока.
По коду.
Это событие срабатывает до ввода значений в ячейку. Плюс, если предыдущая активная ячейка была в другой колонке с другим типом, то операция сравнения всегда будет выдавать ошибку по используемым методам
С точки зрения юзабилити, лучше выводить всплывающее сообщение, что бы привлечь внимание пользователя к тому, что переход по Enter не произошел, во избежание недоразумений.
(10),
Вот, наконец, эта фраза «переход по Enter»!
(14)Вы ту обработку вообще смотрели? Там физический запрет изменение активной ячейки.
Извините, но у меня нет желания помогать людам, которые сами не хотят, что бы им помогли.
(15),
Сорри, вчера не смог посмотреть(закрыто скачивание на работе).
Спасибо огромное за разъяснения.
Пример кода очень помог.
Дальше буду «играть» этими возможностями.
Хм. может я неправильно сформулировал вопрос.
Мне необходимо, если это возможно, сделать запрет перехода при анализе введенного значения в ячейку, а не присвоение различных значений в зависимости от условий.
Поясняю на примере:
Есть табличное поле с колонками НомерСтроки, Серия, Количество. Начальные данные заполняются из запроса.
Поле «Серия» является обязательным к заполнению.
Добавляется новая строка. В поле «Серия» не выбирается серия из справочника, а просто нажимается Enter. Анализ: так как значение пустое, то переход курсора(!) на след ячейку запрещен. Вот такое и хотелось бы.
З.Ы. Как вариант(только что подумал), при пустом значении сделать «ТолькоПросмотр» на все оставшиеся ячейки строки
Работа с Табличным Полем
Эта часть документации описывает работу с ЭУ «ТабличноеПоле».
Табличное поле
Подержка полиморфного поведения при обработке событий
События табличного поля может обрабатывать КОП-наследник от ТабличногоПоля. Процедуры-обработчики событий должны быть объявлены с ключевым словом Экспорт (protected или public) и должны иметь имя, совпадающее с именем обрабатываемого события.
События могут быть заданы в КОПе и в модуле формы одновременно, в этом случае сначала происходит вызов события в КОПе, затем в модуле формы.
ТабличноеПоле
Создание табличного поля.
Метод возвращает объект типа ТабличноеПоле или переданный параметром объект.
Свойства
Колонки / Columns
Доступ: только чтение.
Описание: Содержит коллекцию колонок табличного поля.
ПоставщикДанных / DataProvider
Доступ: чтение и запись.
Тип: объект.
Описание: Поставщик данных табличного поля.
ВертСкроллер / VScroller
Доступ: чтение и запись.
Тип: Число.
Описание: Наличие вертикальной полосы прокрутки.
НачальноеПредставление / StartView
Доступ: чтение и запись.
Тип: Число.
Описание: Используется для определения начального заполнения табличного поля, когда в него установлен поставщик данных.
РежимВыделенияСтроки / RowSelectMode
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет стиль выделения текущей строки.
РежимВыделения / SelectMode
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет режим выделения строк табличного поля.
ВертикальныеЛинии / VerticalLines
Доступ: чтение и запись.
Тип: Число.
ГоризонтальныеЛинии / HorizontalLines
Доступ: чтение и запись.
Тип: Число.
СтильЗаголовков / HeadersStyle
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет стиль отрисовки заголовков колонок.
СтильАктивногоЗаголовка / ActiveHeaderStyle
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет стиль отрисовки заголовка активной колонки.
ТекущаяКолонка / CurrentColumn
Доступ: чтение и запись.
Описание: Определяет текущую колонку табличного поля.
ТекущиеДанные / CurrentData
Доступ: только чтение.
Описание: Коллекция значений полей данных источника данных табличного поля. Данные текущей строки.
ВыделенныеСтроки / SelectedRows
Доступ: только чтение
Описание: Коллекция выделенных строк табличного поля
Шрифт / Font
Доступ: чтение и запись.
Описание: Шрифт по умолчанию для колонок, строк, заголовков и ячеек табличного поля.
Определяет также высоту строки табличного поля. Высота строки будет определяться по высоте строки текста этого шрифта. Значение Авто означает, что будет использоваться шрифт формы. По отношению ко всем остальным дочерним объектам табличного поля (колонка, строка, ячейка), этот шрифт будет шрифтом с самым низким приоритетом.
Примечание: значение Авто в свойствах типа Шрифт дочерних объектов означает, что будет выбран шрифт с меньшим приоритетом.
ТаймаутОбновления / RefreshTimeout
Доступ: чтение и запись.
Тип: Число.
ТаймаутБыстрогоПоиска / QuickSearchTimeout
Доступ: чтение и запись.
Тип: Число.
ИзменятьПозициюКолонок / ChangePositionOfColumns
Доступ: чтение и запись.
Тип: Число.
ЦветЛиний / LinesColor
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет разделительных линий между ячейками табличного поля.
ЦветТекста / TextColor
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет текста табличного поля по умолчанию.
ЦветФона / BackColor
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет фона табличного поля по умолчанию. Имеет влияние на цвет ячеек и на пространство окна, не занятое данными табличного поля.
ЦветТекстаВыделения / SelectionTextColor
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет текста выделенной ячейки.
ЦветФонаВыделения / SelectionBackColor
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет фона выделенной ячейки.
ЦветТекстаВыделения2 / SelectionTextColor2
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет текста выделенной строки когда РежимВыделенияСтроки == 2.
ЦветФонаВыделения2 / SelectionBackColor2
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет фона выделенной ячейки когда РежимВыделенияСтроки == 2.
ЦветФонаЧередованияСтрок / AlternationRowBackColor
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет альтернативный цвет фона строки таблицы в режиме чередования цветов фона строк.
ЧередованиеЦветовСтрок / UseAlternationRowColor
Доступ: чтение и запись.
Тип: Число.
ТекущаяСтрока / CurrentRow
Доступ: чтение и запись.
Тип: определяется поставщиком данных. Указывается в описании конкретного поставщика данных.
Описание: Определяет текущую строку табличного поля. Cвойство обслуживается установленным поставщиком данных. При записи в это свойство, произойдет активизация соответствующей строки табличного поля.
РазрешитьНачалоПеретаскивания / EnableStartDrag
Доступ: чтение и запись.
Тип: Число.
РазрешитьПеретаскивание / EnableDrag
Доступ: чтение и запись.
Тип: Число.
ОтображатьЗаголовки / ShowHeaders
Управляет отображением заголовков колонок ТП
ФиксацияСлева / FixedLeft
Доступ: Чтение и запись Тип: Число Описание: Содержит количество зафиксированных слева колонок. Зафиксированные колонки остаются на месте при горизонтальной прокрутке табличного поля.
ФиксацияСправа / FixedRight
Доступ: Чтение и запись Тип: Число Описание: Содержит количество зафиксированных справа колонок. Зафиксированные колонки остаются на месте при горизонтальной прокрутке табличного поля.
Шапка / Header
Доступ: Чтение Тип: ФиксированныеСтроки Описание: Объект, предназначенный для управления шапкой табличного поля
Подвал / Footer
Доступ: Чтение Тип: ФиксированныеСтроки Описание: Объект, предназначенный для управления подвалом табличного поля
Методы
ОбновитьСтроки / RefreshRows
Синтаксис: ОбновитьСтроки()
Описание: перечитать строки, отображаемые в данный момент в табличном поле. Табличное поле будет стараться сохранить текущую строку.
ПерерисоватьСтроки / RedrawRows
Синтаксис: ПерерисоватьСтроки() Возвращает: нет Описание: Обновить строки, отображаемые в данный момент в табличном поле, без обращения к провайдеру.
УстановитьОтступы / SetTextMargins
УстановитьОтступы(чЛево, чВерх, чПраво, чНиз)
ПолучитьГраницыТекущейЯчейки / GetCurrentCellBounds
ПолучитьГраницыТекущейЯчейки(чЛево, чВерх, чПраво, чНиз, флПривязка = 0)
Возвращет координаты текущей ячейки ТП
АвтоШирина / AutoWidth
События
ПриВыводеСтроки / RowOut
Синтаксис: ПриВыводеСтроки(ОформлениеСтроки, ДанныеСтроки, ТипРегиона)
Параметры:
Описание: Возникает при выводе (отображении) строки табличного поля.
Выбор / Selection
Синтаксис: Выбор(Строка, Колонка, ТипРегиона)
Параметры:
Описание: Возникает при двойном клике на строке табличного поля, или нажатии клавиши Enter.
ПриАктивизацииСтроки / ActivateRow
Синтаксис: ПриАктивизацииСтроки()
Описание: Возникает, когда любая строка становится текущей.
ПриАктивизацииКолонки / ActivateColumn
Синтаксис: ПриАктивизацииКолонки()
Описание: Возникает, когда любая колонка становится текущей.
ПриАктивизацииЯчейки / ActivateCell
Синтаксис: ПриАктивизацииЯчейки()
Описание: Возникает, когда ячейка становится текущей. Порядок прохождения событий: ПриАктивизацииСтроки, ПриАктивизацииКолонки, ПриАктивизацииЯчейки.
ПриВыбореЗаголовка / HeaderSelection
Синтаксис: ПриВыбореЗаголовка(Колонка)
Параметры:
Описание: Возникает, когда пользователь выбирает мышью заголовок колонки.
ПриКонтекстномМеню / ContextMenu
Синтаксис: ПриКонтекстномМеню(ТипРегиона, Колонка, Строка)
Параметры:
Описание: Возникает, когда необходимо отобразить контекстное меню.
ПриВыбореФлажка / ClickCheckBox
Синтаксис: ПриВыбореФлажка(Строка, Колонка, ТипРегиона)
Параметры:
Описание: Возникает, когда пользователь изменяет значение флажка.
НачалоПеретаскивания / DragStart
Синтаксис: НачалоПеретаскивания(ДопустимыеДействия, Значение, Колонка, ТипРегиона, ТипЦели)
Параметры:
Значение по-умолчанию 1. Если необходимо разрешить другие действия, нужно изменить значение этого параметра на выходе из обработчика события. Если передать 0, т.е. не определить ни одного действия, Перетаскивание не начнется.
Это значение используется для определения области ТП, в которой не нужно формировать события проверки перетаскивания, в том случае когда ЭУ-приемником является то же ТП, что и источник.
Описание: Возникает в ЭУ источнике данных, когда пользователь начинает перетаскивание (Drag&Drop).
ОкончаниеПеретаскивания / DragEnd
Синтаксис: ОкончаниеПеретаскивания(Действие, Значение, Колонка, ТипРегиона)
Параметры:
Описание: Возникает в ЭУ источнике данных, когда завершается операция перетаскивания (Drag&Drop).
Обычная обработка: в случае операции 2 (перетаскивания или Move) нужно удалить перетаскиваемые данные. В параметре Действие ЭУ источник данных всегда получит одно из тех действий, которое он определил для себя в событии НачалоПеретаскивания / DragStart.
ПроверкаПеретаскивания / DragCheck
Синтаксис: ПроверкаПеретаскивания(Действие, Значение, СтрокаТП, КолонкаТП, ТипРегионаТП, ТипЦели)
Параметры:
Описание: Возникает в ЭУ назначения перетаскивания для определения действия, которое произойдет при совершении операции перетаскивания. (Drag&Drop)
Перетаскивание / Drag
Синтаксис: Перетаскивание(Действие, Значение, СтрокаТП, КолонкаТП, ТипРегионаТП)
Параметры:
Описание: Возникает в ЭУ назначения, когда совершается операция перетаскивания (Drag&Drop).
Если строка или колонка не определяются под курсором мыши, то значения соответствующих параметров будут равны пустому значению.
ПриУничтожении / OnDestroy
Синтаксис: ПриУничтожении() Параметры: нет Описание: Событие вызывается при уничтожении контрола, с которым связано ТП, до уничтожения самого ТП.
ПриНачалеБыстрогоПоиска / OnQuickSearchStart
Доступ: чтение и запись
Значение по умолчанию: 1
Событие вызывается до инициализации окна быстрого поиска и позволяет управлять разрешением на его создание.
ПриБыстромПоиске / OnQuickSearch
ПриБыстромПоиске(чТипБыстрогоПоиска, нДанные, чФСО)
Доступ: чтение и запись
Данные, введенные в окне быстрого поиска
Значение по умолчанию: 1
ПриОкончанииБыстрогоПоиска / OnQuickSearchEnd
Событие вызывается после закрытия окна быстрого поиска.
ПриПеремещенииКолонки / OnColumnMove
ПриПеремещенииКолонки(Колонка, чСдвиг, чФСО)
Предлагаемый сдвиг колонки
Значение по умолчанию: 1
ПриИзмененииВидимостиКолонки / OnColumnVisibilityChange
ПриИзмененииВидимостиКолонки(Колонка, флВидимость, чФСО)
Предлагаемое значение флага видимости колонки
Значение по умолчанию: 1
ПриИзмененииШириныКолонки / OnColumnWidthChange
КолонкиТабличногоПоля
Свойства
Доступ: только чтение.
Описание: Набор свойств содержит значения полей колонок табличного поля. Доступ к значению осуществляется по имени колонки. Имена свойств совпадают с именами колонок табличного поля.
Методы
Количество / Count
Возвращает: тип: Число, количество колонок.
Описание: Получить количество колонок.
Получить / Get
Синтаксис: Получить(Колонка)
Параметры:
Описание: Получить колонку табличного поля.
Индекс / IndexOf
Синтаксис: Индекс(Колонка)
Параметры:
Описание: Получить индекс колонки.
Добавить / Add
Синтаксис: Добавить(Имя)
Параметры:
Описание: Добавляет колонку в табличное поле.
Вставить / Insert
Синтаксис: Вставить(Имя,Индкс)
Параметры:
Описание: Вставляет колонку в табличное поле.
Удалить / Remove
Синтаксис: Удалить(Индекс)
Параметры:
Описание: Удаляет колонку из табличного поля.
Очистить / Clear
Описание: Удаляет все колонки в табличном поле.
Сдвинуть / Move
Синтаксис: Сдвинуть(Индекс, Смещение)
Параметры:
Описание: Сдвигает позицию колоки на указанное смещение.
КолонкаТабличногоПоля
Объект для управления колонкой табличного поля.
Свойства
Имя / Name
Доступ: чтение и запись.
Тип: Строка.
Описание: Имя колонки.
Заголовок / Caption
Доступ: чтение и запись.
Тип: Строка.
Описание: Текст заголовка колонки.
Видимость / Visible
Доступ: чтение и запись.
Тип: Число.
Ширина / Width
Доступ: чтение и запись.
Тип: Число.
Описание: Ширина колонки в пикселях.
АвтоШирина / AutoWidth
Тип: Число
Описание: Минимальная достаточная ширина колонки в пикселях, рассчитанная по видимой части ТП
ГоризонтальноеВыравнивание / HorizontalAlignment
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет правило выравнивания текста в ячейках колонки по горизонтали.
ИзменениеРазмера / SizeChange
Доступ: чтение и запись.
Тип: Число.
ЦветТекста / TextColor
Доступ: чтение и запись.
Тип: Число.
Описание: Цвет текста строк. Приоритет выше, чем у свойства ЦветТекста табличного поля.
ЦветФона / BackColor
Доступ: чтение и запись.
Тип: Число.
Описание: Цвет фона строк. Приоритет выше, чем у свойства ЦветФона табличного поля.
Шрифт / Font
Доступ: чтение и запись.
Описание: Шрифт строк. Приоритет выше, чем у свойства Шрифт табличного поля.
ШрифтЗаголовка / HeaderFont
Доступ: чтение и запись.
Описание: Шрифт заголовка. Приоритет выше, чем у свойства Шрифт табличного поля.
ЦветТекстаЗаголовка / HeaderTextColor
Доступ: чтение и запись.
Тип: Число.
Описание: текста заголовка.
ЦветФонаЗаголовка / HeaderBackColor
Доступ: чтение и запись.
Тип: Число.
Описание: Цвет фона заголовка.
Данные / DataField
Доступ: чтение и запись.
Тип: Строка.
ЗнакУпорядочивания / OrderMarker
Доступ: чтение и запись.
Тип: Число
Описание: Определяет вывод значка упорядочивания в заголовке колонки.
ИзменятьВидимость / ChangeVisible
Доступ: чтение и запись.
Тип: Число
Методы
УстановитьКартинкиСтрок / SetRowsPictures
Синтаксис: УстановитьКартинкиСтрок(Картинки, Ширина)
Параметры:
Описание: Устанавливает набор картинок для отображения в ячейках этой колонки. Картинками считаются части общей переданной первым параметром картинки, полученные по следующим правилам: от левого верхнего угла слева направо, ширина равна высоте. Выбирается только первый ряд. Прозрачным является цвет RGB(0x00, 0x80, 0x80). Картинки будут доступны по индексу (от нуля).
ДанныеСтроки
Свойства
Доступ: только чтение.
Тип: любой. Тип определяется поставщиком данных.
Описание: Набор свойств содержит значения значения полей данных. Доступ к значению осуществляется по имени поля данных. Набор полей данных обеспечивается поставщиком данных.
Методы
Количество / Count
Возвращает: тип: Число, количество полей.
Описание: Получить количество полей данных.
Получить / Get
Синтаксис: Получить(Поле)
Параметры:
Возвращает: тип: Любой. Значение поля данных
Описание: Получить значение поля.
Индекс / IndexOf
Параметры:
Описание: Получить индекс поля.
ОформлениеСтроки
Объект для управления оформлением строки табличного поля.
Свойства
ДанныеСтроки / RowData
Доступ: только чтение.
Описание: Данные строки. Коллекция значений полей для строки табличного поля.
Ячейки / Cells
Доступ: только чтение.
Тип: ФиксированнаяКоллекция.
ЦветТекста / TextColor
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет текста всех ячеек строки. Приоритет выше, чем у свойства ЦветТекста колонки табличного поля.
ЦветФона / BackColor
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет текста всех ячеек строки. Приоритет выше, чем у свойства ЦветТекста колонки табличного поля.
Шрифт / Font
Доступ: чтение и запись.
Описание: Определяет Шрифт всех ячеек строки. Приоритет выше, чем у свойства Шрифт колонки табличного поля.
ОформлениеЯчейки
Объект для управления оформлением ячейки табличного поля.
Свойства
Имя / Name
Доступ: только чтение.
Тип: Строка.
Описание: Имя ячейки. Соответствует имени колонки, которой принадлежит ячейка.
ОтображатьТекст / ShowText
Доступ: чтение и запись.
Тип: Число.
ОтображатьКартинку / ShowPicture
Доступ: чтение и запись.
Тип: Число.
ОтображатьФлажок / ShowCheck
Доступ: чтение и запись.
Тип: Число.
ГоризонтальноеВыравнивание / HorizontalAlignment
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет правило выравнивания текста в ячейке по горизонтали.
ИндексКартинки / PictureIndex
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет индекс картинки для отображения в ячейке. Картинки должны быть предварительно установлены в соответствующей колонке.
ЗначениеФлажка / CheckValue
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет значение флажка ячейки табличного поля. Значение флажка отображаемого в ячейке.
Текст / Text
Доступ: чтение и запись.
Тип: Строка.
Описание: Определяет текст ячейки табличного поля.
ЦветТекста / TextColor
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет текста ячейки табличного поля. Приоритет выше, чем у свойства ЦветТекста строки табличного поля.
ЦветФона / BackColor
Доступ: чтение и запись.
Тип: Число.
Описание: Определяет цвет фона ячейки табличного поля. Приоритет выше, чем у свойства ЦветФона строки табличного поля.
Шрифт / Font
Доступ: чтение и запись.
Описание: Определяет шрифт текста ячейки табличного поля. Приоритет выше, чем у свойства Шрифт строки табличного поля.
Методы
УстановитьТекст / SetText
Текст, отображаемый в ячейке.
Устанавливает текст ячейки табличного поля для отображения и свойство ОтображатьТекст в 1.
УстановитьКартинку / SetPicture
Картинка или индекс картинки
УстановитьФлажок / SetCheck
Значение флажка, отображаемого в ячейке
Устанавливает значение флажка ячейки табличного поля и свойство ОтображатьФлажок в 1.
ВыделенныеСтроки
Коллекция выделенных строк табличного поля
Коллекцией можно управлять как интерактивно, так и программно.
Возможно выделение несвязанных строк с помощью мыши или клавиатуры при нажатой клавише CTRL, а также выделение диапазонов строк с помощью мыши при нажатой клавише SHIFT.
Для корректной работы механизма выделения строк необходимо, чтобы поставщик реализовал интерфейс CV7DataProvider (преобразование строки в значение, идентифицирующее строку). Например, для поставщика данных ODBC необходима установка поля ИД методом УстИДПоле.
Методы
Количество / Count
Синтаксис: Количество() Параметры: нет Возвращает: Количество выделенных строк ТП; тип: Число Описание:
Очистить / Clear
Синтаксис: Очистить() Параметры: нет Возвращает: нет Описание: Снимает выделение со всех строк ТП
Получить / Get
Значение строки; тип задается поставщиком данных
Получает значение выделенной строки ТП по ее индексу в коллекции
Добавить / Add
Значение строки ТП
Устанавливает выделение указанной строки ТП
Удалить / Delete
Значение строки ТП
Снимает выделение указанной строки ТП
Содержит / Contains
Значение строки ТП
Определяет, содержит ли в данная коллекция выделенных строк указанную строку ТП
ФиксированныеСтроки
Объект, предназначенный для управления регионами фиксированных строк ТП (Шапка и Подвал)
Свойства
ПоставщикДанных / DataProvider
Доступ: Чтение и запись Тип: Поставщики данных табличного поля Описание: Поставщик данных соответствующего региона ТП
ЦветТекста / TextColor
Доступ: Чтение и запись Тип: Число Описание: Цвет текста соответствующего региона ТП
ЦветФона / BackColor
Доступ: Чтение и запись Тип: Число Описание: Цвет фона соответствующего региона ТП
Методы
ОбновитьСтроки / RefreshRows
Синтаксис: ОбновитьСтроки() Параметры: нет Возвращает: нет Описание: Обновляет данные поставщика и заново отрисовывает табличное поле
Типы данных
Общие
Перечисления
ТипыРегионовТП
Поставщики данных табличного поля
ПоставщикДанныхODBC. / ODBCDataProvider
Используется для отображения в табличном поле таблиц баз данных. Для получения данных используется драйвер ODBC. Подключение задается объектом ODBCDataBase|_1cpp_odbc_Database.
Получаемые данные определяются SQL запросом. Формат SQL запроса определяется строже, чем общий формат SQL запроса источника данных или драйвера ODBC.
Возможно использование метаимен и типизации полей, как определено для объекта ODBCRecordset|_1cpp_odbc_recordset в Приложении А|_1cpp_SQLQuery_Metanames. Данные получаются частями по несколько записей, как это необходимо для отображения.
Этот поставщик данных поддерживает функционал исключения полей из текста запроса, если данные не нужны для отображения (по причине удаления или невидимости колонки табличного поля).
Формат ключа порядка:
В ключе порядка имя поля необходимо указывать без типизации. (Обратите внимание, что поля из ключа порядка должны быть обязательно определены в запросе.)
В тексте запроса допустимо использование текстовых параметров. Формат определения текстового параметра в тексте запроса:
Возможно использование модификаторов, как определено для объекта ODBCRecordset|_1cpp_odbc_recordset. Текстовые параметры должны быть установлены до установки текста запроса.
В тексте запроса допустимо использование SQL параметров. Формат определения SQL параметра в тексте запроса:
После установки текста запроса, доступ значениям параметров обеспечивается коллекцией параметров поставщика данных.
Свойство ТекущаяСтрока табличного поля:
Определяет тип источника данных. От типа источника зависит стиль конечных запросов к серверу. От типа источника также могут зависеть способы и возможности оптимизации. Определены следующие типы источников данных:
MSSQL: Источником данных должен быть Microsoft SQL Server 7.0 или Microsoft SQL Server 2000. Рекомендуется драйвер: . VFP: Источником данных должны быть dbf файлы. Рекомендуется драйвер: . MySQL: Источником должен быть MySQL Server. Рекомендуется драйвер: . Oracle: Источником должен быть Oracle8i Database. Рекомендуется драйвер: или .
Свойства
Поля / Fields
Доступ: только чтение.
Описание: Коллекция полей поставщика данных.
БазаДанных / Database
Доступ: чтение и запись.
Описание: Определяет подключение, через которое поставщик данных будет работать.
Параметры / Params
Доступ: только чтение.
Описание: Коллекция параметров запроса.
Методы
УстТекстЗапроса / SetQueryText
Синтаксис: УстТекстЗапроса(ТекстЗапроса)
Параметры:
Описание: Устанавливает текст запроса. При этом происходит сброс ключа порядка, сброс установки идентификационного поля. Происходит полная инициализация состояния поставщика данных. При установке текста запроса происходит также парсинг текста запроса парсером метаимен, как определено для объекта ODBCRecordset|_1cpp_odbc_recordset.
Примечание: Сразу после установки текста запроса поставщик данных находится в неработоспособном состоянии, т.к. происходит сброс, без ключа порядка он работать не может.
УстКлючПорядка / SetOrderKey
Синтаксис: УстКлючПорядка(КлючПорядка)
Параметры:
Описание: Установка возможна только после установки текста запроса.
УстановитьТекстовыйПараметр / SetTextParam
Синтаксис: УстановитьТекстовыйПараметр(ИмяПараметра, ЗначениеПараметра)
Параметры:
Описание: Устанавливает значение параметра.
УстИДПоле / SetIDField
Синтаксис: УстИДПоле(ИмяПоля)
Параметры:
Описание: Устанавливает поле, которое будет принято поставщиком данных как поле, идентифицирующее строку данных. Значение этого поля будет обеспечиваться поставщиком данных, как значение для свойства ТекущаяСтрока табличного поля.
Обновить / Refresh
Синтаксис: Обновить(ТекущаяСтрока)
Параметры:
Описание: Если параметр не указан, то происходит начальное заполнение табличного поля, учитывая значение свойства табличного поля НачальноеПредставление. Если указан параметр, то начальное заполнение табличного поля произойдет с активизацией переданной текущей строки.
Текущую строку можно задавать двумя способами:
Отладка / Debug
Синтаксис: Отладка(флРежим = 1)
Параметры:
Описание: включает / отключает отладочный режим.
ПолучитьТекстЗапроса / GetQueryText
Синтаксис: ПолучитьТекстЗапроса()
Параметры:
Описание: возвращает текст запроса
ПоляДанныхODBC
Свойства
Доступ: только чтение.
Описание: Набор свойств содержит значения объекты для управления полями данных. Доступ осуществляется по имени поля данных.
Методы
Количество / Count
Возвращает: тип: Число. Количество элементов.
Описание: Получить количество элементов.
Получить / Get
Синтаксис: Получить(Поле)
Параметры:
Возвращает: тип: ПолеДанныхODBC.
Описание: Получить поле поставщика данных по индексу или номеру.
Добавить / Add
Синтаксис: Добавить(Имя)
Параметры:
Возвращает: тип: ПолеДанныхODBC. Добавленное поле.
Удалить / Remove
Синтаксис: Удалить(Индекс)
Параметры:
Очистить / Clear
ПолеДанныхODBC
Объект для управления полем поставщика данных.
Свойства
Имя / Name
Доступ: только чтение.
Тип: Строка.
Описание: Имя поля.
АвтоУдаление / AutoDelete
Доступ: чтение и запись.
Тип: Число.
ТипБыстрогоПоиска / QuickSearchType
Доступ: чтение и запись.
Тип: Число.
Описание: Тип быстрого поиска определенного для этого поля. Быстрый поиск может проводиться интерактивно в табличном поле. Быстрый поиск ведется поставщиком данных только по первому полю ключа порядка, поэтому тип быстрого поиска должен определять тип данных этого поля.
УсловиеБыстрогоПоиска / QuickSearchCondition
Доступ: чтение и запись.
Тип: Строка.
Описание: Определяет дополнительное условие, которое будет включено по «И» в SQL запрос для быстрого поиска.
Примечание: ВНИМАНИЕ! Эта часть запроса не обрабатывается парсером метаимен.
Типизация / Typification
Доступ: чтение и записаь Тип: Строка вида «Справочник.*», «Документ.*» и т.д., без имени поля и знака «$» Описание: Предоставляет возможность альтернативной спецификации типизирующих полей запроса.
ПараметрыЗапроса
Коллекция значений SQL параметров запроса. Состав коллекции определяется при установке текста запроса.
Свойства
Доступ: чтение и запись.
Тип: любой.
Описание: Набор свойств содержит значения SQL параметров определенных в тексте запроса. Доступ осуществляется по имени параметра.
Методы
Количество / Count
Возвращает: тип: Число. Количество параметров.
Описание: Получить количество параметров в запросе.
Получить / Get
Синтаксис: Получить(Параметр)
Параметры:
Возвращает: тип: любой. Значение параметра.
Описание: Получить значение параметра по индексу или имени.
Индекс / IndexOf
Параметры:
Возвращает: тип: Число. Индекс параметра.
Установить / Set
Синтаксис: Установить(Имя, Значение)
Параметры:
Описание: Устанавливает значение параметра.
ПоставщикДанныхТЗ / VTProvider
Поставщик данных для табличного поля. Позволяет отобразить данные таблицы значений в табличном поле.
Методы
УстТаблицуЗначений / SetValueTable
Синтаксис: УстТаблицуЗначений(ТаблицаЗначений)
Параметры:
Описание: Устанавливает таблицу значений. Она будет использоваться, как источник данных для отображения в табличном поле.
Объекты общего назначения
Шрифт
Объект для определения шрифта текста.
Свойства
Вид / Type
Доступ: только чтение.
Тип: Число.
Описание: Вид шпифта.
Имя / Name
Доступ: только чтение.
Тип: Строка.
Описание: Имя шрифта. (Имя гарнитуры)
Размер / Size
Доступ: только чтение.
Тип: Число.
Описание: Размер шрифта в пунктах.
Жирный / Bold
Доступ: только чтение.
Тип: Число.
Наклонный / Italic
Доступ: только чтение.
Тип: Число.
Подчеркивание / Underline
Доступ: только чтение.
Тип: Число.
Зачеркивание / StrikeOut
Доступ: только чтение.
Тип: Число.
Конструкторы (Создание через фабрику объектов)
Основной
Синтаксис: Шрифт(Имя, Размер, Жирный, Наклонный, Подчеркивание, Зачеркивание)
Параметры:
Описание: Создается абсолютный шрифт.
Системный
Параметры:
Описание: Создается системный шрифт.
На основании другого шрифта
Синтаксис: Шрифт(Шрифт, Имя, Размер, Жирный, Наклонный, Подчеркивание, Зачеркивание)
Параметры:
ФабрикаОбъектов
Специальный объект, представляющий из себя сборник конструкторов встроенных классов. Позволяет снабдить процесс создания объектов параметрами. Каждый метод фабрики объектов возвращает объект одноименного типа.
Описание синтаксиса создания расположено в описании самих объектов.