Имя: Пароль:
1C
 
Как отлаживать код веб-клиент на 8.2 ?
0 i-rek
 
20.10.08
14:21
Ну что отладчик не цепляется к веб-клиенту - это бог бы с ним. Было бы удивительно если бы цеплялся :)
но он не цепляется и к тонкому клиенту.
Ладно. Бог бы с ним. Но он не цепляется и к серверу !
1 tsr
 
20.10.08
14:23
Да бог с ними. Это ж бетта
2 Ns33
 
20.10.08
14:25
Только что проверил, отладчик работает в тонком клиенте.
3 i-rek
 
20.10.08
14:26
(2) файловый режим ?
4 TitanLuchs
 
20.10.08
14:31
(0) Че за ботва, у меня на тонком клиенте цепляется на "раз-два", и точки останова запоминает...
Напиши подробней. Что значит "не цепляется и к серверу"?
5 rs_trade
 
20.10.08
14:32
надо сервер с ключом -debug запускать, вроде как. В документации написано.
6 i-rek
 
20.10.08
14:33
(4) ну у меня в клиент-серверном варианте точки останова не срабатывают нигде

(5) спасибо !

а ещё кажись на клиенте событие формы ПриОткрытии не срабатывает. И обработчик ожидания не срабатывает
7 rs_trade
 
20.10.08
14:34
для возможности отладки COM соединений и WEB сервисов надо xml файлики создавать в каталоге BIN\CONF
8 TitanLuchs
 
20.10.08
14:36
(6) Срабатывает ПриОткрытии(). На управляемых формах я проверял, в тонком клиенте.
9 i-rek
 
20.10.08
14:41
Спасибо ! Это всё обнадёживает. Буду копать...
10 i-rek
 
20.10.08
14:47
ну вот скажите, если я в одной форме написал

ОткрытьФормуМодально("Обработка.Вторая.Форма");

а во второй

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   Сообщить("При открытии");
КонецПроцедуры

и при этом вижу что формочка открылась, но ничего не вывелось - это что значит ?
что в модальных формах Сообщить() не работает или что ПриОткрытии не сработало ?

речь именно о веб-клиенте
11 TitanLuchs
 
20.10.08
14:56
(10) Ха-ха, тут ты и попался ))) "Сообщить()" в управляемом приложении работает теперь по-другому. Замени на "Предупреждение()" и все будет клево. Короче, "Сообщить()" теперь показывает сообщение в самой форме. А поскольку форма у тебя еще не открыта, что сообщение "улетает в космос" )) Это справедлибо и для веб-клиента, и для тонкого клиента.
12 TitanLuchs
 
20.10.08
15:00
+(11) Ё, ошибок то наделал...
"А поскольку форма у тебя еще не открыта, то сообщение "улетает в космос" )) Это справедливо и для веб-клиента, и для тонкого клиента."
13 i-rek
 
20.10.08
15:03
(11) звучит очень правдоподобно... только у меня видать и Предупреждение() видать в космос улетает ))
формочка тихо молча открывается

чем бы её ещё пронять ? :))
14 TitanLuchs
 
20.10.08
15:04
(13) Так, я щас, 5 минут... <ушел запускать УП на веб-клиенте>
15 i-rek
 
20.10.08
15:05
и в немодальном режиме в космос улетает...
16 i-rek
 
20.10.08
15:06
и под ie и под лисой улетает. Причём под лисой - быстрее )) это приятно
17 TitanLuchs
 
20.10.08
15:17
(16) Опачки... я неверную информацию выдал в (11) Но раньше и у меня "Сообщить()" в ПриОткрытии() пропадало..
Итак, опыт показал, что вот такой код, размещенный в управляемой форме элемнета справочника, с установленной точкой останова на строке "Сообщить("Сообщить");" дает следующий эффект:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   Сообщить("Сообщить");
   Предупреждение("Предупредить");
КонецПроцедуры


1. На тонком клиенте:
1.1 Сначала оснанавливается в отладчике
1.2 Потом выдает предупреждение, форма при этом еще не открыта
1.3 Открывает форму и показывает в ней сообщение

2. На веб-клиенте:
2.1 Точку останова игнорирует
1.2 Потом выдает предупреждение, форма при этом еще не открыта
1.3 Открывает форму и показывает в ней сообщение

Отак от
18 TitanLuchs
 
20.10.08
15:22
+(17) Кста, возможно раньше сообщения у меня в космос улетали потому, что релиз платформы был старее. Я его недавно до 8.2.8.256 обновил.
19 i-rek
 
20.10.08
15:25
(17) ё маё
Всё получилось ! Спасибо тебе большое.
Ща расскажу что было:

в обработке "Вторая" была форма "Форма"

надо было вместо
ОткрытьФорму("Обработка.Вторая.Форма");

написать
ОткрытьФормуМодально("Обработка.Вторая.Форма.Форма");

а то что я написал - приводило к автогенерации пустой формы... т.е. я видел не свою форму, а автоматическую :))))

во грабли-то...
20 TitanLuchs
 
20.10.08
15:28
(19) Во, об этом я тебе тока шо и хотел написать )))
21 undertaker
 
20.10.08
15:29
(17)
А у меня ерунда какая то... вот из всего этого

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   Сообщить("Сообщить");
   Предупреждение("Предупредить");
