Имя: Пароль:
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С