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

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

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

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

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

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

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

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

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

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

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

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

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

спасибо!
Подскажите, а где можно почитать про "в 1с 8 все есть "из коробки"..."?
...
Рейтинг: 0 / 0
1c 7.7 файловая БД копирование данных в БД SQL
    #39152339
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 8-ке есть готовая функция - ПолучитьСтруктуруХраненияБазыДанных() и обработки на ее основе которые показывают все вплоть до индексов. но это имеет смысл только для базы на sql. файловая 8-ка вся в одном файле по сути.
...
Рейтинг: 0 / 0
1c 7.7 файловая БД копирование данных в БД SQL
    #39152447
Bladeless
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное за помощь!
Ну и последний вопрос: если перевести базу 1с"ки на SQL сервер, будет ли проще настраивать переток части нужных данных в другую БД?
...
Рейтинг: 0 / 0
1c 7.7 файловая БД копирование данных в БД SQL
    #39152464
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-скрипта) ..
...
Рейтинг: 0 / 0
1c 7.7 файловая БД копирование данных в БД SQL
    #39152465
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BladelessСпасибо огромное за помощь!
Ну и последний вопрос: если перевести базу 1с"ки на SQL сервер, будет ли проще настраивать переток части нужных данных в другую БД?

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

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

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

1. application весьма медленная и избыточная штука - в 8-ке слава аллаху есть web-сервисы
2. работа с апликейшен гиморойная - надо понимать как работает 1с, писать код на ней, туда/обратно ходят только примитивные типы
...
Рейтинг: 0 / 0
1c 7.7 файловая БД копирование данных в БД SQL
    #39152501
Bladeless
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
1c 7.7 файловая БД копирование данных в БД SQL
    #39152539
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
1c 7.7 файловая БД копирование данных в БД SQL
    #39152555
Bladeless
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное вы мне очень помогли!
...
Рейтинг: 0 / 0
1c 7.7 файловая БД копирование данных в БД SQL
    #39153101
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BladelessАга. Значит используя ADO можно записывать данные на SQL сервер.
А как узнать, что и где хранится в 1с"ке?
Есть ли удобные скрипты, которые покажу где что лежит и как связано?
Как правильно прочитать структуру БД 1с?не не не!
не надо так!
Злой БобрДБФ - Конфигуратор - Выгрузить данные
Скуль - Конфигуратор - Загрузить данныеЭто значит, что надо открыть конфигуратор в файловой 1С 7.7 и создать дамп базы в меню Администрирование - Выгрузить данные.
Должен получиться файл .dat

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

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

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


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