Вход | Регистрация

1С:Предприятие ::

Метки:Встроенный язык

Когда нужно использовать ТекущийЭлемент?

Я
   Denis Nsk
 
11.03.04 - 10:24
Когда в модулях нужно использовать метод ТекущийЭлемент?
Какие общие ситуации?
Я так понимаю после ВыбратьЭлементы; //или Записи Строки
ПолучитьЭлемент(); //или Записи Строки
программа всегда сама позиционируется на текущем элементе.
Спасибо
 
  Рекламное место пустует
   GrayT
 
1 - 11.03.04 - 10:50
Возвращает значение позиционированного текущего элемента справочника. (Синтакс-помощник)
Когда тебе надо куда-нить передать этот самый элемент.
Причем создается он как копия. Вот пример, на который я напоролся, когда изучал работу данного метода. (Справочник может быть любой)

    спр = СоздатьОбъект("Справочник.ТехОперации");
    спр.ПорядокКодов();
    спр.ВыбратьЭлементы();
    ТекЭл = спр.ТекущийЭлемент();
    
    Сообщить(спр.Наименование);
    спр.Наименование = "Новое наименование";
    
    Сообщить("++++++++++++++++");
    Сообщить(спр.Наименование);
    Сообщить(ТекЭл.Наименование);
    спр.Записать();
    Сообщить("++++++++++++++++");
    Сообщить(спр.Наименование);
    Сообщить(ТекЭл.Наименование);
   Denis Nsk
 
2 - 11.03.04 - 12:10
Спасибо.

спр.ВыбратьЭлементы(); - разве после этого программа спозиционируется на конкретном элементе? Если да то на каком? Хотя мне говорили что нет.

Сообщить("++++++++++++++++"); 
Сообщить(спр.Наименование);  // Напечатает новое наименование?

Сообщить(ТекЭл.Наименование);// Напечатает старое наименование?

Я правильно все понял?
   GrayT
 
3 - 11.03.04 - 12:22
На первом в текущем порядке (в данном случае - по коду).
Хотя обычно так не делаю. Это так, для демонстрации.

Правильно понял. Года два назад (еще отладчиком пользоваться толком не умел :(  ) искал, почему у меня условие не срабатыват. С тех пор это хорошо запомнил.
   Denis Nsk
 
4 - 11.03.04 - 13:12
А почему после спр.ВыбратьЭлементы();
метод ПолучитьЭлемент() не пропускает 1-й элемент?

После
...
...
Сообщить(\"++++++++++++++++\"); 
Сообщить(спр.Наименование);
Сообщить(ТекЭл.Наименование);

ТекЭл=спр.ТекущийЭлемент();
Сообщить (ТекЭл.Наименование);// Выдаст уже новое значение?
   GrayT
 
5 - 11.03.04 - 14:52
Не знаю. Наверное, потому что, ПолучитьЭлемент() не совсем Skip 1


Список тем форума
  Рекламное место пустует
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует