Гость
Форумы / [игнор отключен] [закрыт для гостей] / 1c 7.7 файловая БД копирование данных в БД SQL / 20 сообщений из 20, страница 1 из 1
21.01.2016, 12:27
    #39152171
Bladeless
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Здравсвуйте,

Есть 1с 7.7 которая использует файловую БД.
Необходимо настроить переток всех данных из 1ски на SQL сервер.
Подскажите как лучше это сделать? в каком направление копать?

З.Ы. Я в 1с"ке полный ноль
...
Рейтинг: 0 / 0
21.01.2016, 12:28
    #39152175
Злой Бобр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Bladeless,

ДБФ - Конфигуратор - Выгрузить данные
Скуль - Конфигуратор - Загрузить данные
...
Рейтинг: 0 / 0
21.01.2016, 13:48
    #39152250
Bladeless
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Подскажите а где находиться "ДБФ"?
Где в SQL menegment studio есть "конфигуратор" который умеет загружать эти данные?
...
Рейтинг: 0 / 0
21.01.2016, 14:12
    #39152277
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
BladelessНеобходимо настроить переток всех данных из 1ски на SQL сервер.

что значит переток? вам нужна часть инфы из базы dbf-ной 1С?

а то вам тут начали про миграцию dbf-ной 1С базы на SQL рассказывать
...
Рейтинг: 0 / 0
21.01.2016, 14:27
    #39152293
Bladeless
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Последний выдох ГПЖBladelessНеобходимо настроить переток всех данных из 1ски на SQL сервер.

что значит переток? вам нужна часть инфы из базы dbf-ной 1С?

а то вам тут начали про миграцию dbf-ной 1С базы на SQL рассказывать

Я хотел бы выгружать всю информацию из dbf-ной 1С.
да, миграция мне не подходит.
...
Рейтинг: 0 / 0
21.01.2016, 14:34
    #39152301
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
ищите 1с-ника, давайте ему схему башей базы и что вы хотите получить из базы. он вам через ado все по местам распихает
...
Рейтинг: 0 / 0
21.01.2016, 14:39
    #39152306
Bladeless
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Ага. Значит используя ADO можно записывать данные на SQL сервер.
А как узнать, что и где хранится в 1с"ке?
Есть ли удобные скрипты, которые покажу где что лежит и как связано?
Как правильно прочитать структуру БД 1с?
...
Рейтинг: 0 / 0
21.01.2016, 14:46
    #39152311
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
в 1с 8 все есть "из коробки"...

в 7.7 надо заниматься изыскательством (хотя может у кого-то есть и готовые скрипты)

http://1czone.ru/vopros/19-structura-1s77.html
http://www.script-coding.com/v77tables.html
...
Рейтинг: 0 / 0
21.01.2016, 15:00
    #39152322
Bladeless
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Последний выдох ГПЖв 1с 8 все есть "из коробки"...

в 7.7 надо заниматься изыскательством (хотя может у кого-то есть и готовые скрипты)

http://1czone.ru/vopros/19-structura-1s77.html
http://www.script-coding.com/v77tables.html

спасибо!
Подскажите, а где можно почитать про "в 1с 8 все есть "из коробки"..."?
...
Рейтинг: 0 / 0
21.01.2016, 15:12
    #39152339
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
в 8-ке есть готовая функция - ПолучитьСтруктуруХраненияБазыДанных() и обработки на ее основе которые показывают все вплоть до индексов. но это имеет смысл только для базы на sql. файловая 8-ка вся в одном файле по сути.
...
Рейтинг: 0 / 0
21.01.2016, 16:57
    #39152447
Bladeless
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Спасибо огромное за помощь!
Ну и последний вопрос: если перевести базу 1с"ки на SQL сервер, будет ли проще настраивать переток части нужных данных в другую БД?
...
Рейтинг: 0 / 0
21.01.2016, 17:07
    #39152464
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Последний выдох ГПЖ,

...если говорить о 7-ке, то можно вызывать ее встроенные функции и объекты из VB-script, в нем же создать подключение к SQL и пееркачивать полученный из 1с RecordSet(выборку) в SQL .. для этого нужно подключиться к 7-ке через объект V77.Application ...

примерно вот так

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Set base = CreateObject("V77.Application")
With base
result = .Initialize(.RMTrade, "/d f:\base1c\NashaFirma\ /Nuser /Ppassword","NO_SPLASH_SHOW")
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open("Provider=SQLOLEDB;Data Source=SERVANT1\SQLEXPRESS;Initial Catalog=Materials;User Id=kuku;Password=parol;")
Set Cmd = CreateObject("ADODB.Command")
Cmd.ActiveConnection = objConnection
Cmd.CommandTimeOut = 600

dStartDate = DateAdd("m", -2, Now)
dEndDate = Now()


	Set sQuery = .CreateObject("Query")
End With



объект Query - это уже запрос на языке 1с (только по-английски) ... В общем, все возможно, но нужно понимать 1с хоть чуть-чуть (или попросить 1с-ника написать запрос/отчет, а потом вызвать его из VB-скрипта) ..
...
Рейтинг: 0 / 0
21.01.2016, 17:08
    #39152465
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
BladelessСпасибо огромное за помощь!
Ну и последний вопрос: если перевести базу 1с"ки на SQL сервер, будет ли проще настраивать переток части нужных данных в другую БД?

ну если свербит желание лазить напрямую в базу - отчасти да... но до конца сей вопрос не решить без некоторых "соглашений" - например понятные юзеру значения перечислений есть только в словаре метаданных 1с, в базе только id... и еще пара моментов
...
Рейтинг: 0 / 0
21.01.2016, 17:08
    #39152466
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Последний выдох ГПЖ,

.. извините, не к тому обратился ... :)
...
Рейтинг: 0 / 0
21.01.2016, 17:15
    #39152483
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
carrotikесли говорить о 7-ке, то можно вызывать ее встроенные функции и объекты из VB-script, в нем же создать подключение к SQL и пееркачивать полученный из 1с RecordSet(выборку) в SQL .. для этого нужно подключиться к 7-ке через объект V77.Application

можно. но тут тоже есть "нюансы" хорошо вам известные

1. application весьма медленная и избыточная штука - в 8-ке слава аллаху есть web-сервисы
2. работа с апликейшен гиморойная - надо понимать как работает 1с, писать код на ней, туда/обратно ходят только примитивные типы
...
Рейтинг: 0 / 0
21.01.2016, 17:27
    #39152501
Bladeless
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
carrotikПоследний выдох ГПЖ,

...если говорить о 7-ке, то можно вызывать ее встроенные функции и объекты из VB-script, в нем же создать подключение к SQL и пееркачивать полученный из 1с RecordSet(выборку) в SQL .. для этого нужно подключиться к 7-ке через объект V77.Application ...

примерно вот так

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Set base = CreateObject("V77.Application")
With base
result = .Initialize(.RMTrade, "/d f:\base1c\NashaFirma\ /Nuser /Ppassword","NO_SPLASH_SHOW")
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open("Provider=SQLOLEDB;Data Source=SERVANT1\SQLEXPRESS;Initial Catalog=Materials;User Id=kuku;Password=parol;")
Set Cmd = CreateObject("ADODB.Command")
Cmd.ActiveConnection = objConnection
Cmd.CommandTimeOut = 600

dStartDate = DateAdd("m", -2, Now)
dEndDate = Now()


	Set sQuery = .CreateObject("Query")
End With



объект Query - это уже запрос на языке 1с (только по-английски) ... В общем, все возможно, но нужно понимать 1с хоть чуть-чуть (или попросить 1с-ника написать запрос/отчет, а потом вызвать его из VB-скрипта) ..

Интерестно.
Обьект вы создали, а можете привести пример как получить выборку(RecordSet) из 1с
...
Рейтинг: 0 / 0
21.01.2016, 18:01
    #39152539
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Bladeless
Интерестно.
Обьект вы создали, а можете привести пример как получить выборку(RecordSet) из 1с

... это из серии "чем дальше в лес, тем толще партизаны" ... Если вы знаете, как составлять запросы на 1с, тогда это имеет смысл ... Кроме того, как здесь уже сказали (и я с этим согласен), такой скрипт работать будет медленно, и не всегда надежно, поскольку база 1с может быть залочена, еще какие-то проблемы и т.д. ... но если хотите - вот пример выборки приходных накладных за период - скрипту 100 лет в обед, но оптимизировать его никто уж не будет, там надо использовать параметры и прочие правильные вещи .. :)

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
QueryText ="Период с '" & dStartDate & "' по '" & dEndDate & "';" _             
	& " sNumber = Document.ПриходнаяНакладная.НомерПриходнойНакладной;" _
	& " sKontragent = Document.ПриходнаяНакладная.Контрагент.Наименование;" _
	& " sGoods = Document.ПриходнаяНакладная.ТМЦ;" _
	& " sQuantity = Document.ПриходнаяНакладная.Кво;" _
	& " sUnit = Document.ПриходнаяНакладная.Ед.Наименование;" _                   
	& " sCenaBezNDS = Document.ПриходнаяНакладная.ЦенаБезНДС;" _
	& " sSumBezNDS = Document.ПриходнаяНакладная.СуммаБезНДС;" _
	& " sName = Document.ПриходнаяНакладная.НомерДок;" _
	& " sDate = Document.ПриходнаяНакладная.ДатаДок;" _
	& " Group sGoods;" _
	& " Group Document;"
	
With sQuery	
	If .Execute(QueryText) = 0 Then
		Set base = Nothing
		WScript.Quit
	End If

			
	While .Group(1) = 1
	While .Group(2) = 1
		ssGoods = Replace(.OrderValue(1), Chr(39), Chr(34))
		sKontr = Replace(.sKontragent, Chr(39), Chr(34))
		sQuant = Replace(CStr(.sQuantity), ",", ".")
		sCena = Replace(CStr(.sCenaBezNDS), ",", ".")
		sSum = Replace(CStr(.sSumBezNDS), ",", ".")
		arrDate = Split(.sDate, ".")
		ssDate = arrDate(2) & "-" & arrDate(1) & "-" & arrDate(0)
		
Cmd.CommandText="INSERT INTO MaterialsOut (kontragent, docname, docnum, ddate, tmc, kolvo,  tunit, cenaBezNDS, sumBezNDS)" _
 & " VALUES('" & sKontr  & "', '"  & .sName  & "', '" & .sNumber  _
& "', CONVERT(datetime,'" & ssDate  & "',102), '" &  ssGoods  & "', " & sQuant & ", '" &  .sUnit  & "', " & sCena & ", " _
& sSum & ")"
	Cmd.Execute()
	Wend
	Wend


End With
...
Рейтинг: 0 / 0
21.01.2016, 18:12
    #39152555
Bladeless
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Спасибо огромное вы мне очень помогли!
...
Рейтинг: 0 / 0
22.01.2016, 15:02
    #39153101
Владимир Лазурко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
BladelessАга. Значит используя ADO можно записывать данные на SQL сервер.
А как узнать, что и где хранится в 1с"ке?
Есть ли удобные скрипты, которые покажу где что лежит и как связано?
Как правильно прочитать структуру БД 1с?не не не!
не надо так!
Злой БобрДБФ - Конфигуратор - Выгрузить данные
Скуль - Конфигуратор - Загрузить данныеЭто значит, что надо открыть конфигуратор в файловой 1С 7.7 и создать дамп базы в меню Администрирование - Выгрузить данные.
Должен получиться файл .dat

Затем создать скульную базу 1С 7.7 и точно так же, штатным конфигуратором 1С 7.7 открыть эту базу и сохраненный прежде дамп загрузить в том же меню Администрирование - загрузить данные.

При необходимости во время выгрузки из файловой базы можете включить или отключить выгрузку пользователей 1С. Но лучше не отключать.
...
Рейтинг: 0 / 0
16.02.2016, 20:44
    #39172620
MKZM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1c 7.7 файловая БД копирование данных в БД SQL
Bladeless,

в 1 ске ноль. обратись знающим.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / 1c 7.7 файловая БД копирование данных в БД SQL / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]