Имя: Пароль:
1C
1С v8
Необходимо выводить значения измененых реквизитов "ЧтоБыло-ЧтоСтало" 8.2 упр. пр
,
0 ser-korvin
 
27.03.12
16:08
В обычном приложении в процедуре ПриОткрытии() в ранее обозначенные переменные присваиваются значения старые.
В процедуре ПередЗаписью() сравниваются с текущими ив итоге выводится сообщение.
Пытаюсь также все это реализовать на управляемом приложении: ругается что переменные не определены Траздел, ТОтветственный и т.д.

&НаКлиенте
 Перем ТРаздел;
 Перем ТОтветственный;
 Перем ТПроект;
 Перем ТСтатус;
 Перем ТПриоритет;  
 

Процедура ПриОткрытии(Отказ)
   
   Если Объект.Ссылка.Пустая() Тогда
       
       /////        
   Иначе
       ПриоритетПриИзменении(Объект);
       
       ТОтветственный = Объект.Ответственный;
               ТРаздел = Объект.Раздел;  
       /////
   КонецЕсли;
   
КонецПроцедуры



&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
   
   
   К = 0;
   Если НЕ ТРаздел = Объект.Раздел Тогда
   Т1 = "Изменен " + ТРаздел + " на " + Объект.Раздел + ". ";
       К = 1;
       
   Если К = 1 Тогда
       //ЗаписьИзменений(Т1,Т2,Т3,Т4,Т5);
       НК = Объект.ИсторияИзменений.Добавить();
       НК.АвторИзменения = ИмяПользователя();
       НК.ДатаИзменения = ТекущаяДата();

       НК.СлужебноеСообщение = Т2;
   Иначе
       //ЗаписьИзменений(Т1,Т2,Т3,Т4,Т5);
   КонецЕсли;

КонецПроцедуры


Подскажите как решить данную проблему.
1 Человечкин
 
27.03.12
16:34
&НаКлиенте
 Перем ТРаздел=неопределено;
 Перем ТОтветственный=неопределено;
 Перем ТПроект;
 Перем ТСтатус;
 Перем ТПриоритет;
2 ser-korvin
 
27.03.12
16:40
(1) Увы, ругается

{Документ.Задача.Форма.ФормаДокумента.Форма(3,23)}: Ожидается символ ';'
 Перем ТОтветственный<<?>> = Неопределено; (Проверка: Сервер)
{Документ.Задача.Форма.ФормаДокумента.Форма(3,24)}: Неопознанный оператор
 Перем ТОтветственный <<?>>= Неопределено; (Проверка: Сервер)
3 Euguln
 
27.03.12
16:42
&НаКлиенте
Процедура ПриОткрытии(Отказ)
4 Euguln
 
27.03.12
16:43
А по-хорошему лучше реквизитом формы делать
5 yabes
 
27.03.12
16:43
(0) ты просто хочешь проверить изменил ли пользователь реквизиты после открытия объекта?
6 ser-korvin
 
27.03.12
16:46
(4) спасибо за идею, попробую
(5) не только изменил но  и что на что  Т1 = "Изменен " + ТРаздел + " на " + Объект.Раздел + ". ";
7 ser-korvin
 
27.03.12
16:46
(3) в коде у меня это есть, просто лишнее убирал и случайно удалил когда сюда копировал
8 Азат
 
27.03.12
16:50
(4) + 100500, сделать реквизит формы типа Произвольный, при создании на сервере пихать туда структуру всех реквизитов...

ПередЗаписьюНаСервере сравнивать и все... делов-то на 30 минут с тремя перекурами и парой игр в контру
9 Человечкин
 
27.03.12
16:51
(0) номер строки глянь на какой ругается, тобишь в твоей ошибке, если что при открытии инициализируй эти переменные
10 ser-korvin
 
27.03.12
16:58
Всем спасибо за помощь, сделал по (4). Делается все на клиенте -> меньше запросов на сервер(делается конфа для WEB интерфейса)
11 yabes
 
27.03.12
17:00
Смысл в том, что не обязательно запоминать значения при открытии! До записи старые значения можно прочитать обратившись по ссылке, например Объект.Ссылка.Ответственный (на сервере), а новые можно прям из формы прочитать!

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
   ПроверкаИзменений()
КонецПроцедуры

&НаСервере
Процедура ПроверкаИзменений()
   Если Объект.Ответственный <> Объект.Ссылка.Ответственный Тогда
       Сообщить("Бало изменение ответственного");        
   КонецЕсли;
   
   Если Объект.ТРаздел <> Объект.Ссылка.ТРаздел Тогда
       Сообщить("Бало изменение раздела");        
   КонецЕсли;
КонецПроцедуры
12 wald
 
27.03.12
17:07
(11) в (10) правильно сделал, нефиг каждый раз на сервер лазить
13 ser-korvin
 
27.03.12
17:22
(11) спасибо за объяснения, при необходимости - применю.
14 Человечкин
 
27.03.12
18:43
(11) Эй там - наверху. И куда ты серверу собрался сообщать?
15 Человечкин
 
27.03.12
18:44
(11) и перед словом "Бало" забыл поставить букву "Е" ГГгггг )Медаль Петросяна мне встудию)
16 simol
 
27.03.12
18:52
&НаКлиенте
 Перем ТРаздел, ТОтветственный, ТПроект, ТСтатус, ТПриоритет;
17 vmv
 
27.03.12
18:53
(0) и (16) + в соответствие