Последнее обновление: 23 мая 2015 в 14:58
Подпишись на RSS
rss Подпишитесь на RSS, чтобы всегда быть в курсе событий.
16 февраля 2009 · Железки

Вот понадобился мне дешовенький фотик. Чтобы быстро фотографировать интересные моменты в жизни, а так же для DozoRa. Профессионально фоторгафией я не занимаюсь, поэтому за магапикселями не гонюсь. Основныйм требованием для фотоаппарата у меня были — быстрая зарядка вспышки, чтобы оперативно снимать интересные моменты, и большое время автономной работы.


6 ноября 2012 · Новости

Не секрет, что программа 1С Предприятие на сегодняшний день является, пожалуй, самой эффективной для обеспечения ведения учета, проверки, процесса сбора,  консолидации, анализа аналитической, статической, а так же бюджетной отчётности. Мелкие и крупные компании предпочитают работать в системе 1С Предприятие по причине её надёжности и простоты в работе. Для того чтобы работать в 1С Предприятие не […]


Метки

Метки записей
office 2007 Автомобили удаляем пароли программы для слепых Drivers Свертка базы 1С печать от поставщика Вирусы СМС Программы для 1С скачать конвертер office 2003-2007 взломать пароль Работа Печатные формы Командная строка портативный аккумулятор Вся Отношения переустановка windows свертка торговли Методика свертки 1С Свертка по партиям Интренет Спорт Документы на почту Отчет День жестянщика партии Взлом 1 Подключить 1С к MySQL расчет ПЗД Проблемы Спутниковое ТВ сбились номера документов вирус эмулирует нажатие Win Экстремальные игры новости Мужчина и женщина XPE Жизнь 1с и MySQL сверка базы 1С Установка Windows Загрузка с компакт - диска Ошибки 1С свертка в картинках сертфикаты перенумарация Игры Windows XP Отзывы дравер MySQL скачать автозапуск Интересные места мошенничество реестр 1с реестр Взлом HP Pavilion dv6000 Оборудование Скачать 1С Анализ ПДЗ восстановить нумерацию просроченная дебиторская задолженность Взлом 1С Интернет Сайты Zver DVD вирус открыть xlsx docx Экономика ZverCD office 2003 Пошаговая свертка Свертка 1С Asus Eee перенос документов Oracle связь вирус SMS Драйвера Бухгалтерия антивирусы Новая форма счет-Фактуры удаление документов гаджеты homachi локальная сеть через интернет антивирус Деньги Программы LiveCD Dr.Web код защита Удаление партий Файлы 1С Оптимизация СМС оплата пакетный запуск 1С Фото автоматизация узнать пароль Вопросы Драйвер ODBC скачать редактирование DBF Добавить новую метку Юмор Делаем LiveCD Интерент сайт Финансы бесплатно Обработки свертка Альпинизм Система Лирика Структура 1С Армия jaws Кино контент-провайдер заблокирован Видео уменьшить размер базы Обзоры
10 августа 2010

Как отключить соединение OLE

Автор статьи: , 10 августа 2010 в рубрике . Метки: , , . Просмотров: 3 619

Сегодня писал одну задачку, робота 1с, который по графику должен подключаться к  удаленной базе через OLE, выбирать оттуда данные, а потом закрывать подключение и ждать времени следующего запуска.

В итоге столкнулся с несколькими проблемами, одна из которых — отключиться от удаленой базы. Обычно я даже не парился по этому вопросу, просто закрывал обработку и все, однако, это не правильно. Необходимо полностью отключаться.

Пробовал обнулять переменные, как советуют в интернете — не помогало, процесс 1С все равно оставался висеть в памяти.

dispetcher Как отключить соединение OLE

В диспетчере задач все равно висит сеанс 1С

Авторские права на предоставленный материал принадлежат автору сайта http://extremallife.ru

Тогда решил попробовать а почему бы не завершить работу системы, как и в локально базе… Ура, получилось.

Процедура Дисконнект()
   Сообщение("Отключаюсь от удаленной базы");
   Форма.СтрокаСостояния.Заголовок("Отключение...");

   Если БазаОткрыта <>  0 Тогда
     Попытка
       Оля.ExecuteBatch("ЗавершитьРаботуСистемы(0)");
     Исключение
       Сообщение("Не удалось отключиться");
     КонецПопытки;

     OLE_ОбъектБазы="";
     Оля="";
     БазаОткрыта =0;
     КонецЕсли;

Сообщение("Отключилась от удаленной базы");
Форма.СтрокаСостояния.Заголовок("Ожидание...");
КонецПроцедуры

Написал процедуру Дисконнект()

Которая как раз завершает работу удаленной базы с помощью стандартной команды.

Единственное, что еще необходимо сделать — это в настройках пользователя, под которым происходит подключение снять флаг «Запрашивать подтверждение при выходе из системы»

save Как отключить соединение OLE

Запрашивать подтверждение при выходе из системы

Кстати не путайте

Сообщение("Отключилась от удаленной базы");

от

Сообщить("123");

Сообщение — это я дописал еще мелкую процедуру, чтобы время выводила.


Процедура Сообщение(Текст)
Перем чч,мм,сс;
ТекущееВремя(чч,мм,сс);
Сообщить(Формат(чч,"Ч(0)2") + ":" + Формат(мм,"Ч(0)2") + ":" + Формат(сс,"Ч(0)2") + " " + СокрЛП(Текст));
КонецПроцедуры

ЗЫ. У меня возникла еще одна проблема, которую я так и не смог решить.
Как передать через V77.Application (ОЛЕ соединение) таблицу значений?

Дело в том, что мне необходимо вытаскивать из удаленной базы остатки на точку актуальности итогов (ТА) — делается очень легко, а главное быстро. Выгрузить эти итоги в таблицу значений на стороне удаленного компьютера — тоже проблем нет, а вот передать эту ТаблицуЗначений в локальную базу, или же выгрузить итоги в локальную таблицу у меня так и не получилось, пришлось перебирать все итоги. Может подскажет кто решение проблемы?




К записи "Как отключить соединение OLE" 12 комментариев

Кстати, если выгружать отчеты, данные в Excel файл, то этот файл тоже надо закрывать, иначе он остается в памяти и компьютер начинает жутко тормозить.
Это я так, вспомнилось.

Ответить

«в локальную таблицу» это в какую?

Ответить

Например
Т = Оля.Createobject(«ТаблицаЗначений»);
….
//Сформировали Т

ТТ = СоздатьОбъект(«ТаблицаЗначений»);

Как передать (выгрузить) Т в ТТ ?
Но не перебором.

Ответить

Т.Выгрузить(ТТ);вообщем так можно и загрузитьТТ.Загрузить(Т);

Ответить

у Выгрузить() параметры еще указать надо, в синтаксис помощнике найти можно

Ответить

Такой фокус через OLE не работает…
Если бы все было так просто))
Мне необходимл выгрузить итоги регистра в таблицу

Т = Оля.Createobject(»ТаблицаЗначений»);
ТТ = СоздатьОбъект(»ТаблицаЗначений»);

СкладОле = Оля.CreateObject(«Справочник.Склады»);
СкладОле.ВыбратьЭлементы();
СкладОле.НайтиПоКоду(СокрЛП(ВыбСклад));
РегОле=Оля.CreateObject(«Регистр.ОстаткиТМЦ»);
РегОле.УстановитьФильтр(,,СкладОле.ТекущийЭлемент(),);
РегОле.ВыбратьИтоги();

Далее в локальной базе
РегОле.выгрузитьИтоги(ТТ)
не работает, хотя работает так
РегОле.выгрузитьИтоги(Т)
но Т — это таблица в базе к которой подключаемся…

Мне надо сразу передать таблицу Т в ТТ или выгрузить итоги в ТТ

Ответить

ну тут даже не подскажу, не знаю четно =)

Ответить

Короче, пришлось делать так

Пока РегОле.ПолучитьИтог()=1 Цикл
    ТТТ.НоваяСтрока();  
…………………….
КонецЦикла;    
       

Ответить

Заполучить ТЗ/СЗ из ОЛЕ-контекста можно «в лоб» через ЗначениеВСтрокуВнутр (в оле-контексте, примененное к ТЗ оле-контекста), которое на «этой» стороне «вернуть взад» с помощью ЗначениеИзСтрокиВнутр().

Ответить

3aполучить ТЗ/СЗ из ОЛЕ-контекста можно «в лоб» через ЗначениеВСтрокуВнутр (в оле-контексте, примененное к ТЗ оле-контекста), которое на «этой» стороне «вернуть взад» с помощью ЗначениеИзСтрокиВнутр().

Ответить

2 Cthulhu
Спасибо за подсказку, попробую

Ответить

ТТ.Загрузить(Т)

Ответить


Оставить комментарий

*

Блог программиста 1С. Программирование 1С
Если Вас что-то заинтересовало или возникли вопросы, пишите.
petr@evseev.ru
Skype - evseev_petr
ICQ - 262808698

Сохраните меня в социальных сервисах

Комментарии

Присоединяйтесь к обсуждению
  • Леха: Мало того, что это говно-антивирус требует .Net Framework не ниже 4.0, так он еще пожирает ресурсы компьютера,...
  • tommy: AVG равно еще хуже Касперского . Иди в жопу с ним
  • просто_чайник: Не люблю этот антивирус. Заметил такую особенность. Если обновить базы в начале работы, довольно часто...
  • Елена: Самое главное. Файл для совместной работы открыть нельзя! Если надо что-то отредактировать — только...
  • Виктор: Поставили мне на работе эту замечательную программку. Работать невозможно, ужасные тормоза. Стали...

Избранное видео

Ссылки