Difference between revisions of "Tab.CurLine"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 08:53, 7 February 2021
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;