Вход | Регистрация

  1  2   

Кто шарит во внешних компонентах? Нужна помощь

Кто шарит во внешних компонентах? Нужна помощь
Я
   Maniac
 
10.10.16 - 17:53
С выходом 1С 839 появился баг в работающей до этого компоненте.

На серверной базе (на файловой все работает отлично) хоть тресни сыпет ошибки Тип не определен на всех попытках вызова классов.

Причем появлятся это только после второго использования.

То есть первый раз - все работает замечательно!
Но стоит только второй раз запустить туже обработку с компонентой - сыпет баг и хоть тресни.
 
 
   Мойдодыр
 
1 - 10.10.16 - 17:54
а автор компоненты что говорит?
   Maniac
 
2 - 10.10.16 - 17:55
Повторюсь - на файловой версии все отлично.

На серверной - баг после повторного использования.
Тип не пределен Новый("AddIn.XLS.XLS")
   Maniac
 
3 - 10.10.16 - 17:56
Он сам не знает и не понимает - уже переколошматили все.
Все отлично работает за исключением сказанного....

Сервер - второй запуск.....
   Maniac
 
4 - 10.10.16 - 17:57
И только на 838 и выше

До этого на всех версиях 1С работало все как часы.
   mehfk
 
5 - 10.10.16 - 17:59
Это знак: пора прекращать использовать всякие наколеночные ВК и переходить на встроенные методы :)))
   Лефмихалыч
 
6 - 10.10.16 - 18:00
вот по этому я и не люблю ВК
   xaozai
 
7 - 10.10.16 - 18:08
А повторное подключение любой другой компоненты работает нормально?
Если да, то проблема именно в этой конкретной ВК, может, завершается там где-то чего-то некорректно.

Если с другими компонентами так же, может, это "фича" платформы.
   Serginio1
 
8 - 10.10.16 - 18:13
(2) Значит ВК уже выгрузилась. Смотри где Ссылки на ВК обнуляются. Я на 64 разрядной пробовал все нормально.
   Garykom
 
9 - 10.10.16 - 18:25
ВК натив или ком?
   Кирпич
 
10 - 10.10.16 - 18:53
Делайте ЗагрузитьВнешнююКомпоненту еще раз, раз уж так оно работает.
 
 Рекламное место пустует
   Господин ПЖ
 
11 - 10.10.16 - 18:57
ну все. манино господство на супир-пупир обработке сломалось
   Maniac
 
12 - 11.10.16 - 10:49
(10) для серверной этот метод не доступен.
Единственный метод который доступен это ПодключитьВНешнююКомпоненту и он работает
   Maniac
 
13 - 11.10.16 - 10:51
(9) натив
   MrStomak
 
14 - 11.10.16 - 11:01
(3) Ну то есть разработчик с дебаггером студии не смог отловить процесс инициализации компоненты и ошибку, которая в этот момент возникла, а мы тут по кофейной гуще всё угадаем?

Клиент х64 только в 8.3.9 появился, до этого только х86 (значит, все файловые версии х86), а сервера часто х64, компонента компилится отдельно для х86, отдельно для х64 - ты хоть сказал бы, какая архитектура. У тебя там вообще разные билды этой компоненты могут быть.
   Кирпич
 
15 - 11.10.16 - 11:01
(12) чо прям пишете ПодключитьВНешнююКомпоненту и сразу Новый("AddIn.XLS.XLS") и не работает?
   MrStomak
 
16 - 11.10.16 - 11:08
Платформа содержит оптимизацию - она в кэше хранит ВК и повторно подключает не так, как первый раз.
1. Попробовать поменять дурацкое имя XLS (которое в середине. Его определяет тот, кто использует метод ПодключитьВнешнююКомпоненту во втором параметре). Возможно, происходит конфликт где-то из-за имени
2. Если не помогает, генерить новое произвольное имя при каждом использовании. Это заполонит кэш, но по идее будет работать
   Garykom
 
17 - 11.10.16 - 11:09
(15) Так глюка с подключением во внешней обработке, когда на первое открытие обработки все ОК, а если повторно то нифига не сервере не пашет.

Потому что некоторые дятлы до сих пор не смогли понять что такое клиент-серверная УФ 1С...
   Maniac
 
18 - 11.10.16 - 16:46
(17) а это то тут причем?
(15) повторюсь проблема возникла только после 838 и выше
Причем работает все при первом запуске
При повторном Тип не определен и хлобысь

Создавали даже пустые классы и пытались вызвать.
На любом сыпется (внимание) при повторном запуске
   Мойдодыр
 
19 - 11.10.16 - 16:50
другие компоненты работают? например штрихкоды?
   Господин ПЖ
 
20 - 11.10.16 - 16:59
знающие - не прогадайте... 90% маниного состояния просите. не меньше
   MrStomak
 
21 - 11.10.16 - 17:02
(18) совет пот пунктом 2 в (16) использовали?
   Garykom
 
22 - 11.10.16 - 17:59
(20) Кому нужны манины долги?
   mehfk
 
23 - 11.10.16 - 18:07
(22) Маня продавал программы с льготной поддержкой, а в один прекрасный день после того, как клиенты начали массово обновляться, его программы перестали работать? И теперь Маня не может выполнить свои же условия и попадает на бабки?
   Maniac
 
24 - 11.10.16 - 18:11
Хорош флудить, если нечего сказать - вали в другую тему
   mehfk
 
25 - 11.10.16 - 18:15
Маня нервничает, наверное я угадал...
   Кирпич
 
26 - 11.10.16 - 18:15
(24) на (19) ответь
   Garykom
 
27 - 11.10.16 - 18:20
(26) ШК логично что &НаКлиенте запускается
   Кирпич
 
28 - 11.10.16 - 19:00
(26) да любую другую вк. Другим человеком сделано что бы
   Maniac
 
29 - 11.10.16 - 20:03
(28) не пробовал ничего. У меня серверная компонента.
Где найти такую я не знаю.
   Maniac
 
30 - 11.10.16 - 20:03
Поэтому тему и завел. Работает ли у всех нормально или это баг 1С
   zak555
 
31 - 11.10.16 - 20:36
зачем компонета?
   MrStomak
 
32 - 11.10.16 - 20:46
(29) берешь с итс пример натив компоненты таймера и проверяешь. Если не работает, заводишь тред на партнерке, что платформа г0вно.
   zak555
 
33 - 11.10.16 - 20:47
(32) маня - партнёр 1с?
 
 
   MrStomak
 
34 - 11.10.16 - 20:50
(33) Так любой Вася с сертификатом спеца туда имеет доступ. Маня что даже спеца по УТ не имеет?
   zak555
 
35 - 11.10.16 - 20:53
(34) нет, не любой
если он франч или купил комплект разработчика
+ наличеие спеца по платформе
   Maniac
 
36 - 11.10.16 - 20:53
чота впервые слышу о такой
   Maniac
 
37 - 11.10.16 - 20:53
ваще то у меня 1С куплена и подписка имеется.
вот даже сервер купил
   zak555
 
38 - 11.10.16 - 20:54
(37) итс корп?
   MrStomak
 
39 - 11.10.16 - 20:58
(36) Это значит, ты поленился даже поискать на итс. Она там с древнейших времен под С++ лежит.
   MrStomak
 
40 - 11.10.16 - 20:59
(35) Ок, пусть он хотя бы здесь результаты тестов выложит и я сам там отпишусь.
   zak555
 
41 - 11.10.16 - 21:07
пора маню подписать на ИТС корп
   Maniac
 
42 - 12.10.16 - 18:18
Подпиши)
   Maniac
 
43 - 14.10.16 - 13:45
Апну тему
   Maniac
 
44 - 14.10.16 - 13:45
Если есть спецы можно пообщаться лично по скайпу
   Garykom
 
45 - 14.10.16 - 13:50
вот эта штука https://github.com/SheetJS/js-xlsx умеет работать внутри "Поле HTML"
   Garykom
 
46 - 14.10.16 - 13:52
(45)+ Либо можно обернуть в веб сервис на nodejs простейше и отсылать файлы из любой 1С-ки на локально поднятый в сетке сервис получая в ответ нечто что парсится
   Кирпич
 
47 - 14.10.16 - 13:55
(46) он свою поделку людям продает. накой ему эти бубны с нодами
(44) ты по скайпу так же будешь общаться, как в этой ветке? Один пост в день и ниачем?
   Garykom
 
48 - 14.10.16 - 13:57
(47) Не вижу сложности сделать инсталлятор с новой внутри и автозапуском, причем вод все платформы распространенные
   Garykom
 
49 - 14.10.16 - 13:57
(48) *под все платформы
 
 Рекламное место пустует
   Кирпич
 
50 - 14.10.16 - 13:59
(48) щас еще придет известный адепт и насоветует перейти на .NET
   Garykom
 
51 - 14.10.16 - 14:00
(50) хехе с требованим поставить ms office чтобы ёксель файлики читать да?
   Garykom
 
52 - 14.10.16 - 14:01
   Кирпич
 
53 - 14.10.16 - 14:02
(51) да я думаю на .NET есть какая нибудь либа читать xls
   Garykom
 
54 - 14.10.16 - 14:03
(53) есть конечно https://github.com/ExcelDataReader/ExcelDataReader но на практике оно хуже чем на js банально потому что реже юзают
   Кирпич
 
55 - 14.10.16 - 14:04
(54) ну прайс то прочитает как нибудь
   Serginio1
 
56 - 14.10.16 - 17:12
(50) Я адепт программирования.
(51) Для этого есть OpenXML 1С,Linux,Excel,Word,OpenXML,Net Core
   Serginio1
 
57 - 14.10.16 - 17:15
   Проггер
 
58 - 14.10.16 - 17:52
Сколько за подсказку?
   Maniac
 
59 - 14.10.16 - 23:37
(57) стукнись мне в скайп Skype: shekineugeniy
Пообщаемся
   zak555
 
60 - 14.10.16 - 23:38
(42) скидывай реквизиты, выставляю итс корп
   Maniac
 
61 - 15.10.16 - 00:32
(60) счет-деньги )) аж забавно, забавно то что это нихрена конкретный вопрос не решает.
   Garykom
 
62 - 15.10.16 - 00:35
(61) ВК которая не работает на чем была написана?
   Maniac
 
63 - 15.10.16 - 00:35
Питон
   Maniac
 
64 - 15.10.16 - 00:38
Меня в этом всем деле напрягает сообщение Тип не определен
Вот сердцем чую что в этом какая то фигня зарыта.
Уж сильно много у 1С бывает таких сообщение с ошибками.


Тип не определен. ЧТо за нахер тип - не понятно.
   Maniac
 
65 - 15.10.16 - 00:42
Это явно какой то очередной баг типа как уже фиг знает сколько лет был баг Ошибка формата потока...

Это жесть была с этой ошибкой - по моей памяти года три все долбились в интернет с поиском что за байда.

Пока не оказалось что это тупо баг платформы который годами никто не исправлял. А потом всех надо было заставлять обновлять платформу после исправления.

Так и сейчас что то аналогичное. Только проблема в том что никто ВК не юзает а баги 1С не охотно сама находит и не охотно принимает.
   Garykom
 
66 - 15.10.16 - 00:53
(65) Почти никто не юзает ВК на серверной 1С &НаСервере, почти все &НаКлиенте это делают
   Maniac
 
67 - 15.10.16 - 01:52
ну потому что задач определенного типа не существует
   Maniac
 
68 - 15.10.16 - 01:52
опять плять "типа" что за тип то такой)
   H A D G E H O G s
 
69 - 15.10.16 - 02:31
Я правильно понимаю, что продажи уберзагрузки прайсов накрылись кверхумехом?
   MrStomak
 
70 - 15.10.16 - 11:22
(64) Ты уже догадался попробовать ВК таймера с итс на сервере и воспроизвести проблему?
   Serginio1
 
71 - 15.10.16 - 19:28
(68)
При ПодключитьВнешнююКомпоненту в компоненте делается запрос на поддерживаемые типы
Тип не пределен Новый("AddIn.XLS.XLS")
 Дальше он ищет типы по AddIn.XLS.XLS
где
AddIn это стандартное название
XLS название компоненты данное при ЗагрузитьВнешнююКомпоненту 

XLS  это название типа данное при загрузке ВК.
 Вероятно при Загрузке Внешнюй Компоненты 
 произошел сбой

Смотри, что возвращает ПодключитьВнешнююКомпоненту
   Maniac
 
72 - 17.10.16 - 12:26
у меня вот как происходит

АдресКомпоненты = ПоместитьВоВременноеХранилище(ПолучитьМакет("Subsystems"));


Если ПодключитьВнешнююКомпоненту(АдресКомпоненты,"XLS",ТипВнешнейКомпоненты.Native) Тогда
    Иначе
        Сообщить(ОписаниеОшибки());
        Возврат СЗ;
    КонецЕсли;


Компонента подключается.
И вот что написано в синтаксисе 

Сервер может работать со всеми компонентами. Компонент кэшируется на сеанс работы сервера.
   Кирпич
 
73 - 17.10.16 - 12:37
на седьмой день мы увидели программный код. расследование продвигается.
   Maniac
 
74 - 17.10.16 - 12:45
Блин я хоть убейте не могу разобраться в двух методах 1С - они в синтаксисе так описаны что сам черт голову сломит - ничерта не понятно.

ПодключитьВНешнююКомпоненту
УстановитьВнешнююКомпоненту

оба имеют несколько вариация, а в описании такая белеберда.
Есть подозрение что я ее тупо неправильно вызываю.
   Кирпич
 
75 - 17.10.16 - 12:50
(74) Опиши проблему, покажи код, скриншоты, ответь на (70) наконец. Глядишь народ к тебе и потянется.
   Serginio1
 
76 - 17.10.16 - 17:08
(72) Так ты один раз подключаешь?

Ты можешь поместить упакованные файлы в макет, или поместить в хранилище.
 Аналог с  общим макетом

УстановитьВнешнююКомпоненту("ОбщийМакет.МояКомпонента");
Результат = ПодключитьВнешнююКомпоненту("ОбщийМакет.МояКомпонента", "Компонента");
   Serginio1
 
77 - 17.10.16 - 17:10
   Maniac
 
78 - 18.10.16 - 15:00
макет находится в самой обработке.
УстановитьВнешнююКомпоненту - это клиенский метод.

А у нас компонента все делает на серваке.
   Maniac
 
79 - 18.10.16 - 15:01
Поэтому всегда используется только 
ПодключитьВнешнююКомпоненту

И вот как бы на попытке второй раз что то грузануть - перестает видеть классы компоненты. причем любые классы. пофигу.

Эксперементировали даже на пустышках.

Тупо на втором запуске той же обработки - тип не определен и пипец
   Мойдодыр
 
80 - 18.10.16 - 15:03
(79) Типовая компонента работает или нет? так и не ответил
   Maniac
 
81 - 18.10.16 - 15:04
Нет не пробовал. что она даст? она наверняка тоже чисто клиенская
   Мойдодыр
 
82 - 18.10.16 - 15:05
нет, например компонента склонения
ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаСклоненияФИО", "Decl");
   Мойдодыр
 
83 - 18.10.16 - 15:05
Да штрихкоды тоже не клиентская компонента
   Maniac
 
84 - 18.10.16 - 15:05
УстановитьВНешнююКомпоненту даже на сервере работать не будет.

Это передача ее на клиент чтобы дальше на клиенте подключать.

А у нас компонента всегда на сервере. Других методов кроме как ПодключитьВнешнююКомпоненту просто нет.
Она сразу из макета подключается с результатом истина.
   Maniac
 
85 - 18.10.16 - 15:06
(83) она скорее всего COM
   Мойдодыр
 
86 - 18.10.16 - 15:06
сеансовые данные пробовал чистить?
   Мойдодыр
 
87 - 18.10.16 - 15:07
(85) Если тебе не нужна помощь, то ладно
   Maniac
 
88 - 18.10.16 - 15:09
(86) а как это делать то?
Я б с удовольствием как то чистил - но не понятн окак это делать.

У меня и есть подозрение что она кешируется на серваке.
Но тут есть особенность - обработка внешняя.
Человек может открыть и закрыть обработку.
Потом снова открыть.
   Maniac
 
89 - 18.10.16 - 15:09
Можно было бы типа создать глобальную переменную с подключением компоненты. Но ситуация такая что все это без изменения конфигурации.
   Мойдодыр
 
90 - 18.10.16 - 15:09
конечно кэшируется
   Maniac
 
91 - 18.10.16 - 15:10
(90) и как этот кеш очистить. при закрытии обработки она продолжает висеть видимо
   Garykom
 
92 - 18.10.16 - 15:16
(89) 1.Выясни что такое серверный сеанс в понятии 1С и когда он заканчивается.
2. Проверь что обработка при закрытии сеанса и новом запуске прекрасно снова подключает ВК.
3. Поэтому если просто закрыли обработку (не закрывая сеанс) то логично что ничего подключать не нуна... уже в кеше оно.
   Garykom
 
93 - 18.10.16 - 15:17
(58) сорри за демпинг (92)
   Maniac
 
94 - 18.10.16 - 15:18
(92) так и есть - при перезапуске сервера снова работает.
   Maniac
 
95 - 18.10.16 - 15:19
(92) да но нет метода чтобы проверить подключение.
Просто путо нет ни одного типового метода - проверяющео подключена ли уже компонента или нет.

Я тупо не могу никакого условия найти.
   Мойдодыр
 
96 - 18.10.16 - 15:20
Попытка создать нужный объект
   Maniac
 
97 - 18.10.16 - 15:21
(96) не помогает, так как всегда подключает ее
   Garykom
 
98 - 18.10.16 - 15:26
(95) Пиши свой код используя ПередЗакрытием() и сохранение данных
   Serginio1
 
99 - 18.10.16 - 15:40
(84) УстановитьВНешнююКомпоненту  нужна что бы распаковать зип архив м выбрать библиотеку под ОС с нужной разрядностью.

Проще сохранить DLL в нужной папке и вызвать ПодключитьВнешнююКомпоненту с нужным путем.

 И перед каждым Новый("AddIn.XLS.XLS")
вызывать ПодключитьВнешнююКомпоненту
   Garykom
 
100 - 18.10.16 - 15:42
(99) проблема что если в сеансе "подключить" уже вызывали то повторно после закрытия и нового открытия формы это не нуна
  1  2   

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