Я думаю, что в случае обмена 1С и EXCEL вариант: Данные - Импорт - из 1С не пройдет. 1С в конечном счете - это то же набор таблиц, но доступ к ним есть только у самой платформы 1С средствами встроенного языка 1С. Я не могу сказать на 100%, но помоему из вне к ним доступа нет.
Поэтому миграция данных всегда будет идти по пути 1С - > EXCEL а не наоборот...
Я думаю, что в случае обмена 1С и EXCEL вариант: Данные - Импорт - из 1С не пройдет. 1С в конечном счете - это то же набор таблиц, но доступ к ним есть только у самой платформы 1С средствами встроенного языка 1С. Я не могу сказать на 100%, но помоему из вне к ним доступа нет.
Поэтому миграция данных всегда будет идти по пути 1С - > EXCEL а не наоборот...Pawlick
Пусть не так. Есть возможность к 1С обратить внешний SQL-запрос? Или макросом извлечь информацию из таблиц? Мне кто-то говорил что это возможно, но было это очень давно и тогда меня это, к сожалению, не интересовало...
Цитата (Pawlick)
Данные - Импорт - из 1С не пройдет
Пусть не так. Есть возможность к 1С обратить внешний SQL-запрос? Или макросом извлечь информацию из таблиц? Мне кто-то говорил что это возможно, но было это очень давно и тогда меня это, к сожалению, не интересовало...Serge_007
Погоди, погоди... Что, к v8 разве уже нельзя стало подключаться по COM? По типу (пример был в v7):
[vba]
Код
Sub test()
Dim v7 As Object st = " /D" & """c:\1cv77\1sbdb\""" & " /N " & """Администратор""" & " /P" & """""" Set v7 = CreateObject("v77.Application") result = v7.Initialize(v7.RMTrade, st, "yes_SPLASH_SHOW") DoEvents If Not result Then MsgBox "Соединение с 1С не установлено!" Exit Sub End If
Dim spr As Object Set spr = v7.CreateObject("Справочник.Номенклатура") If spr.НайтиПоКоду("000000001", 0) = 1 Then Debug.Print spr.Наименование
Dim reg As Object Set reg = v7.CreateObject("Регистр.ОстаткиТоваров") Else Debug.Print "Товар не найден!" End If
Set reg = Nothing Set spr = Nothing
Set v7 = Nothing
End Sub
[/vba]
Только приложение надо брать соответствующее (v8./v81./v82.), да объект базы знать.. Вроде как всё подключается, и через .Application, и через .COMConnector
Ну и , соответственно, для объектов 1C использовать уже имена из её объектной модели (ну и подходы соответствующие, типа построения запроса как в 1С-ке, через | )
Погоди, погоди... Что, к v8 разве уже нельзя стало подключаться по COM? По типу (пример был в v7):
[vba]
Код
Sub test()
Dim v7 As Object st = " /D" & """c:\1cv77\1sbdb\""" & " /N " & """Администратор""" & " /P" & """""" Set v7 = CreateObject("v77.Application") result = v7.Initialize(v7.RMTrade, st, "yes_SPLASH_SHOW") DoEvents If Not result Then MsgBox "Соединение с 1С не установлено!" Exit Sub End If
Dim spr As Object Set spr = v7.CreateObject("Справочник.Номенклатура") If spr.НайтиПоКоду("000000001", 0) = 1 Then Debug.Print spr.Наименование
Dim reg As Object Set reg = v7.CreateObject("Регистр.ОстаткиТоваров") Else Debug.Print "Товар не найден!" End If
Set reg = Nothing Set spr = Nothing
Set v7 = Nothing
End Sub
[/vba]
Только приложение надо брать соответствующее (v8./v81./v82.), да объект базы знать.. Вроде как всё подключается, и через .Application, и через .COMConnector
Ну и , соответственно, для объектов 1C использовать уже имена из её объектной модели (ну и подходы соответствующие, типа построения запроса как в 1С-ке, через | )AndreTM
Skype: andre.tm.007 Donate: Qiwi: 9517375010
Сообщение отредактировал AndreTM - Четверг, 16.05.2013, 06:37
Что, к v8 разве уже нельзя стало подключаться по COM?
Да, неверное как то можно. Но у меня как вы понимаете необходимости не было, поэтому ... И потом я сомневаюсь, что можно каким то образом сформировать полнофункциональный 1С-запрос через COM. Хотя...
Цитата (Serge_007)
чуть позже попробую их применить на практике
Если что спрашивайте, с объектной моделью помогу. Самому интересно.
Цитата (Serge_007)
Если что не получится напишу Вам на почту, ок?
Всегда пожалуйста, чем смогу.
Цитата (AndreTM)
Что, к v8 разве уже нельзя стало подключаться по COM?
Да, неверное как то можно. Но у меня как вы понимаете необходимости не было, поэтому ... И потом я сомневаюсь, что можно каким то образом сформировать полнофункциональный 1С-запрос через COM. Хотя...
Цитата (Serge_007)
чуть позже попробую их применить на практике
Если что спрашивайте, с объектной моделью помогу. Самому интересно.Pawlick
Сообщение отредактировал Pawlick - Четверг, 16.05.2013, 10:31
Так а чего там код-то? Коннект - как с любым другим COM-сервером, через создание объекта. А далее "1С Руководство разработчика" - изучать объектную модель, Конфигуратор в зубы - смотреть структуру той базы, с которой собираетесь работать... И лопатить тонны ссылок по поводу подходов, например.
Цитата (Serge_007)
А к чему картинка-то? Ни кода, ни комментов...
Так а чего там код-то? Коннект - как с любым другим COM-сервером, через создание объекта. А далее "1С Руководство разработчика" - изучать объектную модель, Конфигуратор в зубы - смотреть структуру той базы, с которой собираетесь работать... И лопатить тонны ссылок по поводу подходов, например.AndreTM
Skype: andre.tm.007 Donate: Qiwi: 9517375010
Сообщение отредактировал AndreTM - Четверг, 16.05.2013, 14:01