Как из 1с 8 подключиться к 1с 7
Возможно такое? У объекта "ODBCDatabase" есть метод УстБД(), насколько я понял, он позволяет подключиться из текущей БД к любой другой, помимо родной, БД 1С. Вопрос только, как именно это сделать? Предположительно, подключение возможно как к файловой, так и к SQL-базе.
(6) Не вижу, где в примере используется переменная "Соединение"
+(7) Пробовал в метод ПрисоединитьИБ() в качестве параметра передать строку соединения, выдается ошибка:
Ошибка загрузки метаданных
(9) Такой вариант вроде пашет.
А вот для скульной базы почему-то (1), (2) и (3) - не работают. Когда использовал "ПрисоединитьИБ", ругался "Общая файловая ошибка при доступе к файлу users.usr". Поменял "ПрисоединитьИБ()" на "Открыть()" - соединение все равно не устанавливается. Какие еще м.б. варианты?
Делаю запрос к той базе, к котрой подключился.
(13) Странно. Когда делал тот же самый запрос непосредственно в родной скулевой базе, то никаких битых ссылок в результат не попадало.
(13)
А ты думал?
Ты же тянешь данные из ЧУЖОЙ базы, и пытаешься, чтобы 1С их типизировала в значения РОДНОЙ базы. Так не получиться, тащить из чужой базы можно только "сырые" данные, строки, числа, даты. Типизация не сработает.
(16) не подумал..что то не прочитал что это запрос к другой базе
(16) Так это битые ссылки или что? Я же говорю, некоторые доки имеют нормальный вид, некоторые - см. (12)
(18) "некоторые доки имеют нормальный вид"
не верь глазам своим.
типизация "чужих" ссылок невозможна.
(21) С данными родной базы? Интересно, как она то определяет, по номеру дока? Или по ИД?
Если все так, то и задача идет ф топку :( Но за информацию - все равно спасибо, думаю, в дальнейшем пригодится.
(23) Смотря какая задача. Ты же не объяснил. Объекты в понимании 1с ты не получишь, а вот всю информацию о них - легко.
В чем состоит задача? Спроси может найдутся знающие люди.
(25) Задача в том, чтобы юзеру вывалить на экран все документы из базы, к которой подключаемся, за заданный период в виде списка. Из них юзер отберет те, которые нужно загрузить в текущую ИБ, и вот с ними уже будет дальнейшая работа.
(26) Ну и зачем тебе тогда нужны ссылки?
Бери даты, названия документов и номера , показывай и пусть ставит галки.
По выбранным формируй список ИДД и по ним таким же запросом делай выборку.
Обрабатывая таблицы выборки создавай в своей базе нужные документы.
Тебе эта самая тема!
Всё будет очень быстро делаться.
(27) Сделал. В список СпДокументы поместил ИД отобранных доков. Сейчас выполняю второй запрос к базе, где в качестве условия выборки устанавливаю только эти, отобранные пользователем документы:
"SELECT
В результате возвращается пустая таблица, хотя в списке отобранных документов данные точно есть. В чем причина?
передавай строку с iddoc'ами, которую сформируешь из таблицы
(28) Временная таблица точно создается не пустая? Посмотрел?
(31) да, но пустую
(32) Из файловой подключаюсь к скуль-версии.
(35) Простите мое невежество, но что такое QA и как с ним работать? Просто раньше этой темы особо касаться не приходилось.
А в конфигураторе в парметрах базы данных SQL можешь глянуть?
Ты там вообще местный или пришлый?
(35) Он её не увидит, т.к. локальная временная таблица видна только в рамках одного @@SPID, а QA будет с @@SPID отличным от 1совского.
(43) Значит надо её делать самому без метода УложитьСписокОбъектов()
(42) Что именно там смотреть? "Сервер", "База данных", "Пользователь", "Пароль" - все, что там есть.
А ешё лучше изучать постепенно и на каждый выбранный документ посылать свой запрос. Тогда можно будет обойтись без временных таблиц. Скорость всё равно будет достаточной, а основные тормоза будут на проведении вновь созданных документов в своей базе.
а не проще ли просто написать "ВыполнитьИнструкцию(ТекстЗапроса,ТЗ,1)", где ТЗ- таблица значений ?
(45) На сервер где установлен SQL у тебя есть доступ?
Надо будет запустить там QA и посмотреть таблички базы данных
(45) Смотри (47), тебе это будет проще реализовать. Потом будешь оптимизировать (если захочешь)
(54) Что остальное?
(55) Да приведен он и так. Таблица все равно пустая.
Покажи весь код.
Как получаешь ИдДок из соседней базы?
Как накидываешь список?
Как даешь пользователю на отметку?
Как потом катишься по этому списку и берешь ИдДок в запрос?
Чё мы тут должны гадать-то?
(57) Поправочка: по одному доку все-таки работает, так что вариант в (52) в принципе применим. Хотелось бы, правда, красивее сделать.
(58) Ну вот, а то всё мама, да мама.
Красивее уже и сам сможешь. Ещё раз учти, что основные потери времени будут не на запросы к соседней базе, а на проведение вновь создаваемых документов в своей. Поэтому: а надо ли оно красивее конкретно тебе?
(58),(51) QA запускается через кнопку Пуск\Программы\Microsoft SQL Server\QueryAnalazer
У меня рабочий день заканчивается дальше пытай других.
(64) Стесняешься название произносить? Или не выговариваешь всех букв?
(66) Да нет, почему, просто многие знают уже, что такое "Столица мира". Собственно, Барнаул :)
(66) А-а. Я не знал, что она теперь туда переехала. Буду знать.
У меня там однокласник есть.
(69) Ну была и пусть дальше стоит. Мне и в моей деревне хорошо.
(59) Нашел решение, как вытащить из соседней БД только выбранные юзером доки ОДНИМ запросом.
Вместо "УложитьСписокОбъектов()" здесь нужно использовать предв. создание врем. таблицы.
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине.
Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)):
Код 1C v 8.2 УП
Разместил: E_Migachev Версии: | 7.x | 8.x | 8.2 УП | Дата: 10.04.2014 Прочитано: 45737
Похожие FAQ
Как заполнить табличную часть формы программно? 6
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Cодержимое указанного ниже веб-сайта в этом приложении блокируется. Aboutsecurity_1cv8c.exe 1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Посмотреть все результаты поиска похожих
Еще в этой же категории
Как найти документ по уникальному идентификатору через com соединение? 3
Потребовалось написать небольшую синхронизацию данных в дополнении к стандартной УТ-БП, нужно по уникальному идентификатору искать документы: Стандартное Соединение.Справочники.Номенклатура.ПолучитьСсылку(УИ); Выдает ошибку <Форма.Форма.Форма(301Работа с MySQL из 1С через ODBC 0
В статье описан процесс работы с MySQL базой из 1С через ODBC. Первое что следует обязательно учесть это версия драйвера, для того чтобы все корректно работало вам потребуется драйвер версии 3.51 (с драйвером 5-ой версии я пробился пол дня пытая Посмотреть все в категории COM-объекты, WMI, WSH
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине.
Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)):
Код 1C v 8.2 УП
Разместил: E_Migachev Версии: | 7.x | 8.x | 8.2 УП | Дата: 10.04.2014 Прочитано: 45738
Похожие FAQ
Как заполнить табличную часть формы программно? 6
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C медленно работает по сети с базой на SQL Server 20
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. П 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем 1С Предприятие что это? 11
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое Посмотреть все результаты поиска похожих
Способы подключения к 1С отличаются от версии платформы, а также других факторов, которые будут рассмотрены ниже.
Варианты подключения к 1С для 7.7
Через OLE
Используется объект V77.Application, не самый быстрый, но универсальный способ.
Пример:
Подключение напрямую к базе данных
Является альтернативным способом, для его осуществления требуется разбор таблиц, опираясь на файл 1Cv7.DD.
Способ позволяет очень быстро оперировать большими объемами данными, но требуется глубокая отладка таких подключений.
Пример рассматривать не будем, так как это объемная тема, а для большинства 7.7. уже прошлое.
Подключение к платформе 8.1, 8.2, 8.3
Совместимый вариант: Com-Соединение
Является аналогом OLE, принцип работы очень схож, но это более быстрая технология.
Пример подключения из 7.7 к 8.2
Пример подключения из 8.3 к 8.3
Примеры приведены в учебных целях, выдергиванием из готовых решений, код частично менялся, но должен быть работоспособен.
Web-сервисы
Пример работы (не получится проверить, показывает общую технологию подключения, создания объектов и обращения к методам сервиса)
Для отладки подключения рекомендую использовать приложение SOAPUi
- современная универсальная технология подключения к 1С и сторонним сервисам
- требуется доработка 1С
- управление данными для передачи
- требуется публикация на стороннем сервисе (в дальнейшем на сервер от 1С, Платформа 8.4)
Пример работы будет рассмотрен в отдельной статье
REST-интерфейс
Использовать автоматический стандартный интерфейс OData прикладного решения просто:
Более подробный обзор и примеры работы на сайте 1С
Заключение
Существует много способов подключения к 1С и из 1С.
Выбор любого производится анализом возможностей доработки, доступности базы из вне, наличием вэб-серверов, операционной системы
Читайте также: