Имя: Пароль:
1C
1С v8
Как запустить отладку внешней обработки в 1с 8.1 ?
0 AnisaL
 
01.02.13
14:17
Добрый день форумчане! Вопрос в теме в принципе
1 ДенисЧ
 
01.02.13
14:17
а в чём, в принципе, вопрос?
2 AnisaL
 
01.02.13
14:18
(1) Ну у меня не запускается отладка внешней обработки
3 stepan73
 
01.02.13
14:21
а запускаешь обработку как? уверен что и в конфе и в 1с один и тот же файл открыт?
4 SherifSP
 
01.02.13
14:22
(2) Обработка запускается в сеансе конфигуратора?
5 Alexey87
 
01.02.13
14:22
(3)ТС женского пола
6 SherifSP
 
01.02.13
14:24
Думаю запустила сначала 1С предприятие потом конфигуратор)
7 Идентификатор
 
01.02.13
14:24
(6) так то ж канает
8 SherifSP
 
01.02.13
14:24
(7) Как? оО
9 Идентификатор
 
01.02.13
14:25
+ ну если конечно из ошибки обработки вылезаешь в конфигуратор )
10 SherifSP
 
01.02.13
14:26
(7) Попробуй запустить конфигуратор, потом предприятие и отловить отладку)
11 stepan73
 
01.02.13
14:26
(6) Вариантов много :) Может на сервере не включена отладка, например...
12 Идентификатор
 
01.02.13
14:27
(10) я криво выразился) ты не правильно понял) сделал ты обраобтку, она где то вылетела с ошибкой, кнопочку конфигуратора клац в ошибке и все ок :)
13 AnisaL
 
01.02.13
14:27
(4) Ну, вообщем не так. Как открыть для отладки 1С Бух 2.0 в режиме обычного приложения, не управляемого? Если просто открываешь через 1С Предприятие,то в обычном получается, а через конф-р - управляемое
14 SherifSP
 
01.02.13
14:28
(13) Настройки)
15 AnisaL
 
01.02.13
14:29
(14) Какие?
16 Идентификатор
 
01.02.13
14:29
Сервис - параметры
17 Идентификатор
 
01.02.13
14:29
в конфигураторе
18 oleg_km
 
01.02.13
14:30
(13) В конфигураторе Сервис - Параметры, вкладка Запуск 1С:Предприятие
19 SherifSP
 
01.02.13
14:30
Закладка "Запуск 1С Предприятия")
20 oleg_km
 
01.02.13
14:30
(19) Я быстрее
21 Идентификатор
 
01.02.13
14:30
выбрать необходимый вариант :)
22 stepan73
 
01.02.13
14:33
(18) (19) Оба неправы :) точная надпись "Запуск 1С:Предприятия"
23 Идентификатор
 
01.02.13
14:35
(22) ну тогда все неправильны :)

В конфигураторе Сервис - Параметры, вкладка "Запуск 1С:Предприятия", вкладка "основные"
24 AaNnDdRrEeYy
 
01.02.13
14:50
(10) Открой для себя меню отладка - > Подключение, так же можно подключаться к сеансам других пользователей и фоновым задачам.

Для того что бы запустить в обычном режиме не нужно лезть в параметры а просто меню отладка -> Начало отладки, там все варианты запуска.
25 AnisaL
 
01.02.13
14:57
(24) Ну вот не получается никак у меня(, саму конфу могу отлаживать, а вот если открываю внешнюю обработку, сталю там точки останова в процедуре ПриОткрытии, не останавливается и все
26 AnisaL
 
01.02.13
14:59
Обработка эта называется - Панель телефонии.epf
Она при запуске пишет сообщение
"Не удалось подключить загрузить компоненту для связи с Asterisk
Не создать объект внешней компоненты для связи с Asterisk.{ВнешняяОбработка.ПанельТелефонии.МодульОбъекта(19)}: Тип не определен (AddIn.ROM-Asterisk)"
Пытаюсь ее отладить
27 alexkv_m
 
01.02.13
14:59
(24) + в режиме предприятия сервис-параметры-Системные-Отладка в текущем сеансе разрешена
28 AaNnDdRrEeYy
 
01.02.13
15:01
сохрани обработку в файл открой файл через меню файл открыть сначало в конфигураторе потом в предприятии. предприятие должно быть подключено к конфигуратору в режиме отладки.
Другие точки останова,в других модулях, срабатывают?
29 AnisaL
 
01.02.13
15:02
(28) Да, проверила, срабатывают
30 AnisaL
 
01.02.13
15:04
(28) Она и так у меня в файле сохранена? что еще раз сохранить?
31 etc
 
01.02.13
15:05
(0) путь к обработке открытой в конфигураторе должен быть такой же как и к открытой из режима "предприятие". А то бывает иногда что в конфигураторе откроешь через \\ИмяСервера\ИмяПапки\Обработка1.erf
а в предприятии через примепленый диск
Z:\Обработка1.erf
32 AaNnDdRrEeYy
 
01.02.13
15:05
Поставь точку останова на следующюю строку после строки
Процедура Приоткрытии() в 8.2 первая строка с именем процедуры не ловится отладчиком.
33 AaNnDdRrEeYy
 
01.02.13
15:06
(30) нет не надо, я думал ты ее из справочника внешнии обработки открываешь.
34 AaNnDdRrEeYy
 
01.02.13
15:07
ошибка может возникнуть и до процедуры ПриОткрытии() например в модуле объекта, код в самом низу модуля . просто в настройках поставь галочку останавливаться по ошибке он сам остановиться когда она возникнет
35 AnisaL
 
01.02.13
15:08
(33) а обработку обязательно в папку с базой закидывать?
36 AaNnDdRrEeYy
 
01.02.13
15:09
(34)+ еще дофига кода может выполняться до ПриОткрытии() например присозданиинасервере().
37 AnisaL
 
01.02.13
15:09
(32) Я уже 5 точек поставила во всех местах )
38 AaNnDdRrEeYy
 
01.02.13
15:09
(35) нет не обязательно.
39 AaNnDdRrEeYy
 
01.02.13
15:09
останавливаться по ошибке поставь.
40 НЕА123
 
01.02.13
15:10
Отладка-замер производительности.
ЗЫ.
Аллах даже не знает, какие файлы она открывает...
41 НЕА123
 
01.02.13
15:11
(39)+1
42 AnisaL
 
01.02.13
15:11
(40) Ну почему же, Аллах таки знает ;)) И я еще
43 AnisaL
 
01.02.13
15:17
(39) Дело в том, что это не ошибка, а просто сообщение. Дальше открывается эта обработка, проблема в том что я никак не могу в конфигуратор попасть, чтоб посмотреть почему этот тип не найден
44 AaNnDdRrEeYy
 
01.02.13
15:20
{ВнешняяОбработка.ПанельТелефонии.МодульОбъекта(19)}: Тип не определен (AddIn.ROM-Asterisk)"
да нет это ошибка (брошенное исключение если правильно)!! просто она в попытке обрабатывается.
поставь точку останова на 19 строку в модуле объекта
45 oleg_km
 
01.02.13
15:24
А это может быть обработка без кода (никогда не делал)?
46 AnisaL
 
01.02.13
15:25
(44) мля, я уже не могу(((, что за х.. никак не получается((
47 AnisaL
 
01.02.13
15:26
Вот текст

Попытка
       Телефония = Новый ("AddIn.ROM-Asterisk");
   Исключение
       Сообщить("Не создать объект внешней компоненты для связи с Asterisk."+ОписаниеОшибки());
       Возврат Ложь;
   КонецПопытки;
48 AnisaL
 
01.02.13
15:27
19 строка - Телефония = Новый ("AddIn.ROM-Asterisk");
49 AaNnDdRrEeYy
 
01.02.13
15:27
это точно 19 строка?
50 AaNnDdRrEeYy
 
01.02.13
15:28
вот на нее и ставь точку останова
51 AnisaL
 
01.02.13
15:28
(49) да
52 GANR
 
01.02.13
15:29
(47) Мне непонятно почему это должно работать

Синтаксис (вариант 1):
   Новый <Идентификатор типа>[(<Парам1>, <Парам2>, …)]

Параметры:
   Идентификатор типа
   Указывается идентификатор типа, значение которого создается.
   <Парам1>, <Парам2>, …
   После идентификатора типа в скобках могут указываться параметры, если они определены в конструкторах для данного типа. Допустимое количество параметров и их назначение указывается в описании конструкторов объекта.

Синтаксис (вариант 2):
   Новый(<Тип>[, <ПараметрыКонструктра>])

Параметры:
   Тип
   Имя типа или значение типа Тип

   ПараметрыКонструктора
   Массив параметров конструктора

Описание:
Оператор позволяет создать значение указанного типа. Допустим только для тех типов, для которых разрешено создание с помощью данного оператора (подробнее см. описание объектов языка).
Для прикладных объектов необходимо использовать функциональную форму оператора Новый (вариант 2), так как при проверке модулей в конфигураторе не определены типы для прикладных объектов.

Пример1:


СписокСохранения = Новый Структура;
ХранилищеДанных = Новый ХранилищеЗначения(СписокСохранения);

Пример2:


ТипЗначения = Тип("КвалификаторыСтроки");
Параметры = Новый Массив(2);
Параметры[0] = 20;
Параметры[1] = ДопустимаяДлина.Переменная;
КвСтр = Новый(ТипЗначения, Параметры);
53 AaNnDdRrEeYy
 
01.02.13
15:29
а вообще я тебе сразу скажу и без отладки почему не работает, у тебя компонента .ROM-Asterisk не зарегистрирована в системе.
все равно что ты поставиш точку что нет починить не получиться пока компоненту не установишь
54 AaNnDdRrEeYy
 
01.02.13
15:30
(52) да точно..
почему не новый COMобъект( ?
55 AnisaL
 
01.02.13
15:30
(53) а как ее зарегистрировать?
56 AaNnDdRrEeYy
 
01.02.13
15:32
а ты реально программист или бухгалтер?
57 GANR
 
01.02.13
15:32
58 AnisaL
 
01.02.13
15:34
(56) что за вопросы провакационные? какая разница кто я, я просто человек, занимающийся 1с-кой))
59 AaNnDdRrEeYy
 
01.02.13
15:34
и вот это
Сообщить("Не создать объект внешней компоненты для связи с
поменять на вот это
Сообщить("Не УДАЛОСЬ создать объект внешней компоненты для связи с

необязательно большими буквами, но все же симпотичней будет
60 GANR
 
01.02.13
15:35
(58) После (57) заработало?
61 AaNnDdRrEeYy
 
01.02.13
15:36
(58)просто стаж почти 4 года, обычно знания как отлаживать код появляются уже после месяца работы.
62 GANR
 
01.02.13
15:37
(61) Зависит от жизненных целей человека.
63 AnisaL
 
01.02.13
15:39
(61) эти знания у меня и были уже давно, просто с такой ситуацией не сталкивалась
64 zippygrill
 
01.02.13
15:41
(58) заниматся 1с-кой можно по разному :)
65 AaNnDdRrEeYy
 
01.02.13
15:44
ну так получилось COMОбъект создать или нет?
66 AnisaL
 
01.02.13
15:44
(64) ну вот объясните мне почему, ну почему каждый раз одно и тоже, стоит какой-то не тот вопрос задать, как все начинают, а
ты кем работаешь вообще? Нельзя ли уже без этих подколов, и так не получается(((
67 oleg_km
 
01.02.13
15:47
(47) Ну так а компонента установлена, вот эта AddIn.ROM-Asterisk. Должно быть ПодключитьВнешнююКомпоненту или ЗагрузитьВнешнююКомпоненту и сама компонента в виде dll есть в наличии?

И действительно, это компонента или COM
68 AaNnDdRrEeYy
 
01.02.13
15:48
тут не нужно уметь вопросы задавать нужно уметь правильно отвечать на наводяшие вопросы, Удалось создать COMОбъект?
69 AnisaL
 
01.02.13
15:49
(60) Нет, не заработало(
70 AnisaL
 
01.02.13
15:50
(68) нет не удалось(
71 AaNnDdRrEeYy
 
01.02.13
15:51
тогда regsvr32 делай для этой библиотечки если она есть у тебя конечно.

вот что такое regsvr32
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/regsvr32.mspx?mfr=true
72 zippygrill
 
01.02.13
15:51
(69) а что говорит код?
73 GANR
 
01.02.13
15:53
(66) Потому сразу видно отсутствие нывыка программирования, утяжеляющее процесс получения ответа на вопрос в (0).
(69) Тогда (57), (67) и (71).
74 oleg_km
 
01.02.13
15:53
(72) Я думаю нет такого класса, угадал?
75 AnisaL
 
01.02.13
15:54
(71) я только что пыталась сделать, пишет Возможно модуль не совместим с версией Виндовс, работающей на этом компе...
76 AnisaL
 
01.02.13
15:55
(72) да все тоже,
Не удалось подключить загрузить компоненту для связи с Asterisk
Не создать объект внешней компоненты для связи с Asterisk.{ВнешняяОбработка.ПанельТелефонии.МодульОбъекта(19)}: Ошибка при вызове конструктора (COMобъект): Недопустимая строка с указанием класса: Недопустимая строка с указанием класса
77 AaNnDdRrEeYy
 
01.02.13
15:56
теперь будем телепатировать какая же там версия виндовс
78 AaNnDdRrEeYy
 
01.02.13
15:56
(74) угадал
79 AnisaL
 
01.02.13
15:57
(77) Сервер 2008
80 AaNnDdRrEeYy
 
01.02.13
15:58
у тебя база файловая или серверная? ты прям на сервере отладкой занимаешся? этот код выполняется на клиенте или на сервере?
81 AaNnDdRrEeYy
 
01.02.13
15:59
если база серверная и код выполняется на сервере то библиотечка должна быть на сервере, если база серверная а код выполняется на клиенте то библиотечка должна быть на клиенте, если база файлова я то на том компе где запускаеш 1С
82 AnisaL
 
01.02.13
16:05
(80) Серверная
83 AnisaL
 
01.02.13
16:07
(80) Вот эта процедура
Функция ИнициализироватьТелефонию() Экспорт;
   // кроме веб-клиента
   #Если ВебКлиент Тогда
       Возврат Ложь;
   #КонецЕсли
   
   Причина="";
   Попытка
       Телефония = Новый COMобъект("AddIn.ROM-Asterisk");
   Исключение
       Сообщить("Не создать объект внешней компоненты для связи с Asterisk."+ОписаниеОшибки());
       Возврат Ложь;
   КонецПопытки;
   
   Возврат Истина;
КонецФункции // ИнициализироватьТелефонию
84 AnisaL
 
01.02.13
16:07
(81) а как узнать где этот код выполняется?
85 AnisaL
 
01.02.13
16:08
(81) Ну мы работаем в терминальном режиме, и там я отлаживаю код
86 oleg_km
 
01.02.13
16:11
(84) Вставь Сообщить(ИмяКомпьютера())

Для начала неплохо бы определиться, есть ли эта компонента: AddIn.ROM-Asterisk, это должна быть некая dll или целая инсталяция чего-то, во что входит эта dll. Затем неплохо было бы разобраться это внешняя компонента 1С или COM-сервер. Затем ее нужно зарегать, Если компонента 1С то командами 1С, если COM то regsvr32. Вот потом идти дальше
87 AnisaL
 
01.02.13
16:12
(86) Эта dll есть, называется ROM-Asterisk.dll
88 oleg_km
 
01.02.13
16:14
(87) О, это уже что-то. Это COM или внешняя компонента 1С?
89 oleg_km
 
01.02.13
16:15
(87) что скажет regsvr32 ROM-Asterisk.dll?
90 oleg_km
 
01.02.13
16:19
Судя по AddIn. это скорее всего внешний компонент. Тогда в (83) для полного счастья не хватает:

ПодключитьВнешнююКомпоненту или ЗагрузитьВнешнююКомпоненту после можно будет сделать        
Телефония = Новый "AddIn.ROM-Asterisk");
91 ИС-2
 
naïve
01.02.13
17:56
(26) отладка -> остановка по ошибке по может
92 oleg rizvanov
 
13.02.13
01:01
ROM-Asterisk.dll - саморегистрирующаяся ВК.
При первом запуске под Win2008/Win7 нужно запустить 1С из-под админа. В свойствах ярлыка запуска 1С поставьте флаг "Запуск с правами администратора". Не помню точно, как этот флаг обзывается.
После этого ВК зарегистрируется и будет доступна для методов ЗагрузитьВК и ПодключитьВК
93 AnisaL
 
13.02.13
08:02
(92) Да, спасибо ) мы так и сделали)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.