Difference between revisions of "Tab.CurLine"
(No difference)
|
Revision as of 12:37, 27 July 2019
| CurLine (Индекс текущей строки) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Получить индекс текущей строки таблицы (первая строка=1). Текущая строка и выбранная пользователем строка визуального объекта, привязанного к таблице, могут иметь разные значения. Текущая строка используется в функциях выборки строк таблицы Select и пр. Разрешено присваивание нулевого значения.
Синтаксис
Tab.CurLine:<Индекс текущей строки (INT)>
Возвращаемое значение
Возвращает текущий индекс строки таблицы в виде целого числа. 0 -- если строка не выбрана.
Примеры
//Пример текста обработки визуального события OnAfterEditCell
//Value -- редактируемое значение, которое пользователь пытается записать в таблицу
MainTab:=Form.MainTab.Value;
//Если не выбрана строка или столбец в визуальной таблице, не выполнять действия
If (MainTab.SelectedLine=0)Or(MainTab.SelectedColumn=0) Then
Exit;
EndIf;
//Текущая строка = выбранная пользователем строка
MainTab.CurLine:=MainTab.SelectedLine;
//Если выбран столбец визуальной таблицы "Количество"
If MainTab.SelectedColumnName=uppercase("Количество") Then
//Записать количество в основной объект
MainTab.Количество:=Value;
//Изменить введенное количество, если необходимо, процедура работает с табличной частью документа
ПроверитьСоответствиеКоличестваНаЗапретОтгрузкиШручногоТовара(Form.Object);
//Обновить переменную Value измененным количеством
Value:=MainTab.Количество;
Form.CallOnStatusChange();
EndIf;
//Пример обхода таблицы с помощью функции Select
//Осуществляется проход по документу с указанием счетов, проверяется корректность соотношения выбранных счетов
aTab.Select();
While aTab.Next() Do
If (aTab.СчетД.Selected()=0)Or(aTab.СчетК.Selected()=0) Then
If aTab.СчетД.Забалансовый+aTab.СчетК.Забалансовый=0 Then
//Строка с ошибкой активизируется на экране для удобства пользователя
aTab.SelectedLine:=aTab.CurLine;
Box("В указанной строке документа не выбран корреспондирующий счет! Такое возможно только для забалансовых счетов!",Q_STOP);
Exit 0;
EndIf;
ElseIf aTab.СчетД.Забалансовый+aTab.СчетК.Забалансовый=1 Then
//Строка с ошибкой активизируется на экране для удобства пользователя
aTab.SelectedLine:=aTab.CurLine;
Box("В указанной строке документа выбраны забалансовый и обычный счета! Такие проводки запрещены!",Q_STOP);
Exit 0;
EndIf;
EndDo;