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

В чем сила мужчины?.. Каков он, тот мужчина которого можно назвать сильным. Так вот я попробую описать… Сильный мужчина тот, который не поднимет руку на того кто слабее него. Сильный мужчина тот, который способен добиваться своего не физическим или моральным давлением на других, а развивая и двигая вперед самого себя. Сильный мужчина тот, который способен […]


31 марта 2009 ·

Сегодня с утрища получил задание прилепить к расходной накладной (Отгрузка товаров и продукции) печатную форму ТТН. Фирмочка бедет весь учет в 1С:Бухгалтерии, а стандартной ТТН ки там нет. Вначале взялся за переделку формы из ТиС, однако лениво оказалось что-то. Полез в инет — охренеть, за это еще и деньги берут…. Как не стыдно))) от 500 […]


Метки

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

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

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

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

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

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

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

Ссылки