|   |   | 
| 
 | v7: Вылет 1с при нажатии Enter в печатной форме | ☑ | ||
|---|---|---|---|---|
| 0
    
        AL CAPONE 01.08.16✎ 16:44 | 
        1с - 7.7 для SQL 7.70.027.
 Windows 2008 Server R2 Standart. Подключение к 1с через терминальный сеанс по локальной сети. Имеем сформированную по документу печатную форму. Пользователь заходит в одну из ячеек и через строку ввода над таблицей редактирует многострочный текст под себя. По нажатии Enter в этой строке 1с с вероятностью 80% захлопывается с ошибкой "Прекращена работа программы 1с. Возникшая проблема привела к прекращению программы. Закройте эту программу." с единственной кнопкой "Закрыть программу". При редактировании ячейки по кнопке "Свойства" 1с не вылетает, но пользователю это крайне неудобно из-за большого количества текста. Если не пользоваться Enter-ом, а просто кликать в соседнюю ячейку, то отредактированный текст вовсе не меняется в половине случаев и приходится всё делать заново. В просмотре событий имеем: Имя сбойного приложения: 1cv7s.exe, версия: 7.70.0.27, отметка времени: 0x4573fcd8 Имя сбойного модуля: Moxel.dll, версия: 7.70.0.27, отметка времени 0x4573f908 Код исключения: 0xc0000005 Смещение ошибки: 0x00051171 Идентификатор сбойного процесса: 0x697f4 Время запуска сбойного приложения: 0x01d1ebf8e2a0d57a Путь сбойного приложения: C:\Program Files (x86)\1Cv77\BIN\1cv7s.exe Путь сбойного модуля: C:\Program Files (x86)\1Cv77\BIN\Moxel.dll Код отчета: fca357d5-57ec-11e6-ad96-001e672f187c Кто-то сталкивался с подобным ? | |||
| 1
    
        Это_mike 01.08.16✎ 16:46 | 
        как дружили с 2008-м?     | |||
| 2
    
        AL CAPONE 01.08.16✎ 16:48 | 
        (1)
 дружили много лет назад, уже не вспомню к сожалению | |||
| 3
    
        Это_mike 01.08.16✎ 16:48 | 
        если секрелиз поставить?     | |||
| 4
    
        Это_mike 01.08.16✎ 16:49 | 
        +(3) в смысле,заново поставить, на одной локальной машине? и смоделировать?     | |||
| 5
    
        lubitelxml 01.08.16✎ 16:50 | 
        Как вариант, если (3) не поможет - попробовать йоксель (или как его там) прикрутить..     | |||
| 6
    
        Это_mike 01.08.16✎ 16:51 | 
        кстати, это на любой машине, или на какой-то конкретной?     | |||
| 7
    
        AL CAPONE 01.08.16✎ 16:55 | 
        (3)
 рискованно трогать то, что уже много лет работало без глюков ради такой проблемы (4) на локальной не попробую, т.к. базы крутятся в терминале только (5) SpreadSheet.dll есть в базе, но печатная форма этого конкретного дока выводится без его использования (6) попробовал с другого компа - похоже та же проблема. Как только текста побольше - вылетает. Текста поменьше - правит без проблем. | |||
| 8
    
        lubitelxml 01.08.16✎ 16:56 | 
        (7) ну тогда попробуй переделать форму     | |||
| 9
    
        lubitelxml 01.08.16✎ 16:56 | 
        хотя бы одно поле попробуй сделать и проверить, будет понятно - есть смысл переделывать или нет.     | |||
| 10
    
        mehfk 01.08.16✎ 17:05 | 
        (0) С++, ассемблер и дизассемблер знаешь?     | |||
| 11
    
        vadim777 01.08.16✎ 17:50 | 
        (0) С какой винды заходите? Не с десятки случаем?     | |||
| 12
    
        Злопчинский 02.08.16✎ 00:03 | 
        если в расшифровках во всем отчете сидит сильно много информации - наступает такой кабздец.     | |||
| 13
    
        Tarlich 02.08.16✎ 00:07 | 
        Попробуй пользователю на время дать права админа , будет ли все ок?     | |||
| 14
    
        AL CAPONE 02.08.16✎ 08:30 | 
        (9)
 сделать с полем что именно ? (10) увы, нет (11) XP (12) расшифровок в данной форме вообще нет, это кадровые приказы, но текст многострочный получается в ячейке (13) нет, т.к. даже под админом вылетает так же | |||
| 15
    
        lubitelxml 02.08.16✎ 08:36 | 
        (14) попробуй Йоксель...     | |||
| 16
    
        Это_mike 02.08.16✎ 09:24 | 
        (7) ты не "трогай", ты поставь "рядом", для эксперимента. или вообще на другой машине, не терминальной. 
 по крайней мере, локализуешь проблему. Хотя в свете (12) - уже сомнительно | |||
| 17
    
        AL CAPONE 02.08.16✎ 12:06 | 
        (15)
 Попробовал,1с вылетать перестала, но пользователя не устроило отсутствие привычного редактора таблиц. В частности непонятно, как можно удалить строки целиком со сдвигом нижних строк вверх, как это делалось при выводе через Moxel ? | |||
| 18
    
        Ёпрст гуру 02.08.16✎ 12:14 | 
        (17) Своё меню по ПКМ и там удаляй/добавляй че хочешь     | |||
| 19
    
        AL CAPONE 02.08.16✎ 12:19 | 
        (18)
 в том то и дело, что по ПКМ ничего не выводится, хотя и прописано Фрейм.ТолькоПросмотр(0) | |||
| 20
    
        Ёпрст гуру 02.08.16✎ 12:22 | ||||
| 21
    
        trad 02.08.16✎ 12:24 | 
        формекс присутствует?     | |||
| 22
    
        Ёпрст гуру 02.08.16✎ 12:25 | 
        (21) вот у тя не любовь то к нему!
 :) | |||
| 23
    
        trad 02.08.16✎ 12:25 | 
        при использовании каких то старых версий формекса, 1с падала при просмотре мокселя непредсказуемо     | |||
| 24
    
        Ёпрст гуру 02.08.16✎ 12:25 | 
        ща посмотрю, я не помню ужо     | |||
| 25
    
        trad 02.08.16✎ 12:26 | 
        (23) + но это не моя практика, просто помню по сообщениям с форума     | |||
| 26
    
        trad 02.08.16✎ 12:26 | 
        (24) вопрос в (21) к (0)     | |||
| 27
    
        Ёпрст гуру 02.08.16✎ 12:29 | 
        (0) Хотя хз, че там у тя падает, попробовал вбить в ячейку побольше текста - всё норм     | |||
| 28
    
        Ёпрст гуру 02.08.16✎ 12:29 | 
        (26) аа.     | |||
| 29
    
        AL CAPONE 02.08.16✎ 12:33 | 
        (21)
 да, есть FormEx.dll 2.0.5.87 | |||
| 30
    
        AL CAPONE 02.08.16✎ 12:34 | 
        (20)
 делаю через Таб.Записать(КаталогПользователя() + "\Выгрузка.mxl"); ТабДок = СоздатьОбъект("ТабличныйДокумент"); ТабДок.Открыть(КаталогПользователя() + "\Выгрузка.mxl"); Фрейм = ТабДок.Показать("Расчёт отпуска"); Фрейм.ТолькоПросмотр(0); по ПКМ тишина ... | |||
| 31
    
        Это_mike 02.08.16✎ 12:34 | 
        (29) обнови на посвежее, например, 2.0.5.108     | |||
| 32
    
        mehfk 02.08.16✎ 12:35 | 
        (31) Не надо обновлять, надо сначала проверить без него.     | |||
| 33
    
        Это_mike 02.08.16✎ 12:36 | 
        (32) ну можно и так. а можно и обновить     | |||
| 34
    
        mehfk 02.08.16✎ 12:36 | 
        (27) Проверить не могу, у автора адреса другие, на CSheetView::IsTextOnBar     | |||
| 35
    
        mehfk 02.08.16✎ 12:37 | 
        (33) После 2.0.5.93 были бажные релизы :)     | |||
| 36
    
        Ёпрст гуру 02.08.16✎ 12:46 | 
        (30) дык описывать надо события мышиные     | |||
