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

Я обычно про фильмы не пишу, но просмотрев этот фильм решился отписать. Услышав рекламу по радио, что мол, просмотри фильма меняет мировоззрение взял под руку лубимую девушку и потащил ее в кинотеатр.


24 сентября 2010 · Вопросы и ответы

Иногда возникает ситуация, когда в организации установлено несколько программ системы Клиент-Банк. Причин этому может быть несколько — несколько организаций или несколько расчетных счетов у одной организации. Раньше ключи хранились на дискетах, однако сейчас большинство организаций хранят ключи на флэшках или других носителях. В итоге, если мы имеем несколько клиент-банков, то нам необходимо хранить несколько Flash […]


Метки

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

Как подключить 1с 8 к 1с 7.7 через OLE

Автор статьи: , 27 мая 2010 в рубрике . Метки: , , . Просмотров: 19 055

Давно не писал обмены данными между базами данных. Подзабыл как это делается :-).

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

Итак, цель — подключиться к 1с 7.7 из 1с 8 с помощью внешней обработки, вытащить какие-то данные из семерки.

Создаем внешнюю обрабтку в восьмерке

epf Как подключить 1с 8 к 1с 7.7 через OLE

Создаем внешнюю обработку в 1С8


На форму добавляем поля Путь к базе, Пользователь, Пароль, а так же кнопу Подключиться

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

forma Как подключить 1с 8 к 1с 7.7 через OLE

Создаем элементы формы

На кнопку Путь к базе вешаем код для того чтобы выбор каталога, в котором находится база 1с 7.7 был интерактивным.

connect Как подключить 1с 8 к 1с 7.7 через OLE

Выбираем базу-источник


Процедура ИмяФайлаНачалоВыбора(Элемент, СтандартнаяОбработка)
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
Диалог.Заголовок = "Укажите путь к базе ...";
Если Не Диалог.Выбрать() Тогда
Возврат;
КонецЕсли;
ПутьКБазе = Диалог.Каталог;
КонецПроцедуры

А на кнопку Подключиться код

Процедура ПодключитьБазу()
База="";
База=Новый COMОбъект("V77.Application");
Попытка
СтрокаПодключения = "/D"""+СокрЛП(ПутьКБазе)+""" /N"""+СокрЛП(Пользователь)+""" /P"""+СокрЛП(Пароль)+"""";
Открыта=База.Initialize(База.RMTrade,СтрокаПодключения,"NO_SPLASH_SHOW");
Если Открыта Тогда
ЕстьПодключение = Истина;
Иначе
Предупреждение("Ошибка при подключении!");
ЕстьПодключение = Ложь;
КонецЕсли;
Исключение
Предупреждение("Ошибка при подключении!");
ЕстьПодключение = Ложь;
КонецПопытки;
КонецПроцедуры


Ключевыми переменными здесь является СтрокаПодключения, в которой мы передаем параметры запуска 1с 7.7

Если ошибок не возникло, значит база 1с 7.7 подключена успешно и мы можем обращаться к ее объектам через объект База

Например создадим на форме таблицу значений и заполним ее данными из подключенной базы. Мне конкретно нужна информация о приходных кассовых ордерах (ПКО).

Для этого добавляем кнопку ( в моем случае — Заполнить) и вешаем на нее процедуру:


Процедура ЗаполнитьТаблицуПараметров()
ПКО = База.CreateObject("Документ.ПКО");
ПКО.ВыбратьДокументы(НачДата,КонДата);
Пока ПКО.ПолучитьДокумент() = 1 ЦиклНоваяСтр = ТЗ.Добавить();
НоваяСтр.ТипДок = "ПКО";
НоваяСтр.НомерДок = ПКО.НомерДок;
НоваяСтр.ДатаДок = ПКО.ДатаДок;
НоваяСтр.Контрагент = СокрЛП(ПКО.Контрагент.Наименование);
НоваяСтр.Код7 = СокрЛП(ПКО.Контрагент.Код);НоваяСтр.Сумма = Число(ПКО.СуммаВзаиморасчетов);
КонецЦикла;
КонецПроцедуры

Результатом будет заполнение Таблицы необходимыми нам параметрами, в моем случае это Номер Документа (ПКО.НомерДок), Дата документа (ПКО.ДатаДок), Наименование контарента (СокрЛП(ПКО.Контрагент.Наименование)), Код контрагента (ПКО.Контрагент.Код) и сумма приходника (ПКО.СуммаВзаиморасчетов).

zapoln Как подключить 1с 8 к 1с 7.7 через OLE

Заполненная таблица значений

Таким образом мы можем вытаскивать из базы — источника любые данные и даже выполнять в ней запросы.

Например мне необходимо сопоставить контарагентов в 7ке и 8ке. Для этого я создаю дополнительный реквизит в 7.7, где будет храниться восьмерошный код контрагента.

При заполнении табличной части считываем год из источника, выбираем элемент справочника Контрагенты, который соотвествует ему в в 8ке (для этого в таблице значений добавил дополнительное поле (Контрагент8).

kontr Как подключить 1с 8 к 1с 7.7 через OLE

Выбираем контагента

И пишем в источник код элемента справочника Контрагенты (который выбрали только что) нажатием Заполнить коды 7.7, повесив на нее процедуру:


Процедура ЗаполнитьКодыВ77(Кнопка)
Для Каждого ТекСтрока Из ТЗ Цикл
Если СокрЛП(ТекСтрока.КодКонтр) = "" Тогда
Продолжить;
КонецЕсли;
ОлеКонтр = База.CreateObject("Справочник.Контрагенты");
ОлеКонтр.ВыбратьЭлементы();
ОлеКонтр.НайтиПоКоду(ТекСтрока.Код7);
ОлеКонтр.Код8 = Текстрока.КодКонтр;
ОлеКонтр.Записать();
Сообщить("Изменен код для " + ОлеКонтр.Наименование);
КонецЦикла;
КонецПроцедуры

save Как подключить 1с 8 к 1с 7.7 через OLE

Записали информацию в базу - источник

Все готово. Код записан в 1с 7.7 базу — источник.

Общие принципы такие.




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

Классная статья. Хочу решить подобную задачу.Проблема в том, что база, к которой я хочу подключиться, лежит на удаленном компьютере. Как настроить соединение с этой базой — ума не приложу. Может подскажете, как это сделать?

Ответить

admin Reply:

Удаленные компьютер — он в твоей локальной сети? Если да, то проблем нет — расшаривай папку с базай и подключайся на здоровье.

Ответить

Это бы все было так просто… Нет, это реально удаленный комп в интернете. Я работаю с базой на том компе через удаленный рабочий стол. Хочу соединяться с той базой «тихо», через OLE. Т.е имею ip того, компа, пароль на доступ к нему, директорию в которой лежит база. База, к которой надо соединиться -Торговля 9.2 + SQL.Как это сделать?

Ответить

В теории точно также.
Не практике интернет бывает нестабильным и низкоскоростным…
А тебе надо только считывать информацию или еще и писать в базу?

Ответить

Нужно только считывать, интернет-канал толстый, проблем со скоростью нет.Я так понял, что директория, где лежит база, должна быть расшарена для интернета? Если это так, то как нужно расшаривать и как  будет выглядеть примерный путь до базы?

Ответить

Честно говоря не знаю, по идее для интернета все должно быть расшарено точно так как для локалки.
Как вариант можно использовать Hamachi — бесплатная программа для организации локальной сети через интернет. В этом случае даже «белый» IP не нужен.
Сам использую Hamachi для подключения к «терминалке» клиентов,  у которых нет внешних IP адресов.
Работает отлично. Даже медиаплеер видит компы клиента, которые находятся на другом конце города.
Про хамачи — http://extremallife.ru/work/program/homachi-network

Ответить

Что такое Hamachi я знаю, это реально хорошая идея, спасибо за подсказку, наверное так и попробую.

Ответить

За статью спасибо, но для каждой строки в цикле создавать экземпляр справочника это феерично)) Вот это:Для Каждого ТекСтрока Из ТЗ ЦиклЕсли СокрЛП(ТекСтрока.КодКонтр) = «» ТогдаПродолжить;КонецЕсли;ОлеКонтр = База.CreateObject(«Справочник.Контрагенты»);ОлеКонтр.ВыбратьЭлементы();

Ответить

А если база находиться в Серверном варианте этот способ прокатит?

Ответить

Дмитрий Reply:

Здравствуйте, прочитал ваше сообщение на сайте по поводу того как подключиться к серверной базе 7.7 SQL через OLE? меня тоже давно мучает этот вопрос, я слышал, что нужно дополнительно указывать имя сервера и имя базы SQL? но пока ответа так и не нашол. Вы уже разобрались с данным вопросом? Подскажите пожалуйста, если ответ нашли. Спасибо.

Ответить

Спасибо за пример.Вопрос:  как вытащить из 1с7.7 в 1с8  ПЕРИОДИЧЕСКИЙ реквизит?Возможно проблема в том, что формат даты в 8ке отличается от формата даты в 7ке…

Ответить


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

*

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

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

Комментарии

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

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

Ссылки