Имя: Пароль:
1C
1C 7.7
v7: Событие смены строки в журнале документов
,
0 smitti911
 
06.08.14
12:34
Здравствуйте.На форме журнала документов есть таблица значений которая заполняется  подчиненными документами в момент смены строки.Сейчас на форме есть текстовый реквизит с функцией, но она отрабатывает при любом обновлении формы. Задача в том чтоб обработать клик по ТЗ , но через обновление формы постоянно активна первая строка ТЗ.Как обойти это?
1 NS
 
06.08.14
12:36
(0) Так обновляй ТЗ только при изменении текущего документа.
2 КонецЦикла
 
06.08.14
12:37
ТекущийДокумент сравнить с предыдущим значением, которое сохраняется в переменной
3 smitti911
 
06.08.14
12:46
Так и делаю , но при переходе по строкам ТЗ форма опять обновляется и активной становиться первая строка ТЗ, а нужно свободно перемещаться по ТЗ.
4 Ёпрст
 
06.08.14
12:49
:)
5 Ёпрст
 
06.08.14
12:50
в глоб переменной для модуля храни текущийДокумент, и только при его смене - обновляй свою тз на форме.. что тут может быть проще ?
6 smitti911
 
06.08.14
12:52
ПриОткрытии()
  ТекДок = ПолучитьПустоеЗначение("Документ.МойДок")



Функция ТекстНаФорме()
Если ТекущийДокумент <> ТекДок Тогда
   ЗаполнитьТЗнаФорме();
   ТекДок = ТекущийДокумент;
КонецЕсли

Когда хочу перемещатся по ТЗ отрабатывает Функция ТекстНаФорме() а там уже ТекДок = Текущий документ.
Наверное проще некуда но не пойму в чем соль
7 smitti911
 
06.08.14
12:53
Надо заполнить ТЗ и дальше по клику открывать документы из нее
8 Ёпрст
 
06.08.14
12:54
да уж..

Перем ТекДок; //в начало ммодуля, код из ПриОткрытии выкинь на  хе..р
9 smitti911
 
06.08.14
13:02
Когда хочу перемещаться по ТЗ отрабатывает Функция ТекстНаФорме() то есть форма обновляется и в ТЗ текущей становиться первая строка.Жму стрелка вниз на тз форма мелькает и опять тек.строка = 1 .....
10 Ёпрст
 
06.08.14
13:14
(9) Перем ТекДок;
есть в коде в начале модуля ?

ТекДок - нет ли еще реквизита формы с таким идентификатором ?
11 Ёпрст
 
06.08.14
13:14
Ты где-то переопределяешь ТекДок в коде. ИЩИ.
12 Ёпрст
 
06.08.14
13:15
А лучше, сделай так:

Перем ВасяНаПалке;
Функция ТекстНаФорме()
    Если ТекущийДокумент <> ВасяНаПалке Тогда
        ЗаполнитьТЗнаФорме();
        ВасяНаПалке  = ТекущийДокумент;
    КонецЕсли;
КонецФункции
13 smitti911
 
06.08.14
13:16
Блииинннн, Перем ТекДок было . но оказалось что в модуле уже была локальная(в Функции раскраски строк переменная ТекДок)
СделалТекДок2 и вуаля. Спасибо за терпение и ответы на мой примитивный вопрос...
14 smitti911
 
06.08.14
13:17
Ёпрст   , спасибо
15 smitti911
 
06.08.14
13:17
(11) Так и было....
16 smitti911
 
06.08.14
13:18
Еще вопросик.можно ли в журнале документов воспользоваться классом УправлениеФормой.Привязка  ?
17 smitti911
 
06.08.14
13:19
Чтоб растянуть нормально ТЗ-шку .
18 smitti911
 
06.08.14
13:20
В обработках так делаю но гдето на форуме писали что вешать на штатные формы журналов поставщиков данных и пользоваться всема прелестями не желательно. Что посоветуете?
19 Ёпрст
 
06.08.14
13:22
(16) можно. Только это имхо, не самый удачный класс для привязок, ибо основан на перехватчике
20 smitti911
 
06.08.14
13:23
А что лучше? Это класс из ПоставщикаДанних vandalsvq/
21 Ёпрст
 
06.08.14
13:24
(20) я в курсе что это :)
22 smitti911
 
06.08.14
13:25
(19) А чем пользоваться?
23 Ёпрст
 
06.08.14
13:37
либо Класс.Общие.Привязки от A'Dirks
либо вк от trad
24 Ёпрст
 
06.08.14
13:37
там нет зависимости от класса перехватчика
25 Ёпрст
 
06.08.14
13:38
Если у тебя нет поделок на перехватчике, то можешь и через
УправлениеФормой лепить
26 smitti911
 
06.08.14
13:48
(23) Где взять Класс.Общие.Привязки от A'Dirks , есть описание?
27 Ёпрст
 
06.08.14
14:49
28 Ёпрст
 
06.08.14
14:50
описалово - в самом классе на вкладке описание
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший