Имя: Пароль:
1C
1С v8
Как узнать что ТЧ изменилась из-за нажатия стрелок в командной панели?
,
0 oleg_prg
 
20.08.12
22:19
Здравствуйте форумчане!
1С8.2 режим УП.
Например на форме есть таблица у таблицы есть стандартная командная панел. Так вот, в этой панели есть стрелки вверх и вниз. Нажимая на эти стрелки текущая строка меняется либо с предыдущей строкой либо со следующей строкой местами. Есть ли какое событие чтобы отследить что изменение произошло в результате нажатия на эту стрелку? Или как правильно отследить этот момент?
Заранее спасибо.
1 PR
 
20.08.12
22:22
Может быть обновление отображения и при получении данных.
Больше вряд ли что-то еще.
2 oleg_prg
 
20.08.12
22:25
И на том спасибо, если будут идеи, пишите! Буду рад любому совету!
3 Tymoha
 
20.08.12
22:28
(2) а с какой целью? на что влияет порядок строк?
4 oleg_prg
 
20.08.12
22:40
Ой, лучше не спрашивайте... =) Есть ТЧ1 и на её основании заполняется ТЧ2, но эта ТЧ2 заполняется по хитрому с динамическими колонками. Так вот у меня все ок, но если изменить порядок строк в ТЧ1, надо изменить и ТЧ2. Вот в этом месте и возникает косяк (((
5 Tymoha
 
20.08.12
22:45
(4) именно поэтому и спрашиваю )))) у меня тоже звери "захотели" отслеживать порядок строк ... все уговоры насмарку - "нам так нужно" ... в итоге выкрутился так - сравниваю порядок строк на форме и в объекте ... знаю, через ж..пу ... но если зверье настаивает ... (((


Процедура ДеревоСборкиФормаПриИзменении(Элемент)
   ТекКво = 0;
   //проверим порядок строк в дереве и табличках
   Для Каждого Стр Из ЭтаФорма.ДеревоСборки.ПолучитьЭлементы() Цикл
       Для Каждого СтрСС Из Стр.ПолучитьЭлементы() Цикл
           ОтборСС = Новый Структура("Сборка, ЭлементСборки", Стр.ТМЦ, СтрСС.ТМЦ);
           МСС = Объект.СоставСборки.НайтиСтроки(ОтборСС);
           ИндексО = Объект.СоставСборки.Индекс(МСС[0]);
           Если ТекКво <> ИндексО Тогда
               Объект.СоставСборки.Сдвинуть(ИндексО, ТекКво - ИндексО);
           КонецЕсли;
           ТекКво = ТекКво + 1;
       КонецЦикла;
   КонецЦикла;
   ВернутьДеревоOUT();
КонецПроцедуры
6 Злопчинский
 
20.08.12
22:46
а что - при нажатии на стрелку нельзя в процедуру параметр передать..?
7 Tymoha
 
20.08.12
22:48
(6) нет штатного события под сдвиг строки ...
8 oleg_prg
 
20.08.12
22:49
Спасибо огромное! Буду пытаться!  Tymoha отдельное СПАСИБО!
9 oleg_prg
 
20.08.12
22:54
Еще как вариант, предложили не заморачиваться, а создать свою панельку со своей кнопкой стрелками и на эту кнопку подвесить нужную процедуру. Для юзера ничего не изменится, для программиста все становится проще
10 Tymoha
 
20.08.12
22:55
(9) если звери покладистые - несомненно ))
Закон Брукера: Даже маленькая практика стоит большой теории.