| 37
    
        Ёпрст гуру 02.08.16✎ 12:47 | 
        обработчики задал в коде хоть ?     | |||
| 38
    
        Ёпрст гуру 02.08.16✎ 12:48 | 
        + на сколько я помню, во фрейме функционала такого может и не быть вовсе, нужно просто делать контрол на форме     | |||
| 39
    
        AL CAPONE 02.08.16✎ 12:49 | 
        (37)
 а, вы про самописанное меню, не, не пробовал пока | |||
| 40
    
        AL CAPONE 02.08.16✎ 12:50 | 
        (31,35)
 ну и кому верить ? :) | |||
| 41
    
        AL CAPONE 02.08.16✎ 12:50 | 
        (38)
 это каким методом ? | |||
| 42
    
        Ёпрст гуру 02.08.16✎ 12:57 | 
        (41) пример ранее кидал, скачай, посмотри, там есть меню     | |||
| 43
    
        Ёпрст гуру 02.08.16✎ 12:57 | 
        Хотя, проще разоьраться с вылетом, чем переделывать под йоксель     | |||
| 44
    
        Это_mike 02.08.16✎ 12:59 | 
        (35) Были. Но у меня упомянутый, вроде без "спецэффектов"     | |||
| 45
    
        AL CAPONE 02.08.16✎ 14:12 | 
        (44)
 Тогда ещё вопрос: просто заменой файла FormEx.dll всё обойдётся или процедуры и функции будут разными для разных версий компонента ? | |||
| 46
    
        DrZombi гуру 02.08.16✎ 14:27 | 
        (45) обойдется.     | |||
| 47
    
        Tarlich 02.08.16✎ 15:46 | 
        Вопрос : "А зачем ему редактировать"?
 А если требуеться редактировать в начале пусть сохранит в мхл и откроет данный файл , проверь так? | |||
| 48
    
        AL CAPONE 02.08.16✎ 15:48 | 
        (31)
 установил 2.0.5.108 по результату отпишусь | |||
| 49
    
        AL CAPONE 02.08.16✎ 15:49 | 
        (47)
 это усложнит жизнь пользователя, могут быть недовольны, но как вариант в случае безвыходного положения попробую ) | |||
| 50
    
        AL CAPONE 03.08.16✎ 14:26 | 
        (48)
 Прошли сутки, пользователь доволен, вроде как ни одного вылета 1с. (31) Респект за помощь. Не понял только, каким боком FormEx херил Moxel :)) | |||
| 51
    
        AL CAPONE 04.08.16✎ 11:37 | 
        Эх, на вторые сутки проблема всё же вернулась, просто теперь возникает гораздо реже, чем раньше.     | |||
| 52
    
        trad 04.08.16✎ 12:40 | 
        (50) формекс втыкает кучу переходов на себя безусловно, просто фактом своего присутствия в процессе     | |||
| 53
    
        AL CAPONE 26.08.16✎ 15:04 | 
        Через некоторое время проблема вернулась уже на последней версии FormEx, снова откатил FormEx на старую версию, т.к. в новой перестали нормально функционировать всплывающие окна.
 Причём что заметили: проблема с вылетом вылезла на документе, который выводит несколько печатных форм сразу. Т.е. есть одна табличная форма, разбитая на секции, вывод осуществляется через Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Кадры"); Таб.ВывестиСекцию("***"); Таб.ВывестиСекцию("***"); Таб.ВывестиСекцию("***"); Таб.ПараметрыСтраницы(1,100,,30,8,20,20,0,0,1); Таб.ТолькоПросмотр(0); Таб.Показать("Форма первая"); ..... Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Кадры"); Таб.ВывестиСекцию("***"); Таб.ЭкземпляровНаСтранице(2); Таб.КоличествоЭкземпляров(2); Таб.ПараметрыСтраницы(1,100,,10,10,10,10,0,0,1); Таб.ТолькоПросмотр(0); Таб.Показать("Форма вторая"); Так вот пользователь редактирует первую форму, и при нажатии Enter 1с приходит кирдык. Но если редактировать первую форму без закрытия второй, кирдык не приходит ни при каких обстоятельствах. Вот такие пироги. | |||
| 54
    
        Злопчинский 26.08.16✎ 16:51 | 
        А если сделать несколько Таб1, Таб2 - будет (_._) или не будет?     | |||
| 55
    
        Злопчинский 26.08.16✎ 16:52 | 
        у меня вот тож проблема - непредсказуемо валится 1с молча при попытке нажать на штатную кнопочку "прямая печать " на панели инструментов для открытой печформы... грешу тож на формекс и еще по мелочи. Программисты - они ж такие программазды.. ничего нормально сделать не могут, все не как у людей...     | |||
| 56
    
        trad 26.08.16✎ 17:11 | 
        Выпилить формекс     | |||
| 57
    
        Djelf 26.08.16✎ 20:42 | 
        Ну а я заметил, что в расшифровку что то кроме родных объектов 1с лучше ничего не засовывать.
 А так... можно выпилить и 1с++ т.к. она под wine на элементарной строке ЭтоВайн = Реестр.ОткрытьКлюч("HKEY_LOCAL_MACHINE","Software\Wine","KEY_READ"); рандомно портит память 1с, пойди догадайся из-за чего 1с падает.... | |||
| 58
    
        trad 26.08.16✎ 21:22 | 
        (57) можно и 1спп выпилить, только это ТС не поможет     | |||
| 59
    
        AL CAPONE 31.08.16✎ 11:46 | 
        (54)
 Сейчас проверил: даже в двумя разными Таб1 и Таб2 при закрытии 2-й формы 1-я форма убивает 1с по нажатии Enter. | |||
| 60
    
        trad 31.08.16✎ 16:48 | 
        поставил эксперимент
 новая чистая конфа код Таб1=СоздатьОбъект("Таблица"); Таб1.Показать("Форма первая"); Таб2=СоздатьОбъект("Таблица"); Таб2.Показать("Форма вторая"); после вывода закрываем вторую сразу идем в панель формул, вводим строку, ентер падение | |||
| 61
    
        trad 31.08.16✎ 16:49 | 
        (60) + без всяких вк     | |||
| 62
    
        Ёпрст гуру 31.08.16✎ 16:50 | 
        (60) Панель формул, это что ?     | |||
| 63
    
        Ёпрст гуру 31.08.16✎ 16:51 | 
        Не воспроизводится у меня..     | |||
| 64
    
        Ёпрст гуру 31.08.16✎ 16:52 | 
        А ну да, нашел, да падает..
 И ладно. | |||
| 65
    
        Ёпрст гуру 31.08.16✎ 16:53 | 
        1с-ину вообще то вагон способов завалить.
 Вот например, обработка с 1 строчкой кода: Форма.Заголовок("Вася"); | |||
| 66
    
        Ёпрст гуру 31.08.16✎ 16:54 | 
        или так,
 ТЗ=СоздатьОбъект("ТаблицаЗначений"); ТЗ.КоличествоКолонок(-1); | |||
| 67
    
        trad 31.08.16✎ 16:57 | 
        (65) (66) это да, но это обходится
 интересно как обойти (0) | |||
| 68
    
        trad 31.08.16✎ 17:07 | 
        можно предложить не ходить в панель формул, а редактировать непосредственно в ячейке     | |||
| 69
    
        mehfk 31.08.16✎ 17:36 | 
        (68) А после редакирования ячейки ужу можно и в панели формул редактировать.     | |||
| 70
    
        mehfk 31.08.16✎ 17:38 | 
        ИМХОется мне, что 1с-ка пытается поместить текст в убитую таблицу. Значит в (34) я верно нашел ф-цию.     | |||
| 71
    
        mehfk 31.08.16✎ 17:40 | 
        Воспроизводится, даже если создавать таблицу через меню Файл.     | |||
| 72
    
        Ёпрст гуру 31.08.16✎ 17:51 | 
        (68) можно вообще запретить пользоваться штатным мокселем :)     | |||
| 73
    
        AL CAPONE 01.09.16✎ 16:45 | 
        (68)
 я писал в (0), что "При редактировании ячейки по кнопке "Свойства" 1с не вылетает, но пользователю это крайне неудобно из-за большого количества текста. Если не пользоваться Enter-ом, а просто кликать в соседнюю ячейку, то отредактированный текст вовсе не меняется в половине случаев и приходится всё делать заново." | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |