Имя: Пароль:
1C
 
Текущая строка в УФ
0 Маленький Вопросик
 
10.11.15
08:07
Народ, подскажите как получить текущую строку на УФ:

ТекущаяСтрока = Элементы.ТаблицаНакладных.ТекущаяСтрока; - не срабатывает!!!
1 rphosts
 
10.11.15
08:08
а ТекущиеДанные?
2 LordCMEPTb
 
10.11.15
08:09
Для начала, что значит "не срабатывает"?
Ну и где нужно её получить: сервер или клиент?
3 Маленький Вопросик
 
10.11.15
08:13
Пишу на клиенте -

ТекущаяСтрока = Элементы.ТаблицаНакладных.ТекущиеДанные;


Передаю на сервер

Ошибка отображения типов:
Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'
4 Маленький Вопросик
 
10.11.15
08:14
Получить текущую строку хочу на элемент.тч

и передать ее значения на сервер
5 LordCMEPTb
 
10.11.15
08:16
Ну просто у элемента формы текущая строка - идентификатор строки таблицы. Т.е. чтобы получить данные строка на сервере надо у реквизита вызвать метод "НайтиПоИдентификатору".
Ну а на клиенте достаточно брать свойство "ТекущиеДанные", которое из себя представляет "клиентский объект", который на сервер не отправить.
6 cw014
 
10.11.15
08:16
Бери сразу на сервере
7 cw014
 
10.11.15
08:17
И вообще
8 UFO
 
10.11.15
08:17
А в каком событии?
9 UFO
 
10.11.15
08:18
Да, и в любом случае это надо делать из серверной части события
10 rphosts
 
10.11.15
08:18
(3) на сервер или на сервер без контекста?
11 Маленький Вопросик
 
10.11.15
08:18
{Форма.Форма.Форма(561)}: Ошибка при получении значения атрибута контекста (ТекущиеДанные)
              ТекущаяСтрока = Элементы.ТаблицаНакладных.ТекущиеДанные;
по причине:
Текущие данные таблицы недоступны на сервере
12 rphosts
 
10.11.15
08:20
(11) может строка не выбрана? Если проблема только в этом - оберни в попытку-исключение
13 LordCMEPTb
 
10.11.15
08:21
(11) с 32го раза должно получиться! Верю в тебя!
14 patria0muerte
 
10.11.15
08:23
Так должно работать:

&НаКлиенте
Процедура ТвояКлиентскаяПроцедура()
    
    ТекущаяСтрока = Элементы.ТаблицаНакладных.ТекущиеДанные.ПолучитьИдентификатор();
    
    ТвояСервернаяПроцедура(ТекущаяСтрока);
        
КонецПроцедуры

&НаСервере
Процедура ТвояСервернаяПроцедура(Идентификатор)
    
    ТекущаяСтрока = Элементы.ТаблицаНакладных.НайтиПоИдентификатору(Идентификатор);
        
КонецПроцедуры
15 patria0muerte
 
10.11.15
08:25
Элементы.ТаблицаНакладных.ТекущаяСтрока - насколько я помню - возвращает номер строки. По нему вроде тоже можно поискать, но лучше - по идентификатору.
16 LordCMEPTb
 
10.11.15
08:25
(14) А разве в свойстве "ТекущаяСтрока" не находится тот же идентификатор, что и получаемый через "ТекущиеДанные.ПолучитьИдентификатор()"?
17 rphosts
 
10.11.15
08:26
(14) по нормальной схеме в большинстве случаев лучше данные завернут в структуру на клиенте и передать структуру в безконтекстную серверную процедуру. Павла на вас нет - он-бы вам за контекст...
18 Маленький Вопросик
 
10.11.15
08:27
что тут зарассусоливались - элементарный вопрос

ТекущаяСтрока = Объект.ТаблицаНакладных.Получить(Элементы.ТаблицаНакладных.ТекущаяСтрока);

(13) ты вообще идиот - забанить тебя надо.... троль
19 patria0muerte
 
10.11.15
08:28
(17) Дык товарищу надо чтобы работало. Так то оно ясно, что лучше без контекста, чтобы форму не тащить на сервер.
20 LordCMEPTb
 
10.11.15
08:29
(18) Класс! То есть в (5) тебя ответ не устроил, а получение строки по номеру (не идентификатору!) тебя устроило.
Просто если переформировать список, то номера строк останутся теми же, а вот идентификаторы сменятся и полезут ошибки.
Кто из нас тут еще троль...
21 patria0muerte
 
10.11.15
08:29
(18) Элементарный вопрос без знака вопроса? Очень странный вопрос, думается мне...
2 + 2 = 3.9999999999999999999999999999999...