КонецПроцедуры

выполняется только
Предупреждение("Предупредить");

а
Сообщить("Сообщить");

не выполняется. если поставить точку останова напротив Сообщить("Сообщить"), то остановка происходит после нажатия Ф5 в окошке таки появляется сообщение...
22 TitanLuchs
 
20.10.08
15:29
(19) Стоять! Что значит "к автогенерации пустой формы"? То есть в строке

ОткрытьФормуМодально("Обработка.Вторая.Форма");

ты указал имя формы, которой у тебя в конфигураторе фактически нет, и при этом ничего не падало с ошибкой? Шозанах?
23 undertaker
 
20.10.08
15:30
(21) + точку останова убираю, снова выводится только Предупреждение
24 TitanLuchs
 
20.10.08
15:34
(19) Только что проверил - попросил открыть форму, которой у справочника нет:

&НаКлиенте
Процедура ОткрытьРежимВыбораКомплектующихВыполнить()
   //ОткрытьФорму("Справочник.КомплектующиеИМатериалы.Форма.ФормаРежимаВыбора");
   ОткрытьФорму("Справочник.КомплектующиеИМатериалы.Форма.ФормаРежимаВы");
КонецПроцедуры

Меня отматерили и упали с ошибкой )))


(21) Щас проверю еще раз без точек останова
25 i-rek
 
20.10.08
15:38
(22) не, я именно не ошибся в написании формы, а вообще не указал явно форму. Т.е. Обработка.Вторая.Форма.ывавыолт приведёт к ошибкеа, а Обработка.Вторая.Форма приведёт к автогенерации
26 TitanLuchs
 
20.10.08
15:41
(25) Интересная ботва! Счас гляну!
(23) Вот мла, у меня тож самое! С без точки останова в тонком клиенте сообщение не выходит. А в веб клиенте выходит, по фигу, стоит точка останова или нет.
27 TitanLuchs
 
20.10.08
15:45
(25) Кхм... Простите, я, конечно, дико извиняюсь, но у меня строка

ОткрытьФорму("Справочник.КомплектующиеИМатериалы.Форма.Форма");

падает с ошибкой и в тонком, и в веб-клиенте. Что я делаю не так? )))
28 undertaker
 
20.10.08
16:02
(23), (26)
а вот так все замечательно работает

СообщениеПользователю = Новый СообщениеПользователю;
СообщениеПользователю.Текст = "Сообщить";
СообщениеПользователю.Сообщить();
29 TitanLuchs
 
20.10.08
16:08
(28) Ага. А ты научился уже привязывать такое сообщение к конкретному реквизиту? А то я пробовал - ни фига не получается пока.
30 undertaker
 
20.10.08
16:22
(29) неа... у меня новая фигня:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   Предупреждение("Предупредить");
   СообщениеПользователю = Новый СообщениеПользователю;
   СообщениеПользователю.Текст = "Сообщить";
   СообщениеПользователю.Сообщить();
КонецПроцедуры

вот такой код срабатывает на ура, то есть сначала Предупреждение, потом открывается форма, потом появляется справа сообщение. Если же код будет таким

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   СообщениеПользователю = Новый СообщениеПользователю;
   СообщениеПользователю.Текст = "Сообщить";
   СообщениеПользователю.Сообщить();
КонецПроцедуры

то никакого сообщения не появится. Проверь пжлста у себя :)
31 TitanLuchs
 
20.10.08
16:23
(30) Гы! Счас гляну ))
32 undertaker
 
20.10.08
16:28
эксперименты показали, что вот такой код

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   //Предупреждение("Предупредить");
   Сообщить("Сообшить УРЯЯЯЯ");
   СообщениеПользователю = Новый СообщениеПользователю;
   СообщениеПользователю.Текст = "Сообщить";
   СообщениеПользователю.Сообщить();
КонецПроцедуры

начинает работать после того, как будет установлена точка останова или раскоментировано предупреждение
33 TitanLuchs
 
20.10.08
16:29
(32) Да, в тонком клиенте так. В веб-клиенте сообщение не выходит ни в том, ни в другом случае, даже есть предупреждение показывается.
34 undertaker
 
20.10.08
17:07
(33) чудесаааа!
35 undertaker
 
20.10.08
17:44
я наверно чего то не знаю, но

&НаКлиенте
Процедура ПриЗакрытии()
   Сообщение = Новый СообщениеПользователю;
   Сообщение.Текст = "УРА!";
   Сообщение.Сообщить();    
КонецПроцедуры

работает нормально. Может дело в обработчике?...
36 undertaker
 
20.10.08
17:47
а еще формы открываются модально, может это как то связано
37 TitanLuchs
 
20.10.08
18:03
(35) Не, ИМХО это потому, что сообщение теперь выводится не в окне сообщений, а в самой форме. При закрытии форма уже сформирована и отображается на экране, так что все пучком, а при открытии ее еще как бы нет. Повторю, что это ИМХО, что там 1С думает по этому поводу - фиг его знает, мож это не баг, а фича такая ))
38 undertaker
 
22.10.08
10:24
"Данное поведение, когда "при открытии" не показывается сообщение необходимо считать ошибкой, она будет исправлена в следующем релизе.
На данный момент (8.2.8.256) пока окно формы не появится на экране, никакие сообщения не выводятся." (с) 1С
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший