Имя: Пароль:
1C
1С v8
Конфигуратор все ближе к Visual Studio
0 orefkov
 
21.12.12
17:28
Сегодня добавил в Снегопат возможность работы с отладчиком - можно отлавливать происходящие события отладки и вычислять выражения.

Немного jscript'а, толстых форм, фантазии, 4 часа работы и пожалуйста - небольшой помощник в отладке готов. Автоматом показывает все локальные переменные и переменные модуля, подсвечивая изменившиеся.

Видео с примером работы - http://youtu.be/RmGm89nG0i0
Текст скрипта - http://snegopat.ru/scripts/artifact/3a7a0373f611993106b7255f013d251f88bf69a8
1 Stim
 
21.12.12
17:34
Стандартный отладчик не умеет вычислять выражения?
2 Маус
 
21.12.12
17:35
меня пока Visual Studio устраивает;-)
3 pumbaEO
 
21.12.12
17:36
(1) Как на видео не умеет.

(0) Спасибо!
4 orefkov
 
21.12.12
17:37
(1)
Умеет. Только их надо ручкам в табло вносить.
А тут пример скрипта - само определяет все локальные переменные, и отслеживает их.
(2)
Меня тоже. И хочется Конфигуратор к ней приблизить.
5 Маус
 
21.12.12
17:39
(4) так переходи на C++/C#, это сейчас трэнд;-)
6 orefkov
 
21.12.12
17:40
(3)
Есть идеи по развитию?
7 orefkov
 
21.12.12
17:41
(5)
Только что оттудова. Я там с 97 года тусуюсь, когда еще слова "тренд" даже не было.
8 pumbaEO
 
21.12.12
17:44
(6) обязательно будут, сейчас очень занят даже подумать в тишине негде.
9 TormozIT
 
гуру
21.12.12
17:50
(0) Супер! Реально порадовало!
10 orefkov
 
21.12.12
22:28
(9)
Тебе спасибо.
Регэкспы для синтакс-разбора модуля твои вроде?
Кстати, уже увидел косяк на видео: при присвоении переменной "Выборка" - не подсветилось красным. Надо не только изменение значения проверять, но и изменение типа значения.
11 Asmody
 
21.12.12
22:35
а изменить значения переменной по ходу пьессы можно?
12 orefkov
 
21.12.12
22:51
(12)
Это еще Гений 1С писал - Книга знаний: v8: Хитрости отладки
В-принципе, если оформить эти методы в виде внешней обработки и загружать ее при отладке, то можно понаделать удобных макросов для этих дел.
13 orefkov
 
21.12.12
22:53
(12) для (11)
14 GenV
 
21.12.12
22:54
Мощно.
(12) Это было бы очень удобно. Пока приходится выкручиваться через вызов методов внешней обработки по её пути.
15 France
 
21.12.12
23:00
и как его готовить??..
16 TormozIT
 
гуру
22.12.12
01:12
(10) А да, вроде я где выкладывал на форуме снегопата внешнюю обработку для нестрогого разбора модуля на кусочки.
17 pumbaEO
 
22.12.12
01:32
(6) отписался о пожеланиях на форуме.
18 France
 
22.12.12
01:32
чо, тут снобы что ле только?? как готовить сабж?
19 pumbaEO
 
22.12.12
01:39
подключить скрипт, запустить отладку, по точке останова должен сам появиться.
20 France
 
22.12.12
01:43
как подключить?? мне онна фича пригодится.. а то, после вчерашней трассировки кода с клацанием "вычислить выражение" к утру привели к давлению 150.109
21 pumbaEO
 
22.12.12
01:46
(20) давай начнем с малого : снегопат купленный есть?
22 France
 
22.12.12
01:49
понял... дальше разберусь)) спасибо
23 orefkov
 
24.12.12
11:33
(22)
Разобрался?
24 Deon
 
24.12.12
11:46
Крутотенечки, спасибо
25 Бывший адинэсник
 
24.12.12
11:56
4500р, а чего так дорого то?
26 badboychik
 
24.12.12
11:58
1Су до VS еще как до Луны на карачках
27 Deon
 
24.12.12
11:59
(25) Бери на инфостарте
28 Злопчинский
 
24.12.12
12:00
здоровско
31 orefkov
 
24.12.12
16:21
(26)
Можно более развернуто?
Что есть в VS, чего не хватает в Конфигураторе?
32 toypaul
 
гуру
24.12.12
16:25
(31) точка остановки по изменению памяти :)
33 trad
 
24.12.12
16:29
(31) поддержки разработки C++
:)
34 trad
 
24.12.12
16:30
* НА c++
35 Deon
 
24.12.12
16:32
(32) хочу такую
36 rs_trade
 
24.12.12
16:34
Не совсем понял, а зачем эти подсказки с кнопочкой мыши?
37 orefkov
 
24.12.12
16:35
(32)
Поковыряю, может что и выйдет...
Можно попробовать в каждой строке невидимых брейкпоинтов повставлять и тестировать выражение (ну типа условный точка останова в каждой строке). Не знаю только, как со скоростью будет.
Или попробую поискать, как замер в профилировщике делается, и туда подцепиться. Тогда надо будет указать, что отслеживать, и запустить замер производительности.
38 orefkov
 
24.12.12
16:36
(36)
Это программа, которой я видео с экрана пишу, показывает, какие кнопки нажимались.
39 NikNik001
 
24.12.12
16:39
Чем бы дитя не тешелось - лишь бы денег не просило...
40 Deon
 
24.12.12
16:40
(39) Прошло то время, когда "денег не просило..."
41 toypaul
 
гуру
24.12.12
16:49
(38) так это шутка была :)
42 orefkov
 
24.12.12
16:51
(32)
Слушай, а это ведь тоже идея!
Правда надо будет вспомогательную ВК писать для Предприятия.
Она там вычислит адрес переменной, и туда воткнет хардварный бряк.
(33)
В 1С С++ не нужен.
Хотя, есть у меня и на этот счет задумка - сделать транслятор 1С -> С++
Пишешь код на 1С, а оно тебе потом генерит ВК на С++, делющей то же, что и этот код.
Естественно, как это сейчас модно, работать будет онлайн в облаке, с подпиской за скромную денежку. Ну, мелкие тексты забесплатно конечно.
43 План счетов
 
27.12.12
09:10
(0) как это окно сделать прикрепляемым к правой стороне конфигуратора? как окно снегопата.
44 TormozIT
 
гуру
27.12.12
09:32
Как правильно подключить этот скрипт?
45 IamAlexy
 
27.12.12
09:37
а вот еще вопрос пользуюясь случаем: а снегопат уже умеет подставлять переменные возвращаемые запросом после точки?

ну типа

выборка.  и дальше переменные из запроса..

?
46 План счетов
 
27.12.12
09:42
(44) Положить скрипт в каталог script
и в файле addins.ini прописать
script:scripts\watch_ext.js
47 le_
 
27.12.12
09:45
(42) Генерить ВК - это круто. Пусть они будут Native.
48 _Demos_
 
27.12.12
09:51
(42) думаю после этого тебе фирма "1С" и предъявит...
49 TormozIT
 
гуру
27.12.12
09:52
(44) Так и сделал, но ругается
Файл не обнаружен 'D:\Program Files\1cv82\snegopat\scripts\watch_ext.ssf'
50 План счетов
 
27.12.12
09:55
(49) watch_ext.ssf тоже положи рядом
))
51 TormozIT
 
гуру
27.12.12
09:55
(50) Как должен был понять это и где его взять?
52 План счетов
 
27.12.12
09:57
53 TormozIT
 
гуру
27.12.12
10:04
(52) Т.е. я должен каждый раз весь архив скачивать и в нем искать как то нужные файлы? Нет ли более простого способа? А автообновление из репозитория, оно будет работать после такого добавления?
54 orefkov
 
27.12.12
10:07
(53)
По идее, у тебя уже автообновлением должно было затянуть и скрипт, и форму.
fossil pull
fossil update trunk
делал в папке scripts?
55 TormozIT
 
гуру
27.12.12
10:15
(54) Я каждый раз запускаю get_latest.cmd (дата изменения 16.08.2011), но он не добавил этот скрипт, как впрочем и другие. Он у меня обновляет только существующие.

После неудобного update trunk добавилась куча скриптов. Почему же get_latest.cmd не делает этого?
56 TormozIT
 
гуру
27.12.12
10:19
(55) + теперь при старте появляется куча ошибок MERGE CONFLICT. Видимо придется удалять весь каталог scripts.
57 TormozIT
 
гуру
27.12.12
10:22
(56) Сделал это и перезалил его get_latest.cmd. Теперь вроде нет ошибок и есть все добавленные скрипты.
58 orefkov
 
27.12.12
11:40
(55)
Потому что у тебя старый get_latest.cmd, в котором сделано просто
fossil update
вместо
fossil update trunk

Руками поправь в файле (в двух местах) - и все заработает как надо.
59 TormozIT
 
гуру
27.12.12
11:47
(58) Теперь ясно, откуда все грабли.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.