|
v7: вылет из 1С | ☑ | ||
---|---|---|---|---|
0
nbv8608
28.04.15
✎
09:21
|
Здравствуйте! В общем непонятное мне поведение 1С. Есть процедура(пр() весь код ниже) в модуле формы, назначена клавиша. Все нормально работает, но через n-ое количество нажатий подвисает и закрывается платформа. Или несколько раз отрабатывает строка "ОткрытьФормуМодально("Обработка.РедакторПростойСерии",Конт);" после чего также весело закрывается. Когда в отладчике отслеживаешь так нехорошо не делает, все гуд. В файл построчно записывал что выполняется, совсем смешно. Когда начинается глюк вызывается строка "ОткрытьФормуМодально("Обработка.РедакторПростойСерии",Конт);" После выполняется процедура заново раз 20-30 потом проходит до конца процедуры(совсем до конца) и переходит на строку "Если (Готовность=Перечисление.ПризнПрих.ЦеныГотовы) ИЛИ (Готовность=Перечисление.ПризнПрих.АвтоПротек) Тогда " после на "ОткрытьФормуМодально(Обработка.НоваяПростаяСерия,Конт);" и машет ручкой(закрывается). В формах вызываемых обработок при открытии ничего нет. Понять не могу почему вообще почему он начинает процедуру заново лопатить0_О(((((((((
Процедура пр() Если (Оплачена=1) ИЛИ (Готовность=Перечисление.ПризнПрих.АвтоПротек) Тогда Если (НулевыеЦены()<>0) И (ПустоеЗначение(Серия)=0) Тогда Если Вопрос("Серия уже новая! Все таки вставить другую новую серию?",4)=7 Тогда Возврат; КонецЕсли; КонецЕсли; Конт=ВозвратКонтекста(Контекст); Если (Готовность=Перечисление.ПризнПрих.ЦеныГотовы) ИЛИ (Готовность=Перечисление.ПризнПрих.АвтоПротек) Тогда Если ПустоеЗначение(Серия)=1 Тогда //Если Вопрос("Серия в документе не выбрана!!! Ввести НОВУЮ серию?","Да+Нет")="Нет" Тогда // Возврат; //КонецЕсли; ОткрытьФормуМодально("Обработка.НоваяПростаяСерия",Конт); Иначе ОткрытьФормуМодально("Обработка.РедакторПростойСерии",Конт); КонецЕсли; Иначе ОткрытьФормуМодально("Обработка.НоваяПростаяСерия",Конт); КонецЕсли; Если ПустоеЗначение(Конт)=1 Тогда Возврат; Иначе УстановитьАтрибут("Серия",ПолучитьПустоеЗначение("Справочник.Серии")); УстановитьАтрибут("Серия",Конт); Если Лев(СокрЛП(Пользователь.Код),4)<>"Прих" Тогда Если (глПользователь.ПраваСотрудника.Ценообразование2014=1) И (Серия.КодНадбавки=0) Тогда УстановитьЦеныИСуммыВДок2014(Контекст,0,0); Иначе УстанЦеныПрих(Контекст); КонецЕсли; КонецЕсли; КонецЕсли; Иначе Предупреждение("Накладная не оплачена!", 3); КонецЕсли; КонецПРоцедуры |
|||
1
nbv8608
28.04.15
✎
09:23
|
Еще более непонятно как он из конца процедуры вдруг лезет сразу в середину(
|
|||
2
фобка
28.04.15
✎
09:46
|
Там наверное оповещение стоит в открытой форме
|
|||
3
ЧеловекДуши
28.04.15
✎
09:46
|
Скорей всего писатель, сего гуано кода налипил вызов сей процедуры не только по нажатию клавиши, а и при обновлении формы.
|
|||
4
ЧеловекДуши
28.04.15
✎
09:48
|
Так же, т.к. это 1С 7.7 то код возможно внешний и выполнен он через ТурбоМД. Или еще как :)
В общем анализируй Глобальный модуль на наличие использование сторонних ВК. И огласи нам ,каков этот список :) |
|||
5
фобка
28.04.15
✎
09:49
|
А, семерка.. Тогда (3)
|
|||
6
фобка
28.04.15
✎
09:51
|
Либо ты отладчиком вызываешь процедуру которая дергает пр()
|
|||
7
nbv8608
28.04.15
✎
10:03
|
Всем спасибо. Навели на мысль тут http://www.sql.ru/forum/702644/1s-7-7-otkrytformu. была использована ПриНажатииКнопкиКлавиатуры(_Контекст, Код, Альт, Шифт, Контрол,ФСО) (formex). сделал стандартными средствами, все встало на свои места.
|
|||
8
NikVars
28.04.15
✎
10:05
|
(0) Не совсем понятно использование Конт, и Контекст. В одном случае гоняешь Конт, в другом Контекст.
|
|||
9
nbv8608
29.04.15
✎
05:28
|
(8) Самому непонятно, работает и ладно)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |