#0
by necro
В глобальном модуле две переменных: ком-соединение и оле-соединение, создаются в ПриНачалеРаботыСистемы, обнуляются в ПриЗавершенииРаботыСистемы; доступ к ним организован через функции СоздатьСоединение, которые возвращают существующее соединение, либо создают новое, если его нет. 1с77 падает при завершении работы системы (уже после того, как закрылось окно программы); если ОЛЕ соединение инициализировать непосредственно перед использованием а потом сразу обнулять, падает значительно реже (но и работает соответственно дольше), однако всё равно иногда падает. У кого-нибудь есть предположения, как это побороть?
#3
by necro
на скриптовом языке сложно что-нибудь эдакое напрограммировать, чтобы программа падала, я даже не знаю, как мне это удалось
#4
by Кирпич
наверное ссылок наплодил. восьмерка закрылась, а ссылки в семерке остались. ну это так. предположение.
#5
by necro
так каждый раз перед вызовом какого-то метода: если последнее не сделать, то если было ОЛЕ соединение, то после исчезновения окна 1С появляется сообщение об ошибке, если делать - то то же самое, но не каждый раз
#7
by necro
ну как же, процедурки разнообразные из модуля внешнего соединения восьмерочной базы вызываю, передаю туда исключительно строки, на том конце выполняются несложные запросы к справочникам (вроде найтипокоду) и проводится простейший документ. там и кода-то особого нет.
#10
by Кирпич
а после каждого Соединение = cntr.Connect(давКарты_СтрокаПодключения); делать Соединение = 0 пробовал?
#12
by necro
так получится на каждый вызов новое соединение, это слишком долго, поэтому хранится глобальная переменная с соединением
#16
by necro
cntr вообще локальная переменная в той функции, которая создает соединение, она по идее должна всё-таки успеть обнулиться до выхода из программы
#18
by necro
но я так понимаю от неё наоборот нуцжно как можно быстрее избавиться, вся работа идет через Соединение же а не через cntr
#19
by necro
вот сейчас никак не могу воспроизвести ошибку - не падает. наверное от фазы луны зависит.
#20
by Кирпич
ну если ты в документации проичтал, что от этой переменной надо быстрее избавиться, то это - да, понимание. а так, это не понимание, это фантазии.
#21
by Кирпич
"наверное от фазы луны зависит" а фазы луны - это обычно операторы ветвления в наших программах :)
#22
by necro
в документации я ничего про порядок удаления переменных не видел, наверное потому, что подразумевается что в скриптовых языках ничего удалять не надо. А фантазия подсказывает, что раз переменная cntr больше не для чего не нужна, то она не нужна. Соответственно в отличие от самого соединения она локальная в функции и по идее при выходе из функции должна удалиться сама, не сохранять же мне её про запас.
#23
by Кирпич
я чота вообще не понимаю как у тебя Соединение получается посмотрел в хелпе // Пример приводится на языке MS Visual Basic: Dim connector As Object Set connector=CreateObject("V82.Application") result=connector.Connect("File=c:InfoBasesTrade;Usr=Director;")
#25
by Кирпич
Возвращаемое значение: Тип: Булево. Истина - инициализация прошла удачно, Ложь - в противном случае.
#27
by necro
а, так это если Application - то булево, а если V82.ComConnector, то в ответе как раз соединение
#29
by necro
у меня оба. но Application я в результате стал создавать непосредственно перед использованием и сразу после этого обнулять, и вообще он подозрительный какой-то
#32
by necro
никакие объекты из ИБ 1С8 не возвращаются и в неё не передаются, так что на них ссылок нет
#33
by Кирпич
ну у тебя в примере уже две ссылки (СпрКонтрагенты и Выборка) вобщем cntr делай глобальной и убивай при закрытии. т.к. больше кода нету, то и гадать больше нечего.
#36
by necro
кхм. запустил это безобразие у клиента, там две семерочные торговли к моей восьмерке коннектятся. Обе (ОБЕ!) упали с первого же вызова функции из модуля внешнего соединения (передаем в восьмерку строку и получаем в ответ Соответствие, у которого все элементы - строки). После перезапуска одна нормально заработала, вторая не запускалась вообще еще полчаса. Отладчик вывел в ПриОткрытии обработки FR_COMM. Фискального регистратора на рабочем месте нет. Отключил его в настройках. В процессе пока пытался запустить базу которая не запускалась, тестировал ту, которая запускалась. При мне работало. Кроме того, платформа запускалась 25-го релиза, исправил на 27. Не знаю, есть ли во всем этом взаимосвязь, ведь и у меня на компьютере падало, но у меня всё же в основном при использовании V82.Application, а там я оставил только V82.COMConnector.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Проблемы с работой через OLE, запуск функции через OLE
- v7: v7 : НДС при возврате
- 1c77 и 1с8!Нужно загрузить данные СЗВК из 1с77 ЗиК в 1с8 УПП! Есть какие-нибудь
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- Обращение из 1С77 к 1С8 через OLE и перебор документов ?
- Не могу из v7 подключиться v7 к через OLE
- v7: Как урезать базу 1с77 бюджетной бухгадтерии не используя свертки
- Запуск через ярлык 1С8.2 базы 1С8.1
- v7: 1С V7.7 в сети
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
В этой группе 1С
- 1c 8.2 Подключение двух сканеров на одном компьютере
- v8: Поменять цветфонаформы (8.1)
- Номер строки в остатках регистра накопления
- Как задать в запросе фильтр по папке с подпапками
- Обмен УНФ и БП
- Снова о тормозах. УПП, мощный сервер, около 50 юзеров
- Склонение должностей
- Регистр накопления ТоварыКПоступлению
- Копирование сохранённых настроек отчетов скд
- Ут 11 регистры накопления СебестоимостьТоваров и ТоварыНаСкладах
- РИБ, обмен данными, проблема с защищеными модулями
- Конвертация Данных. Порядок выгрузки объектов.
- Рассчеты по счету 76.05 Как вести учет?
- v8: Типовая УПП. Установить доступ только для чтения
- Резка лог - файлов
- Служба агента сервера 1с запускается, но не работает.
- УТ10.3 Добавить имя продавца-консультанта в чек. Поделитесь советом,как сделать?
- Как сохранить в Excel отчет о сравнении файлов ?
- Не отражаются начисления Больничного листа в Расчетной ведомости 1с ЗУП 8.2
- ЗуП каким отчетом можно вывести список сотрудников и их оклады?