|
Есть ли альтернативный отладчик для 1С 7? | ☑ | ||
---|---|---|---|---|
0
globalasax
24.04.09
✎
11:41
|
Отладчиком 1С 7 можно пугать маленьких детей! Если среду разработки значительно улучшил OpenConf, то может есть и альтернативный отладчик? Никто с таковым не сталкивался?
|
|||
1
ДенисЧ
24.04.09
✎
11:41
|
Есть. Называется head.sys
|
|||
2
povar
24.04.09
✎
11:43
|
(0) что тебя не устраивает ?
|
|||
3
Deon
24.04.09
✎
11:46
|
(0) А чего тебе в нём не хватает?
|
|||
4
globalasax
24.04.09
✎
11:52
|
(2)
1) посмотреть содержимое ТЗ, массива и т.д. 2) просмотр строки ограничен,т.е. целиком текст запроса или др. длинной строкине посмотреть 3) нет команды "Остановить" и "останавливать по ошибке" |
|||
5
globalasax
24.04.09
✎
11:53
|
4) необходимо перезапускать при изменении кода (или заново открывать обработку)
|
|||
6
povar
24.04.09
✎
11:53
|
(4) все есть
|
|||
7
Deon
24.04.09
✎
11:57
|
(4) 1) ТЗ.ВыбртьСтроку() юзай
остальное не знаю |
|||
8
Попытка1С
24.04.09
✎
12:01
|
(6) ну содержимое массива или СЗ, разве посмотреть можно?
|
|||
9
ДенисЧ
24.04.09
✎
12:01
|
сз.ВыбратьЗначение(,)
|
|||
10
Deon
24.04.09
✎
12:02
|
А теперь про массив :)
|
|||
11
Попытка1С
24.04.09
✎
12:02
|
(9) а массив?
|
|||
12
Ёпрст
24.04.09
✎
12:02
|
(4) точка останова есть с условием, мало ?
|
|||
13
Ёпрст
24.04.09
✎
12:03
|
(11)
m[1] m[2] ... m[n] или глПросмотрМассива(m[]) |
|||
14
Попытка1С
24.04.09
✎
12:03
|
(4) "2) просмотр строки ограничен,т.е. целиком текст запроса или др. длинной строкине посмотреть"
когда кидаешь в табло вся строка отображается. вроде |
|||
15
globalasax
24.04.09
✎
12:04
|
(7) Вы что издеваетесь??? ТЗ.ВыбратьСтрокуПоНомеру() - и так я до 2-ого пришествия буду ТЗ просматривать!!!
|
|||
16
Попытка1С
24.04.09
✎
12:04
|
(13) хм, пошел пробовать
|
|||
17
andrewalexk
24.04.09
✎
12:04
|
(15)
:)) уууу |
|||
18
Попытка1С
24.04.09
✎
12:05
|
(15) ээээээ, причем тут номер?
просто ТЗ.ВыбратьСтроку() |
|||
19
povar
24.04.09
✎
12:05
|
(15) писец
|
|||
20
povar
24.04.09
✎
12:05
|
какой ПОНомерУ ? читать разучились ?
|
|||
21
Попытка1С
24.04.09
✎
12:06
|
(0) а вообще плохому балеруну яйца мешают...
|
|||
22
Mikeware
24.04.09
✎
12:06
|
Такая ДНК неизлечима
|
|||
23
globalasax
24.04.09
✎
12:08
|
(20) сорри
|
|||
24
Deon
24.04.09
✎
12:08
|
(15) Да ты хоть попробуй
|
|||
25
globalasax
24.04.09
✎
12:09
|
(24) попробовал - понравилось :)
|
|||
26
Ёпрст
24.04.09
✎
12:09
|
Еще открою тайну...
ТЗ.ВидимостьКолонки("НомерСтроки",1); ТЗ.ВыбратьСтроку(); это для удобства просмотра.. |
|||
27
Попытка1С
24.04.09
✎
12:10
|
(13) дык это.... =)
функцию писать надо, а штатно? |
|||
28
Ochkarito
24.04.09
✎
12:13
|
to ДенисЧ, Ёпрст3
Век живи, век учись. Спасибо) |
|||
29
globalasax
24.04.09
✎
12:14
|
Пункт 1 снимается
А как с остальным? Неужели всех устраивает такой отладчик? |
|||
30
Deon
24.04.09
✎
12:15
|
(29) Надо сразу писать без ошибок ;) И отладчик не понадобится
|
|||
31
Ёпрст
24.04.09
✎
12:17
|
(27) у тя дохрена много места в коде, где массив используется ?
|
|||
32
globalasax
24.04.09
✎
12:17
|
(30) что-то не получается без ошибок :)
Спасибо to ДенисЧ. |
|||
33
Скользящий
24.04.09
✎
12:18
|
ГлПросмотрТСЗ.ert хорош для просмотра содержимого ТЗ и СЗ. Очень рекомендую.
|
|||
34
Попытка1С
24.04.09
✎
12:20
|
(31) вообще нет =)
но мы же говорим о возможностях отладчика, а не программиста. |
|||
35
ado
24.04.09
✎
12:22
|
(29) >3) нет команды "Остановить" и "останавливать по ошибке"
Чем не устраивают точки останова и точки останова с условием? |
|||
36
Ёпрст
24.04.09
✎
12:22
|
(34) ну ё...
в табло вызов внешней функции и смотри, чего хочешь.. А про длиные строки - Предупреждение(ТекстЗапроса); Возврат; в сам модуль :) и гляди, сколько влезет.. или опять же, через вызов функции.. |
|||
37
Ёпрст
24.04.09
✎
12:23
|
(35) я ужо поинтересовался :)
а вообще, F8 и привет, и бегай до ошибки :) |
|||
38
Попытка1С
24.04.09
✎
12:23
|
(36) ясно, прикольно
|
|||
39
Mikeware
24.04.09
✎
12:26
|
"Альтернативный отладчик" требуется только "альтернативно одаренным". имхо
|
|||
40
globalasax
24.04.09
✎
12:27
|
(39) Хорош прикалываться.
|
|||
41
Mikeware
24.04.09
✎
12:28
|
(40) Ну какая тема, такие и ответы.
Если не владеешь инструментом - это вовсе не означает, что он плох... |
|||
42
GrayT
24.04.09
✎
12:29
|
Нет кнопки "Исправить все ошибки"
|
|||
43
Ёпрст
24.04.09
✎
12:29
|
(42) а ты откуда нарисовался ?
Чегой-то сто лет небыло видно... |
|||
44
OFF
24.04.09
✎
12:30
|
а текст запроса, например, вот так хорошо смотреть:
ввестиСтроку(текстЗапроса,,,1) avb / 17.09.03 / Форум на Кубани А лучше вот так Предупреждение(ТекстЗапроса) Такие дела / 17.09.03 / Форум на Кубани Просмотр списка значений из отладчика нужно писать в табло ВыбратьЗначение(<Номер нужного значения>) nnnnn / 15.10.03 / Форум на Кубани а можно еще так: МойСписок.ВыбратьЗначение("") |
|||
45
globalasax
24.04.09
✎
12:34
|
(41) Согласен. Поэтому и задал тему.
|
|||
46
globalasax
24.04.09
✎
12:35
|
(42) да!!!
|
|||
47
GrayT
24.04.09
✎
12:38
|
(43) Случайно забежал - не работается чего то :(
|
|||
48
Смотрящий от 1С
24.04.09
✎
12:44
|
http://faq1c.gorbunov.ru/algo/valtab.htm
чудная вещь для отладки ТЗ |
|||
49
Ёпрст
24.04.09
✎
12:46
|
(47) ну, забегай еще :)
|
|||
50
GrayT
24.04.09
✎
12:46
|
(49) Ок :)
|
|||
51
GrayT
24.04.09
✎
12:50
|
(48)Круть....
А чем не у страивает просто форма с ТЗ на форме? Для отладки к тому же удобно для числовых колонок считать итог, опять же можно и редактирование замутить можно, а по клику открывать следующий объект... особливо хорошо когда в ТЗ в себе другие ТЗ содержит. |
|||
52
Скользящий
24.04.09
✎
12:52
|
(48) Эта намного лучше. http://softsearch.ru/programs/110-291-prosmotr-tz-i-sz-download.shtml
|
|||
53
trdm
24.04.09
✎
12:53
|
//******************************************************************************
// глПросмотрОбъекта(Объект) <<© ТрДм 2005>> [email protected] // Отладочная функция, которая обеспечивает просмотр объекта. // Смысл: просмотр в отладчике любых объектов с нафигацией по ним. Функция глПросмотрОбъекта(Объект, Знач нУровеньПросмотра = 0) Экспорт ЗначВозврата = 0; нУровеньПросмотра = нУровеньПросмотра + 1; стрУП = " (Уровень пр. = " + нУровеньПросмотра+")"; ТипЗначенияСтрОбъекта = ТипЗначенияСтр(Объект); Если Найти(Врег("Справочник, Документ"), Врег(ТипЗначенияСтрОбъекта) )>0 Тогда Если ПустоеЗначение(Объект) = 1 Тогда Возврат ЗначВозврата; КонецЕсли; ОткрытьФормуМодально(Объект); Возврат ЗначВозврата; ИначеЕсли НЕ ((ТипЗначенияСтрОбъекта = "СписокЗначений") ИЛИ (ТипЗначенияСтрОбъекта = "ТаблицаЗначений") ИЛИ (ТипЗначенияСтрОбъекта = "Запрос") ИЛИ (ТипЗначенияСтрОбъекта = "ИндексированнаяТаблица")) Тогда Если ТипЗначенияСтрОбъекта = "Строка" Тогда вОбъект = Объект; ВвестиСтроку(вОбъект,"--",СтрДлина(вОбъект)+20,?( Найти(вОбъект,РазделительСтрок)>0 ,1,0)); Иначе Предупреждение(глВСтроку(Объект) + " Тип: " + глТипИВидЗначения(Объект) + стрУП); КонецЕсли; Возврат ЗначВозврата; КонецЕсли; ПромЗначение = ""; Если ТипЗначенияСтрОбъекта = "СписокЗначений" Тогда Если Объект.РазмерСписка() = 0 Тогда Сообщить("Просматривается пустой список!","!"); Возврат ЗначВозврата; КонецЕсли; Объект2 = СоздатьОбъект("ТаблицаЗначений"); Объект2.НоваяКолонка("Пом"); Объект2.НоваяКолонка("Знач"); Объект2.НоваяКолонка("Предст"); СЦ = 0; Для СЦ = 1 По Объект.РазмерСписка() Цикл Объект2.НоваяСтрока(); Объект2.Пом = Объект.Пометка(СЦ); _Пр = ""; _Зн = Объект.ПолучитьЗначение(СЦ,_Пр); Объект2.Предст = _Пр; Объект2.Знач = _Зн; КонецЦикла; ПромСтрока = ""; Пока глВыбратьИзТаблицыЗначений(Объект2,ПромСтрока,стрУП)<>0 Цикл //Пока Объект2.ВыбратьСтроку(ПромСтрока,стрУП)<>0 Цикл Объект2.ПолучитьСтрокуПоНомеру(ПромСтрока); глПросмотрОбъекта(Объект2.Знач,нУровеньПросмотра); КонецЦикла; Возврат ЗначВозврата; КонецЕсли; Если ТипЗначенияСтрОбъекта = "Запрос" Тогда Объект2 = СоздатьОбъект("ТаблицаЗначений"); Объект.Выгрузить(Объект2,1,1); ТипЗначенияСтрОбъекта = "ТаблицаЗначений" ИначеЕсли (ТипЗначенияСтрОбъекта = "ТаблицаЗначений") ИЛИ (ТипЗначенияСтрОбъекта = "ИндексированнаяТаблица") Тогда Объект2 = Объект; КонецЕсли; Если (ТипЗначенияСтрОбъекта = "ТаблицаЗначений") ИЛИ (ТипЗначенияСтрОбъекта = "ИндексированнаяТаблица") ИЛИ (ТипЗначенияСтрОбъекта = "СписокЗначений") Тогда ПромСтрока = ""; Пока глВыбратьИзТаблицыЗначений(Объект2,ПромСтрока)<>0 Цикл //Пока Объект2.ВыбратьСтроку(ПромСтрока,стрУП)<>0 Цикл Если ТипЗначенияСтрОбъекта <> "ИндексированнаяТаблица" Тогда Объект2.ПолучитьСтрокуПоНомеру(ПромСтрока); КонецЕсли; СписОбъектовИзКолонок = СоздатьОбъект("СписокЗначений"); СЦ = 0; Для СЦ = 1 По Объект2.КоличествоКолонок() Цикл ЗначениеДобавления = Объект2.получитьЗначение(ПромСтрока,СЦ); Если ТипЗначенияСтрОбъекта = "ИндексированнаяТаблица" Тогда ПредставлениеДобавления = Объект2.ИмяКолонки(СЦ) + ": " + ЗначениеДобавления; Иначе ПредставлениеДобавления = Объект2.получитьПараметрыКолонки (СЦ) + ": " + ЗначениеДобавления; КонецЕсли; СписОбъектовИзКолонок.ДобавитьЗначение(ЗначениеДобавления, ПредставлениеДобавления); КонецЦикла; глПросмотрОбъекта(СписОбъектовИзКолонок,нУровеньПросмотра); КонецЦикла; КонецЕсли; Возврат ЗначВозврата; КонецФункции // глПросмотрОбъекта() |
|||
54
trdm
24.04.09
✎
12:56
|
В отладчике для: "строки", "запроса", "таблицыЗначений","СпискаЗначений"
набираете в табло: глПросмотрОбъекта(<переменная>); И смотрите себе значения какие хотите... |
|||
55
trdm
24.04.09
✎
12:56
|
+ как всегда первый ответ правильный, остальные - флуд :)
|
|||
56
yam
24.04.09
✎
13:00
|
Че вы все на автора наехали, скажите еще что вы в восьмерке этим не пользовались, одаренные вы наши)
|
|||
57
trdm
24.04.09
✎
13:03
|
(56) потому что автор явно безрукий.
|
|||
58
kiruha
24.04.09
✎
13:15
|
(53)
Предупреждение(глВСтроку<<?>>(Объект) + " Тип: " + глТипИВидЗначения(Объект) + стрУП); {Глобальный модуль(9848)}: Функция не обнаружена (глВСтроку) Пока глВыбратьИзТаблицыЗначений<<?>>(Объект2,ПромСтрока,стрУП)<>0 Цикл {Глобальный модуль(9872)}: Функция не обнаружена (глВыбратьИзТаблицыЗначений) Пока глВыбратьИзТаблицыЗначений<<?>>(Объект2,ПромСтрока)<>0 Цикл {Глобальный модуль(9889)}: Функция не обнаружена (глВыбратьИзТаблицыЗначений) глТипИВидЗначения |
|||
59
GrayT
24.04.09
✎
13:20
|
(58)Ща тебе весь глобальник запостят! :)
|
|||
60
Вадимыч
24.04.09
✎
13:22
|
(53) глВыбратьИзТаблицыЗначений() ?
|
|||
61
trdm
24.04.09
✎
13:25
|
//******************************************************************************
// глВСтроку(ПромЗначение) Функция глВСтроку(ПромЗначение) Экспорт Возврат СокрЛП(""+ПромЗначение); КонецФункции // глВСтроку() //****************************************************************************** // глТипИВидЗначения(Значение) Функция глТипИВидЗначения(Значение) Экспорт ЗначВозврата = ТипЗначенияСтр(Значение); Если ПустоеЗначение(Значение) = 0 Тогда ЗначВозврата = ТипЗначенияСтр(Значение); Если (ЗначВозврата = "Справочник") ИЛИ (ЗначВозврата = "Документ") ИЛИ (ЗначВозврата = "Регистр") ИЛИ (ЗначВозврата = "Перечисление") Тогда ЗначВозврата = ЗначВозврата + "." + Значение.вид(); ИначеЕсли ЗначВозврата = "ГрупповойКонтекст" Тогда Попытка Если Метаданные.Документ(Значение.Вид()).Выбран() = 1 Тогда ЗначВозврата = "Документ." + Значение.вид(); КонецЕсли; Исключение КонецПопытки; КонецЕсли; Иначе ЗначВозврата = ТипЗначенияСтр(Значение); Попытка Если (ЗначВозврата = "Справочник") ИЛИ (ЗначВозврата = "Документ") ИЛИ (ЗначВозврата = "Регистр") ИЛИ (ЗначВозврата = "Перечисление") Тогда ЗначВозврата = ЗначВозврата + "." + Значение.вид(); КонецЕсли; Исключение КонецПопытки; КонецЕсли; Возврат ЗначВозврата; КонецФункции // глТипИВидЗначения() |
|||
62
trdm
24.04.09
✎
13:26
|
глВыбратьИзТаблицыЗначений - просто обертка, заменяющая
таблицаЗначений.ВыбратьСтроку() на диалог выбора с сервисными функциями: печать ТЗ, свертка, поиск и т.п. самим писать влом? |
|||
63
kiruha
24.04.09
✎
13:39
|
(62) Да, спасибо - с заменой
Пока глВыбратьИзТаблицыЗначений(Объект2,ПромСтрока)<>0 Цикл //Пока Объект2.ВыбратьСтроку(ПромСтрока,стрУП)<>0 Цикл на //Пока глВыбратьИзТаблицыЗначений(Объект2,ПромСтрока)<>0 Цикл Пока Объект2.ВыбратьСтроку(ПромСтрока,стрУП)<>0 Цикл все работает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |