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

Нас окружает множество женщин. Абсолютно разных и в чем то схожих. Какая женщина считается сильной, и в чем сила женщины? Может сила женщины в умении войти в горящую избу и остановить коня на полном скаку? Наверное все таки нет. Мои друзья считают по разному, и называют разные причины силы женщины.


Выехав на очередную тренировку на нашу знакомую недостроенную пятиэтажку пожрать шашлык мы с Совиком решили тряхнуть стариной и посоревноваться на скорость спуска. Эх тряхнул стариной ))) Устроили мини-соревнование — кто быстрее спустится. Опасность заключается в том, что в данном случае спуск осуществляется без страховки, чтобы страховочная веревка не замедляла движение. В принципе ничего страшного, но […]


Метки

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

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

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

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

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

Итак, цель — подключиться к 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 равно еще хуже Касперского . Иди в жопу с ним
  • просто_чайник: Не люблю этот антивирус. Заметил такую особенность. Если обновить базы в начале работы, довольно часто...
  • Елена: Самое главное. Файл для совместной работы открыть нельзя! Если надо что-то отредактировать — только...
  • Виктор: Поставили мне на работе эту замечательную программку. Работать невозможно, ужасные тормоза. Стали...

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

Ссылки