Имя: Пароль:
1C
1С v8
Программно сделать текущей строкой динамического списка строку на одну выше текущей
0 Терпение и труд
 
25.05.22
13:54
Добрый день! Собственно, задача в названии. Вопрос - реально ли это? Насколько я знаю, в ДС нет текущего номера строки и текущих данных, такое возможно сделать только в ТЗ.
1 butterbean
 
25.05.22
13:59
(0) на то он и динамический - получай из источника предыдущую запись и по ней определяй строку
2 unenu
 
25.05.22
14:08
В Тз грузим список, ищем по ключу выделенную строку, получаем ключ предыдущей и устанавливаем этот ключ как новую текущую строку списка.

Метод так се, прокатит на маленьких списках. Если же список огромен, то будет больно.
    
Схема = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
    Настройки = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
    МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки);
    МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема,Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
  
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных();
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений();
    
    Тз = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
3 Быдло замкадное
 
25.05.22
15:31
&НаКлиенте
Процедура КнопкаВверх(Команда)
        
    ЭтаФорма.ТекущийЭлемент = Элементы.Товары;
    
    Shell = Новый COMОбъект("Wscript.Shell");
    Shell.SendKeys("{UP}");
    
КонецПроцедуры
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс