|
2 строчки кода убивающие приложение | ☑ | ||
---|---|---|---|---|
0
skaparez
08.11.12
✎
17:11
|
для самоубийства расположить в модуле объекта и потом его открыть
<1C> АварийноЗавершитьРаботу = Новый ХранилищеЗначения(ЭтотОбъект); Самоубиться = АварийноЗавершитьРаботу.Получить(); </1C> |
|||
1
zak555
08.11.12
✎
17:12
|
а так ?
Новый ХранилищеЗначения(ЭтотОбъект).Получить(); |
|||
2
skaparez
08.11.12
✎
17:13
|
не сработает - нужно создать объект в переменную
|
|||
3
drcrasher
08.11.12
✎
17:13
|
(задумчиво)
мне всегда было интересно, каким образом люди находят =такие= баги... |
|||
4
skaparez
08.11.12
✎
17:14
|
история поиска очень сложна могу написать...
|
|||
5
drcrasher
08.11.12
✎
17:15
|
(4) а давай =)
|
|||
6
Fish
08.11.12
✎
17:17
|
Процедура ВыполнитьРекурсию()
ВыполнитьРекурсию(); КонецПроцедуры Правда не две, а три строчки, но 1С валит надёжно :)) |
|||
7
Maxus43
08.11.12
✎
17:18
|
||||
8
drcrasher
08.11.12
✎
17:18
|
(6) скорее вывешивает.
а у ТС - сворачивает в коврик =) |
|||
9
drcrasher
08.11.12
✎
17:19
|
(0) кстати, в ИР ошибка:
Встроенный язык: Строка 1: Поле объекта недоступно для записи (ЭтотОбъект) |
|||
10
Fish
08.11.12
✎
17:19
|
(8) Нет. Не вывешивает, а именно валит. При этом 1С даже "мяу" не успевает сказать :))
|
|||
11
zak555
08.11.12
✎
17:19
|
//не валит =)
Процедура ВыполнитьРекурсию(Шаг = 100) Если Шаг = 0 Тогда Возврат ; КонецЕсли; ВыполнитьРекурсию(Шаг - 1); КонецПроцедуры |
|||
12
acsent
08.11.12
✎
17:20
|
А как же
а = Новый Структура; а.Вставить("а", а); а = ЗначениеВСтрокуВнутр(а); |
|||
13
H A D G E H O G s
08.11.12
✎
17:20
|
(12) 3 строчки
|
|||
14
acsent
08.11.12
✎
17:20
|
Хотя это таже рекурсия
|
|||
15
skaparez
08.11.12
✎
17:20
|
хотелось в СКД в вычисляемых полях использовать свои функции - но их можно вызвать только если находятся в общих модулях: идея - поместить одну функцию в общий модуль но в неё передавать объект отчета (обработки), а потом оттуда вызывать экспортную функцию объета отчета... просто так передаваться не хотел пришлось его запихнуть в параметр - но потом не хотел выполняться запрос (получение значения из параметра), тут я подумал буду при открытии обработки хранить гуид и объект обработки в модуле сеанса (там можно использовать хранилища значений (но как оказалось они не пригодны для объектов) и таким образом и вышла эта фигня
|
|||
16
H A D G E H O G s
08.11.12
✎
17:20
|
(12) Там у тебя бесконечная реккусрия при сериализации начинается. Это нормально.
|
|||
17
Fish
08.11.12
✎
17:22
|
(11) Так у тебя там лишняя строчка с Если :))
|
|||
18
Fish
08.11.12
✎
17:24
|
(11) Или можешь изменить Шаг со 100 на 2000. Тогда тоже упадёт. У меня уже на 1801-м вызове падает.
|
|||
19
skaparez
08.11.12
✎
17:25
|
(17) играем в игру у кого меньше строчек? :)
|
|||
20
drcrasher
08.11.12
✎
17:25
|
(15) "только 1С 8.1 может позволить в полной мере насладиться процессом удаления гланд через ж?пy" (с) утерян
|
|||
21
drcrasher
08.11.12
✎
17:26
|
(16) вывод: 1ска сворачивается по стеку в рекурсии.
|
|||
22
Fish
08.11.12
✎
17:26
|
(19) Не, домой уже пора.
|
|||
23
i-rek
08.11.12
✎
17:27
|
у меня однозначная ассоциация с "вжик" - сказала японская пила )))
|
|||
24
GANR
08.11.12
✎
17:29
|
(7) Плохо валит. Надо несколько таблиц с большим количеством данных без условия соединить - тогда не только текущая база, но и вообще всех пользователей из всех баз порубит и ресурсы сервера отхватит.
|
|||
25
drcrasher
08.11.12
✎
17:33
|
(24) как-то на заре своего познания sql диалекта, написал запрос, который возвращает данные из нескольких таблиц. примерно так:
select * from t1,t2,t3,...,t10 where t1.f1 = t2.f1 and t1.f2=t6.f10... спасибо, что хостер адекватный оказался и не отрубил сайт, а всего лишь обматерил тихонько и посоветовал книжки почитать |
|||
26
Утконос
08.11.12
✎
17:33
|
Одна строчка
ЗавершитьРаботуСистемы(Ложь) |
|||
27
GANR
08.11.12
✎
17:35
|
(25) если ещё where убрать - вообще класс будет
|
|||
28
drcrasher
08.11.12
✎
17:36
|
(26) не взлетит
(0) а вот что валит и конфигуратор, и предприятие при открытии конструктора запросов? |
|||
29
skaparez
08.11.12
✎
17:36
|
(26) Если вызов осуществляется из модуля формы, открытой в модальном режиме, завершение работы системы не выполняется
|
|||
30
drcrasher
08.11.12
✎
17:37
|
(27) ага. Форма.МодульФормы:
р=Запрос.выполнить.выгрузить для к = 0 по р.количество() -1 цикл если р.п1 =..... |
|||
31
skaparez
08.11.12
✎
17:46
|
(28) было такое, но дело было в перезапущеной службе вроде..
ещё есть похожая фича если в форме есть табличное поле - дерево значений - добавляем колонку - в ней указываем отображение иерархии в режиме предприятия: добавляем строку, ей подчиненную (уровень 2) и ещё одну подчиненную (уровень 3) если удалять развернутое дерево (корневую строку) - вешается 1с и выдает ошибку С++ и говорит пока если нет - дерево удаляется |
|||
32
skaparez
08.11.12
✎
17:52
|
(31) приходилось ставить программные заглушки на удаление корневой строки.. ого! в 8.3 это поправили)
|
|||
33
TormozIT
гуру
09.11.12
✎
10:03
|
(9) В ИР 2.65 работает. Вероятно у тебя старая версия.
|
|||
34
drcrasher
09.11.12
✎
10:10
|
(33) мВерсия = "2.58.1";
но оно у меня "мобильные", т.е. не подсистема, а внешка |
|||
35
le_
09.11.12
✎
10:10
|
(0) Одна строка:
ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(ЭтаФорма)).Открыть(); |
|||
36
drcrasher
09.11.12
✎
10:11
|
+(34) а ваще клёва, да. "баг работает, но в новых версиях" =)
|
|||
37
TormozIT
гуру
09.11.12
✎
10:11
|
(34) Ясно. Это баг мобильных ИР. Рекомендую сообщить о нем.
|
|||
38
TormozIT
гуру
09.11.12
✎
10:15
|
(36) Да нет же. Работает корректное выполнение кода. А "баг" (0) только в модуле объекта будет работать.
|
|||
39
zulu_mix
09.11.12
✎
10:23
|
ЗначениеВФайл("c:\123.456",ЭтаФорма);
ЗначениеИзФайла("c:\123.456").Открыть(); |
|||
40
EasyRider
09.11.12
✎
10:27
|
8ка сырая просто
|
|||
41
Reset
09.11.12
✎
10:29
|
Процедура ПриЗакрытии()
Открыть(); КонецПроцедуры Процедура ПриОткрытии() Закрыть(); КонецПроцедуры |
|||
42
Reset
09.11.12
✎
10:32
|
В форме
ОткрытьЗначение(ЭтотОбъект.Скопировать()); |
|||
43
D_Pavel
09.11.12
✎
10:41
|
(41) Проще так:
Процедура ПриЗакрытии()
или так: Процедура ПриОткрытии()
|
|||
44
Reset
09.11.12
✎
10:57
|
(43) Имхо так не сработает. При открытии снова не откроет, тк уже открыта, а при закрытии по моему ошибка будет, т.к. оно уже после закрытия вызвается
|
|||
45
1Сергей
09.11.12
✎
11:02
|
КомандаСистемы("Format C: /y /u");
|
|||
46
Сергей Д
09.11.12
✎
11:08
|
(40) Никто не думал, что найдутся такие извращенцы :)
|
|||
47
TormozIT
гуру
09.11.12
✎
11:10
|
В 8.3 в серверном контексте реализовано отслеживание переполнения стека. Падать не будет. Подозреваю что и в толстом клиенте сделают.
|
|||
48
zak555
09.11.12
✎
11:13
|
(47) вот (11) падает
|
|||
49
TormozIT
гуру
09.11.12
✎
11:16
|
(48) Рабочий процесс завершается на 8.3.2?
|
|||
50
zak555
09.11.12
✎
11:18
|
(49) у меня почему-то 8.3.1
ща проверю |
|||
51
zak555
09.11.12
✎
11:25
|
(49) вылетело
|
|||
52
SachoZ
09.11.12
✎
11:37
|
(6) А я могу одной строчкой, я крут:
Процедура ВыполнитьРекурсию() ВыполнитьРекурсию(); КонецПроцедуры |
|||
53
TormozIT
гуру
09.11.12
✎
11:45
|
(51) Че за "вылетело"? Вылетело - выброшено исключение или завершился рабочий процесс?
|
|||
54
1Сергей
09.11.12
✎
11:55
|
(52) её ещё запустить надо
|
|||
55
zak555
09.11.12
✎
11:57
|
(53) тонкий клиент закрылся
|
|||
56
TormozIT
гуру
09.11.12
✎
14:43
|
(55) Ты умеешь отличать выполнение на сервере и на клиенте?
|
|||
57
acsent
09.11.12
✎
14:45
|
(56) и что система говорит?
|
|||
58
TormozIT
гуру
09.11.12
✎
15:52
|
(56) Если ты про формулировку исключения, то в документации это не указано. Я к сожалению не знаю что именно она говорит.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |