Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: AppCrash 1с при открытии документа из печатной формы (предположительно формекс или 1cpp)

v7: AppCrash 1с при открытии документа из печатной формы (предположительно формекс или 1cpp)
Я
   kirill123
 
18.01.21 - 15:58
Добрый день.
Если открыть любой документ из печатной формы (с помощью обработки ячейки) - 1с падает в AppCrash.

С помощью формекса был создан всплывающий список.
Соответственно этот список https://c2n.me/4aAYVHy.jpg появляется и при нажатии на документ в журнале документов, и в печатной форме, например, дереве документов.
Если при этом из журнала документов или видимой ТаблицыЗначений - все в порядке. Если из отчета или дерева - падает в appcrash https://c2n.me/4aAZ27J.jpg

Если в дереве отключить вызов этого списка и использовать типовой метод обработки ячейки - документ открывается нормально.
При этом сам формекс (в плане раскрасок и проч) - работает нормально. Баг только при открытии документов из Moxel через списокзначений.

PS: вчера приводили в порядок структуру папок, и столкнулись с тем, что пришлось переприсваивать права на некоторые папки.
По времени проблема совпала. Но права на 1с/Bin, к папкам с базами у всех пользователей открыты.
   Ёпрст
 
1 - 18.01.21 - 16:10
Ну и в методе Открыть написано что хоть ?
   kirill123
 
2 - 18.01.21 - 16:20
(1) Выб=0;
    Меню=СоздатьОбъект("СписокЗначений");
    
    Картинка = СоздатьОбъект("Картинка");
    Картинка.Загрузить(КаталогИБ() + "ExtForms\картинки\МойПолныйРядИконок.bmp");
    
    Меню.ДобавитьЗначение("док0","Открыть");

****************тут добавляются другие элементы списка

Сервис=СоздатьОбъект("Сервис");
    Если Сервис.ВыбратьЗначение(Меню,Выб,"",0,2,Картинка)<>0 Тогда 
        ОткрытьФорму(Расшифровка);
        Возврат;
    КонецЕсли;



Кода больше, он переплетается с другими процедурами, я сократил, но логику постарался сохранить.
   kirill123
 
3 - 18.01.21 - 16:26
Поймал такой сейчас момент - если этот список с помощью формекса создавать, не используя пиктограммы https://c2n.me/4aB3PQl.jpg - то все ок.
   АЛьФ
 
4 - 18.01.21 - 16:26
Версия FormEx? Форма не модально открывается?
   kirill123
 
5 - 18.01.21 - 16:35
(4) 2.0.5.107
   Ёпрст
 
6 - 18.01.21 - 17:06
(5) пробуй обновить до последней.
А так, размер картинки какой хоть в пикселях ?
   Ёпрст
 
7 - 18.01.21 - 17:07
и в Расшифровка, точно ссылка на документ торчит ?
   Ёпрст
 
8 - 18.01.21 - 17:08
И.. это всё откуда вызывается ? Из ОбработкаЯчейкиТаблицы ?
   Ёпрст
 
9 - 18.01.21 - 17:08
Или ты перехватываешь ПКМ и подсовываешь своё меню ?
   kirill123
 
10 - 18.01.21 - 17:24
(4) Упустил про модальность - нет, не модально.
(6) Пробовал, не помогло.

Поймал такой момент - у меня в этот список еще три вложенных (тоже с картинками).
Если хоть один из них отключить/закомментировать - все работает.
Причем парадокс в том - что не коркретный, а любой ))
Я пробовал поочередно отключать - все работает. Как только все включены - падает в ошибку.
   trdm
 
11 - 18.01.21 - 17:26
(10) Я так полагаю эта менюшка много где используется.
Так что вариант анализировать контекст открытия и лочить картинки.
   kirill123
 
12 - 18.01.21 - 17:26
(8) Да, оттуда.
Если вызывалось из журнала или ТЗ тот же список - все нормально.
Баг только при выззове из moxel
   kirill123
 
13 - 18.01.21 - 17:27
(11) Так разные картинки используются в каждом из трех вложенных списков.
А выключить достаточно любой из них. То есть падение не на конкретной картинке.
   trdm
 
14 - 18.01.21 - 17:27
Что-то не помню как картинки добавлять. А то бы и сам нафигачил...
   Ёпрст
 
15 - 18.01.21 - 17:29
ну, как вариант, заведи глобальную переменную МояКартинка Экспорт и в ПриНачалеРаботыСистемы установи ей картинки свои, потом уже везде используй.
Проверить падение недолго

ЗЫ: Расшифровка - это у тебя параметр метода ОбработкаячейкиТаблицы(Расшифровка,,,, ) ?
   kirill123
 
16 - 18.01.21 - 17:38
(15) Я пробовал чуть иначе: определил ее в самом начале, и параметром передавал во вложенные списки, не помогло.

Расшифровка - да, все верно
   Ёпрст
 
17 - 18.01.21 - 17:44
Падает на какой строке хоть ? В момент ОткрытьФорму или когда ?
   Ёпрст
 
18 - 18.01.21 - 17:44
И размеры картинки какие ?
   victuan1
 
19 - 19.01.21 - 04:39
(15) Хочется решения без доработки глобальника, если это тиражируемое решение.
   Ёпрст
 
20 - 19.01.21 - 09:41
(19) если дело в этом, то доп. глобальник формекса жешь..будет тебе тираж.
   kirill123
 
21 - 19.01.21 - 10:26
(18) Размеры картинки 5кб, выглядит так https://c2n.me/4aBzqN1.jpg
   Ёпрст
 
22 - 19.01.21 - 10:36
(21) размеры картинки в пикселях какие?
   Ёпрст
 
23 - 19.01.21 - 10:37
Высота какая?
   Djelf
 
24 - 19.01.21 - 10:40
(21) По теме вылета ничего не скажу, тестовую обработку бы...
А вот битность картинок АЛьФ исправил: https://www.1cpp.ru/forum/YaBB.pl?num=1548704831
   kirill123
 
25 - 19.01.21 - 10:46
(23) 592 * 16
   Ёпрст
 
26 - 19.01.21 - 10:50
Ради интереса, помести картинку на форму обработки, установт ей свою картинку и ее используй..падает?
   kirill123
 
27 - 19.01.21 - 11:14
(26) Разместил на форме, но не пойму как "использовать".
https://c2n.me/4aBCxeY.jpg
   serpentt
 
28 - 19.01.21 - 11:27
(27) может Картинка.УстановитьКартинку("имяРеквизитаКартинкиНаФорме") ?
   Ёпрст
 
29 - 19.01.21 - 11:31
(27) просто задай идентификатор картинки и его и пихай в список свой
   kirill123
 
30 - 19.01.21 - 11:43
(29) Заменил старый метод получения картинки во всплыв.списке формекса с такого:

Картинка = СоздатьОбъект("Картинка");
Картинка.Загрузить(КаталогИБ() + "ExtForms\картинки\МойПолныйРядИконок.bmp");

на такой (из библиотеки картинок):

Картинка = СоздатьОбъект("Картинка");
Картинка.Загрузить("МойПолныйРядИконок");

Но к сожалению проблема осталась.
 
 Рекламное место пустует
   Ёпрст
 
31 - 19.01.21 - 12:11
Воспроизвел у себя, не падаете.
Сделай высоту картинки 15..
   Ёпрст
 
32 - 19.01.21 - 12:12
+ как формируешь список меню, покажи полностью.
+фсо=0 ставишь хоть еще ?
   Ёпрст
 
33 - 19.01.21 - 12:18
Вот те для примера, усё работает без падения
//*******************************************

Процедура ПриОткрытии()
    
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");
    Таб.Вывести();
    Таб.ТолькоПросмотр(1);
    Таб.Показать();
КонецПроцедуры
//======================================================================

Процедура ОбработкаЯчейкиТаблицы(Расшифровка,ФСО,Таб,Адрес)
    Фсо=0;
    Сервис = СоздатьОбъект("Сервис");
    Список = СоздатьОбъект("СписокЗначений");
    Список.ДобавитьЗначение(1,"[icon:1]Пункт 1");
    Список.ДобавитьЗначение(2,"[icon:2]Пункт 2");
    Список.ДобавитьЗначение(3,"[icon:3]Пункт 3");
    Список.ДобавитьЗначение(4,"[icon:4]Пункт 4");
    Список.ДобавитьЗначение(0,"-");
    // создаем вложенный список

    СписокДоп = СоздатьОбъект("СписокЗначений");
    СписокДоп.ДобавитьЗначение(551,"Пункт 51");
    СписокДоп.ДобавитьЗначение(552,"Пункт 52");
    СписокДоп.ДобавитьЗначение(553,"Пункт 53");
    СписокДоп.ДобавитьЗначение(554,"Пункт 54");
    // добавляем вложенный список

    Список.ДобавитьЗначение(СписокДоп,"Пункт 5");
    Список.ДобавитьЗначение(6,"Пункт 6");
    Список.ДобавитьЗначение(7,"Пункт 7");
    Картинка = СоздатьОбъект("Картинка");
    Картинка.Загрузить(КаталогИБ() + "ExtForms\1.bmp");
    ПараметрыЦвета = СоздатьОбъект("СписокЗначений");
    ПараметрыЦвета.Установить("ЦветФонаВыделения",255);
    ПараметрыЦвета.Установить("ЦветРамкиВыделения",0);
    Выб = "";
    Если Сервис.ВыбратьЗначение(Список,Выб,"Тестовый выбор значения",0,0,Картинка,ПараметрыЦвета) = 1 Тогда
        Сообщить(Выб);
    КонецЕсли;
    
КонецПроцедуры// ОбработкаЯчейкиТаблицы

   kirill123
 
34 - 19.01.21 - 13:47
(33) Добавил ФСО, добавил параметр "ПараметрыЦвета", изменил высоту картинки.
В какой-то момент перестало выбрасывать, после добавления ПараметрыЦвета.
Но когда я попробовал убрать кусок с ПараметрыЦвета и потом опять вернуть - опять вылет.
Ощущение, что это какое-то смешение сервера с виндой, 1с с формексом/1срр и погоды ))
Буду пробовать еще ловить.
   trad
 
35 - 19.01.21 - 14:11
(34) в этом букете не хватает tabledoc.dll ))
   Злопчинский
 
36 - 19.01.21 - 15:47
(35) простенькое и без табледок можно сделать красивенько
https://content.screencast.com/users/Che66/folders/Capture/media/045c225f-cda5-4f79-b701-5c95a72eb812/LWR_Recording.png
   Arbuz
 
37 - 19.01.21 - 17:02
(36) дык, у тебя ж не моксель/йоксель табличный, а форма. tabledoc оно для мокселя.
   Ёпрст
 
38 - 19.01.21 - 21:05
(34) нужен  твой вариант тогда, я просто код с хэлпа взял и привет.
1cpp должна грузиться первой, если че.
   kirill123
 
39 - 21.01.21 - 12:07
(38) Да уже все коминации перерепробовал, в итоге решил проблему просто заменив одно из трех вложенных меню на "по нажатию".
То есть было так https://drive.google.com/file/d/11NQ6ZWfOlZbBqPV-UYzDclmsT5glCYY2/view?usp=drivesdk
А сделал таким образом: https://drive.google.com/file/d/1UmvIgrGvNFYoOjuc1XgkQh9qb6_U4PnN/view?usp=drivesdk
   kirill123
 
40 - 21.01.21 - 12:11
(38) Проверил, 1срр и грузится первой.
   sapphire
 
41 - 21.01.21 - 12:31
(0) 1cpp.dll дважды загружается
   kirill123
 
42 - 21.01.21 - 13:06
(41) Проверил - нет, по всей базе и extforms упоминается только 1 раз в "ПриНачалеРаботыСистемы".
Но бывает же 1cpp с формексом встроенным, и есть отдельный формекс. У меня отдельный, но если я формекс отключаю - у меня все сыпется (раскраски, сервис и пр.)
   Ёпрст
 
43 - 21.01.21 - 16:41
(40) какой версии он хоть ?
   kirill123
 
44 - 22.01.21 - 10:43
(43) 1cpp - 3.2.4.1


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.