Имя: Пароль:
1C
1C 7.7
v7: Странное поведение формы
,
0 ДаилиНет
 
24.08.16
14:30
Активно пользую 1cpp (3.2.4.1).
Есть гуляющая ошибка, которая переодически проявляется у всех, кроме меня (я так активно с 1с предприятием не работаю).
В момент ошибки у меня делается скрин, судя по которому я вижу, что это проявляется, как правило, когда не инициализировано табличное поле на форме и в заголовке формы, в конце, фигугирует шняга, типа: Cправочник.Контрагенты - SubcForm...
Что это за "SubcForm"?
Кто-нибудь что-нибудь понимает вообще? ))
1 Горогуля
 
24.08.16
14:31
ничто так не украшает ошибку, как её описание
2 Зая Бусечка
 
24.08.16
14:32
(0) Самое главное, никому не показывай свои скриншоты.
А то получится, как с Битлз, которых Рабинович по межгородному телефону напел...
3 ДаилиНет
 
24.08.16
14:36
(2) скрин большой, думал коряво получится выложить его...
вот, попробовал:
http://i77.fastpic.ru/big/2016/0824/d0/2e72b9c4899880e22d17e3f0c30f81d0.png
4 Горогуля
 
24.08.16
14:40
(2) а как с ними было?
5 Горогуля
 
24.08.16
14:40
(3) и что ты об этом думаешь?
6 ДаилиНет
 
24.08.16
14:45
(4) йа не понял? когда все нормально отрабатывает? тогда на форме висит табличное поле, в заголовке нет "SubcForm" и другие ошибки не валятся...
(5) думаю забить и не парится, но душа болит )) что-то происходит в момент открытия формы (или создания табличного поля)... не проверить толком когда... примерно в 0,5%-1% случаев при открытии контрагента такое возникает...
7 Mauser
 
24.08.16
14:45
(1) "фигугирует шняга", что непонятного?
8 DDwe
 
24.08.16
14:46
(5) Задать вопрос?
9 Горогуля
 
24.08.16
14:47
(6) почитать не пробовал? в соседнюю ветку сходи, там наставят читать
10 Зая Бусечка
 
24.08.16
14:47
На скрине я не вижу никакх SubcForm
Я вижу, что объект не нашёлся.

(4) Картавят, фальшивят, слова перевирают...
11 Горогуля
 
24.08.16
14:48
(10) вверху, промеж "хранения" и "отчётов"
(8) у автора мозг вскипит
12 DDwe
 
24.08.16
14:48
(10) Заголовок окна посмотри
13 ДаилиНет
 
24.08.16
14:48
(10) "Ты его видешь? Нет. А оно есть!"
14 Горогуля
 
24.08.16
14:49
ёмаё, да там баг-отчёт уже взрослым отправлен
15 DDwe
 
24.08.16
14:49
(13) Не смешно, ты или ошибку показывай или... я вопрос задам.
16 DDwe
 
24.08.16
14:50
(14) Точняк
17 Это_mike
 
24.08.16
14:50
Утебя каким-то образом форма отвязывается от обьекта.  Поэтому не выводится ни наименование обьекта, ни слово новый. Выводится название класса формы, "форма справочника", sc form
18 DDwe
 
24.08.16
14:50
Откуда все-таки они лезут... загадка.
19 Горогуля
 
24.08.16
14:50
+(14) лучшее, что можно сделать - не мешать. или даже сгонять за пивом для разработчика, пока он ковыряет
20 Горогуля
 
24.08.16
14:51
(18) хвосты с весенней сессии
21 DDwe
 
24.08.16
14:51
(20) Ну блин, не столько же.
22 ДаилиНет
 
24.08.16
14:51
(15) на скрине ошибка есть... что еще нужно показать?
(19) йа и есть тот самый разраб
23 DDwe
 
24.08.16
14:52
(22) Выдели ошибку на скрине.
24 Горогуля
 
24.08.16
14:53
(22) закежь баг-отчёт
25 Горогуля
 
24.08.16
14:53
+(24) мне для себя, чисто позырить, какие они бывают
26 ДаилиНет
 
24.08.16
14:53
(23) подумал об этом после того, как выложил скрин.. дубль 2:
http://i79.fastpic.ru/big/2016/0824/8e/63ab104d1b0f89a97b6041726dc3038e.png
27 Горогуля
 
24.08.16
14:54
(26) а снизу что за буквы?
28 Это_mike
 
24.08.16
14:54
(22) значит, трассируй переменную "объект".
29 Ёпрст
 
24.08.16
14:54
(26) положи на нормальный хостинг http://pics.rsh.ru/
30 ДаилиНет
 
24.08.16
14:54
(25) там когда я в базу захожу, уведомление мне всплывает с кодом места ошибки и скрином в момент ошибки... ну и пользователя записываю, дату, время... в общем  и все..
31 Горогуля
 
24.08.16
14:55
(30) разработчик может отладить код вокруг места ошибки?
32 DDwe
 
24.08.16
14:56
(30) Ты отладкой займись и всё увидишь.
33 ДаилиНет
 
24.08.16
14:59
(28) не помогает
(30) он от типовой конфы... + "не получается поймать"
(17) "форма справочника", sc form" - по-моему не подходит, там SubcFrom
(32) я уже отладчиком вдоль и поперек изучил... когда проверяю - все ок... а когда появляется - меня рядом нет, я вижу только результат ошибки...
34 ДаилиНет
 
24.08.16
15:00
(29) спешиал фо ю ))
http://pics.rsh.ru/img/_7ijmot57.png
35 ДаилиНет
 
24.08.16
15:01
(31) или это такой тонкий троллинг? ))
36 ДаилиНет
 
24.08.16
15:03
(17) все-таки, в этом что-то есть... осталось понять чиго делать...
37 Горогуля
 
24.08.16
15:04
(36) отклаживать
38 Ёпрст
 
24.08.16
15:07
(34) Форма элемента открывается модально поди, да ?
39 ДаилиНет
 
24.08.16
15:07
нет
40 Ёпрст
 
24.08.16
15:08
(39) табличное поле, где инициализируется, в ПослеОткрытия или в Послесозданияформы ?
41 ДаилиНет
 
24.08.16
15:09
ПослеСозданияФормы
42 Ёпрст
 
24.08.16
15:10
(41)контейнер под табличное поле, кнопка или текст ?
43 ДаилиНет
 
24.08.16
15:10
кнопка
44 Ёпрст
 
24.08.16
15:11
(43) какие еще вк грузишь и в какой последовательности ?
45 ДаилиНет
 
24.08.16
15:14
Если _ЗагрузитьВК("1CPP.3.2.4.1.dll")=0 Тогда Возврат 0; КонецЕсли;
    // Formex 2.0.5.82 - не работает Событие_UnURLDrop
    Если _ЗагрузитьВК("FormEx.2.0.5.95.dll")=0 Тогда Возврат 0; КонецЕсли;

    Система=СоздатьОбъект("Система");
        Система.РегистрироватьКомпонентыВ_HKCU();
    Если _ЗагрузитьВК("Admin1C.dll")=0 Тогда Возврат 0; КонецЕсли;
    Если _ЗагрузитьВК("MiracleV8.dll")=0 Тогда Возврат 0; КонецЕсли;
    //Если _ЗагрузитьВК("V7ICQ.dll")=0 Тогда Возврат 0; КонецЕсли; // для скриншотов прежде всего
    Если _ЗагрузитьВК("RToolTips.dll")=0 Тогда Возврат 0; КонецЕсли; // загрузим менеджер контекстных подсказок
    Если _ЗагрузитьВК("RiK_SQL.dll")=0 Тогда Возврат 0; КонецЕсли;
    Если _ЗагрузитьВК("v7plus.dll")=0 Тогда Возврат 0; КонецЕсли;
    Если _ЗагрузитьВК("OpenFileDialogsManager.dll")=0 Тогда Возврат 0; КонецЕсли;
    Если _ЗагрузитьВК("SimpleDllLoader.dll")=0 Тогда Возврат 0; КонецЕсли;
    Если _ЗагрузитьВК("DialMail.dll")=0 Тогда Возврат 0; КонецЕсли;
    Если _ЗагрузитьВК("NDeclin.dll")=0 Тогда Возврат 0; КонецЕсли; // для функций склонений
    Если _ЗагрузитьВК("Journal.dll")=0 Тогда Возврат 0; КонецЕсли;

    Если (ИмяКомпьютера()<>"REMOTEAPP") и (НазваниеНабораПрав()="Разработчик") Тогда
        Если Вопрос("Загрузить TurboMD.dll","Да+Нет",10)<>"Нет" Тогда
            Сообщить("Загружен turbomd.dll","i");
            Если _ЗагрузитьВК("TurboMD.dll")=0 Тогда КонецЕсли;  
        КонецЕсли;
    КонецЕсли;
    Если _ЗагрузитьВК("NoSlip.dll")=0 Тогда Возврат 0; КонецЕсли;
    Если _ЗагрузитьВК("RWidjets.dll")=0 Тогда Возврат 0; КонецЕсли;
    Если _ЗагрузитьВК("ROM-Asterisk.dll")=0 Тогда Возврат 0; КонецЕсли; // панель телефонии
    Если _ЗагрузитьВК("SpreadSheet.dll")=0 Тогда Возврат 0; КонецЕсли;
    Если _ЗагрузитьВК("RAINBOW.dll")=0 Тогда Возврат 0; КонецЕсли; // Ускоренное проведение документов не доступно
    Если _ЗагрузитьВК("vkdrops.dll")=0 Тогда Возврат 0; КонецЕсли; // Drag&Drop
46 Горогуля
 
24.08.16
15:16
на этого парня смахивает
http://neobychno.com/img/2011/01/pirsing9.jpeg.jpg
47 ДаилиНет
 
24.08.16
15:17
в точку!
48 DDwe
 
24.08.16
15:18
(45) Капец! А зачем там 1С вообще?
49 Горогуля
 
24.08.16
15:18
(48) для _ЗагрузитьВК
50 Масянька
 
24.08.16
15:19
(46) Зря смеешься.
У меня был клиент - торговля 25 релиз (!!!).
Когда развернула базу - офигела...
В общем, ТиС использовалась, как платформа для программы под клиента. Клиент, кстати, был доволен до самого "не хочу".
51 Горогуля
 
24.08.16
15:21
ну я вот тоже 1Ской пакетно файлы переименовываю
52 Ёпрст
 
24.08.16
15:23
(46) "RAINBOW.dll" - эту выкинь, NoSlip - эту тоже
53 Масянька
 
24.08.16
15:23
(48) Меньше кода писать.
54 ДаилиНет
 
24.08.16
15:24
(52) если от первой еще можно отказаться, то для второй замену нужно будет искать... есть основания полагать, что "может быть она"?
55 Ёпрст
 
24.08.16
15:25
Ну и, на сколько я понимаю, только у тебя турбомд грузится, так ?
56 ДаилиНет
 
24.08.16
15:26
да, и то только на базе моего пк... (на рабочей, короче, однозначно нет)
57 Ёпрст
 
24.08.16
15:34
(54) что значит еще ?! радуга у тебя в 1сpp в полном составе
58 ДаилиНет
 
24.08.16
15:35
(57) не знал... изучу этот вопрос, спс
59 Ёпрст
 
24.08.16
15:35
SimpleDllLoader - и вот эта, непонятна зачем
60 ДаилиНет
 
24.08.16
15:36
(59) видимо осталась после экспериментов, йа ее не пользую... отключу, посмотрим что даст...
61 Ёпрст
 
24.08.16
15:36
И это, остальные то вк, хоть используются ?
Миракл там, RiK_SQL, RWidjets ?
62 ДаилиНет
 
24.08.16
15:37
да, все... ну RWidjets крайне глючная... перестал ее пользовать... можно тоже вырубить...
63 Ёпрст
 
24.08.16
15:37
(62) RWidjets есть несколько версий.
64 ДаилиНет
 
24.08.16
15:37
(62) упс... перепутал с RToolTips.dll
65 Ёпрст
 
24.08.16
15:41
Система.РегистрироватьКомпонентыВ_HKCU(); это тоже лишнее
66 ДаилиНет
 
24.08.16
15:41
(63) rwidjets пользую 1.4.0.3... не сильно активно, но можно попробовать отказаться... отключу на время тестов...
67 Ёпрст
 
24.08.16
15:42
А миракле тебе зачем ? Свои кнопки в тулбарах ?
68 ДаилиНет
 
24.08.16
15:43
(67) ей я делаю скрины + наглядный прогресс бар (самый лучший по-моему, аля 8-ка), может еще чего, сразу не вспомнить...
69 Ёпрст
 
24.08.16
15:49
(68) ну, скрины ей лучше не делать, судя по (0).
На счет прогресс бара - нужно всё переписывать, чтобы прогресс бар вообще не нужен был, совсем.
70 Масянька
 
24.08.16
15:50
(67) (68) Вы давайте проблему решайте. :)
71 Ёпрст
 
24.08.16
15:50
т.е чтобы всё работало настолько быстро, чтобы необходимость в прогресс баре отсутствовала
72 Ёпрст
 
24.08.16
15:50
(70) пусть в начале, лишние вк выкосит.
Непонятно вообще, как оно с радугой нормально работало
73 ДаилиНет
 
24.08.16
15:56
(71) как быстро сделать рассылку по клиентской базе на 2-3 тысячи адресов?
(72) все рекомендации учту, посмотрим что изменится. Спасибо.
74 Горогуля
 
24.08.16
15:57
(73) нанять 2-3 тысячи бабороботов
75 Ёпрст
 
24.08.16
15:58
(73) да ты еще и спамер! :)
Через диалмаил отправляешь  ?
76 ДаилиНет
 
24.08.16
15:59
(74) один робот есть, он в принципе, и делает рассылку в фоне... но пользователю иногда хочется смотреть на прогресс бар )
(75) но-но :) рассылка онли средствами CDO...
77 Ёпрст
 
24.08.16
16:01
(76) зачем тогда диалмаил ?
78 Масянька
 
24.08.16
16:01
(76) О! Месье понимает толк в извращениях! :)
79 ДаилиНет
 
24.08.16
16:03
(78) это про CDO то? Это самое лучшее решение. ИМХО. Сейчас еще Злопчинский подключится, будет защищать )
80 ДаилиНет
 
24.08.16
16:03
(77) диалмаил для работы с ftp
81 Масянька
 
24.08.16
16:03
(79) Есесьно. Я разве утверждала обратное?
82 Масянька
 
24.08.16
16:05
+ (81) Поясню: во время работы во франче, меня убеждали, что ВК - это зло. В результате, когда чужой клиент попросил мою фигню - посмотрели и выдали "Извращенка!" :)
83 ДаилиНет
 
24.08.16
16:06
а вообще: это не я такой рукож**, что использую стока вк, а просто 7-ка - динозавр и похоже задачи уже давно вышли за рамки штатных возможностей...
84 DDwe
 
24.08.16
16:10
Не нужно  паровоз превращать в звездолет. И до звезд не достанешь и паровоз испортишь.
85 Salimbek
 
24.08.16
16:11
(0) Ну... для начала, вместо ПустоеЗначение(Объект.ТекущийЭлемент()) лучше использовать просто ПустоеЗначение(Объект)
86 ДаилиНет
 
24.08.16
16:15
(85) возможно от чего-то это поможет... но, боюсь, дело не в этом... хотя попробую, посмотрю...
87 Горогуля
 
24.08.16
16:16
(84) или получишь звездовоз
http://image.glavred.info/images/608xX/Jul2016/377856.png
88 Salimbek
 
24.08.16
16:18
(86) Ну вот скажи - чего ты этой проверкой делаешь?
89 ДаилиНет
 
24.08.16
16:21
(88) я предпочитаю не задумываться над кодом, который пысали в 1с...
судя по тому, что там хотели проверять - это то что элемент записывается впервые... я бы вообще сделал типа "если Объект.Выбран()"
90 Salimbek
 
24.08.16
16:28
(89) 1. Выбран() - создает обращение к БД, в результате работает сильно дольше, чем ПустоеЗначение()
2. Объект.ТекущийЭлемент() отличается от просто Объект лишь некоторыми нюансами, которые могут сказаться только при записи объекта.
3. ТекущийЭлемент() - тут не проверял, но тоже может рисовать обращение к базе
4. В итоге ПустоеЗнаечние(Объект) и проверит на "пустоту", и вообще на то, что в Объект хоть что-то есть. Если же в Объект каким-то образом прилетит, например, пустая строка, то код будет падать с ошибкой.
5. Я бы для начала завернул проблемный код в "Попытка Исключение" и в исключении организовал вывод и того, что находится в переменной Объект и ТипЗначенияСтр(Объект) для лучшего понимания ситуации.
91 Salimbek
 
24.08.16
16:30
+(90) "то код будет падать с ошибкой" -> "то текущий код будет падать с ошибкой, ПустоеЗначение(Объект) - отработает корректно"
92 ДаилиНет
 
24.08.16
16:37
(90) п. 5 тип объекта - число... а должен быть справочник... добавлю вывод значения.
Salimbek - спасибо. Ценная информация для меня.
93 Злопчинский
 
24.08.16
18:57
(92) прими к сведению что - для битой ссылки Выбран()=0, а ПустоеЗначение()=1
94 Djelf
 
24.08.16
19:29
(0) Да... зоопарк ВК...
Предлагаю сделать поиск по файлам ВК по слову "SubcForm" с учетом регистра. Если найдется "СSubcForm" то это не оно.
У меня не весь набор ВК есть и такого не нашлось.