gifts2017

SQL Перенос данных V7.7

Опубликовал shoorlo yak (shoorlo) в раздел Обмен - Перенос данных из 1С7.7 в 1C7.7

Позволяет быстро переносить данные между одинаковыми конфигурациями. В отличие от подобной (http://infostart.ru/public/14503/) позволяет переносить подчиненность документов и их ДВИЖЕНИЯ.
То есть перепроводить документы не нужно!
Также введена возможность для "нормализации" (проще говоря, сброса) реквизита журнала "IDDOC".

Позволяет быстро переносить данные между одинаковыми конфигурациями.

В отличие от подобной (http://infostart.ru/public/14503/) позволяет переносить подчиненность документов и их ДВИЖЕНИЯ.
То есть перепроводить документы не нужно!

Переносить ОБЯЗАТЕЛЬНО в чистую SQL - базу. Это обязательно для Бухгалтерских и комплексных конфигураций!

В файле "ReadMe.txt" описан весь процесс.  

Также введена возможность для "нормализации" (проще говоря, сброса) реквизита журнала "IDDOC".

Мало кому потребуется, но все же есть.

При установке "Отладка" тексты выполняемых запросов пишутся в каталог "debug" в папке "Diff_v1.8.7", в эту же папку пишется лог выполнения "logfile.txt".

Всем удачной работы!

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
SQLDataMove_v18.7z
.7z 311,04Kb
04.04.16
2
.7z 1.8.0.7 311,04Kb 2 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Хомяк (logarifm) 02.04.16 09:54
Даже не знаю, что и сказать. У СКЛ есть крутая штука - SSIS называется, советую попробовать...
2. shoorlo yak (shoorlo) 02.04.16 12:43
(1) logarifm, Здравствуйте.
Вы правы, у СКЛ есть не только это... Но
1. Это нужно изучать и писать "скрипты", что отнимет какое-то время, если ранее с этим не сталкивались. Вы предлагаете, практически, "стрелять из пушки по воробьям"?
2. Программулька делает все за несколько кликов мышкой. Это почти мастер переноса/обрезания данных. В зависимости от выбранных параметров.
Надеюсь ответил на Ваше замечание.

P.S.
Эта програмка давненько выкладывалась в варианте без переноса движений с исходниками, но была удалена мной из - за "критики".
3. Александр Хомяк (logarifm) 03.04.16 00:43
(2) shoorlo, А что мешает использовать конвертацию даных?
4. Владислав Чинючин (vcv) 03.04.16 08:11
(1) logarifm,
У СКЛ есть крутая штука - SSIS называется, советую попробовать...

Эта обработка позволяет "позволяет переносить подчиненность документов и их ДВИЖЕНИЯ". То есть смотрит на структуру данных в метаданных 1С, их зависимости и переносит. SSIS вряд ли вам удастся заставить смотреть в метаданные 1С. И поддерживать скрипты SSIS при изменении метаданных - задача ошибкоёмкая. Разве что сделать обработку 1С, которая готовит данные для SSIS...

(3) logarifm,
А что мешает использовать конвертацию даных?

От объёмов данных зависит. Конвертация 7.7 тормозная.
И не имеет возможности загрузки не типовой конфигурации в виде правил обмена.
5. shoorlo yak (shoorlo) 03.04.16 09:40
(3) logarifm, Здравствуйте.
Я настаиваю на определении "быстро".
6. Александр Хомяк (logarifm) 04.04.16 09:04
7. Владислав Чинючин (vcv) 04.04.16 11:37
(6) logarifm, В чем вас не убедили?
SSIS хорош и быстр. Но требует усилий на поддержку при обновлениях конфигурации 1С. И, по моему, далеко не так просто передать им из базы в базу документ с движениями. Как вы будете с помощью SSIS модифицировать различные таблицы итогов? В общем случае алгоритм миграции итогов такой:
- начинаем транзакцию;
- находим в базе назначения движения и итоги в добром десятке таблиц по движениям и измерениям, которые затрагивает передаваемый документ;
- считаем разницу старых и новых движений;
- модифицирует записи итогов на эту разницу.
Это вам не набор записей перегнать один-в-один.

Или вас не убедили в тормознутости Конфигурации данных 7.7? Уж поверьте, выгрузка/загрузка документа с несколькими тысячами движений по регистрам через КД может занимать минуты.
8. serpent Пентюхов С. Г. (serpent) 04.04.16 12:07
Вопросик... "Также введена возможность для "нормализации"", Нормализацию обязательно делать после переноса или нет???
9. shoorlo yak (shoorlo) 04.04.16 15:56
Подскажите люди добрые, как сделать раздачу файлов бесплатной?
Ну не получается у меня.

Сейчас готовится версия с полным описанием последовательности действий.
В саму програмку введено создание лога выполнения, как общего времени
так и по (каждой таблице Констант, справочников, плана счетов)
(по документу шапка + таблица + запись в _1SJOURN) и по остальным...

таб констант записей 1057165
документов > 22000
время выполнения в формате "Ч:М:С.мс"
Вот пример лога выполнения торговля перенос 2 месяца

#=======================================
[04.04.2016 12:16:59] Начало загрузки таблиц

Перенос: Константы(_1SCONST) ... 0:4:59.20
Перенос: Справочник БанковскиеСчета(SC1507) ... 0:0:0.40
Перенос: Справочник Блокнот(SC1452) ... 0:0:0.40
Перенос: Справочник Валюты(SC89) ... 0:0:0.30
Перенос: Справочник Водители(SC2010) ... 0:0:0.40
Перенос: Справочник ВТТ(SC2005) ... 0:0:0.50
Перенос: Справочник Запись(SC2900) ... 0:0:0.20
Перенос: Справочник История(SC2893) ... 0:0:0.30
Перенос: Справочник Клиенты(SC46) ... 0:1:7.890
Перенос: Справочник КодыКлиентовОрг(SC2923) ... 0:0:3.145
Перенос: Справочник КодыТМЦПокупателей(SC3070) ... 0:0:0.80
Перенос: Справочник КодыТоваровОрг(SC2905) ... 0:0:0.150
Перенос: Справочник Комплектация(SC681) ... 0:0:0.50
Перенос: Справочник Лог(SC2884) ... 0:0:0.10
Перенос: Справочник ОборудованиеКлиента(SC3146) ... 0:0:2.350
Перенос: Справочник ОборудованиеПараметр(SC3165) ... 0:0:0.60
Перенос: Справочник ОС_ВидыЗатрат(SC3114) ... 0:0:0.30
Перенос: Справочник ОС_ГруппыНА(SC3118) ... 0:0:0.30
Перенос: Справочник ОС_Место(SC3158) ... 0:0:0.30
Перенос: Справочник ОС_Средства(SC3103) ... 0:0:0.100
Перенос: Справочник Районы(SC2646) ... 0:0:0.80
Перенос: Справочник Районы1(SC2706) ... 0:0:3.930
Перенос: Справочник РасчетныеСчета(SC1492) ... 0:0:0.60
Перенос: Справочник Склады(SC31) ... 0:0:0.30
Перенос: Справочник Сотрудники(SC838) ... 0:0:0.30
Перенос: Справочник Товары(SC33) ... 0:0:19.524
Перенос: Справочник Фирмы(SC13) ... 0:0:0.50

[04.04.2016 12:23:36] Завершение загрузки таблиц
#======================================= 0:6:37.131
#=======================================
[04.04.2016 12:30:13] Начало копирования документов

Перенос: Документ ВводОстатковТары(DH657) ... 0:0:0.230
Перенос: Документ ВводОстатковТоваров(DH310) ... 0:0:0.185
Перенос: Документ Доверенность(DH844) ... 0:0:0.140
Перенос: Документ КопияЦен(DH2473) ... 0:0:0.350
Перенос: Документ НалогНакл(DH1168) ... 0:0:2.280
Перенос: Документ НачислениеЗП(DH2961) ... 0:0:0.310
Перенос: Документ Перемещение(DH239) ... 0:0:0.770
Перенос: Документ Переоценка_Перетоваривание(DH1551) ... 0:0:0.150
Перенос: Документ Платежка(DH187) ... 0:0:0.720
Перенос: Документ ПриходДенегНаСчет(DH259) ... 0:0:0.393
Перенос: Документ ПриходнаяКредит(DH434) ... 0:0:2.273
Перенос: Документ ПриходнаяТары(DH493) ... 0:0:3.735
Перенос: Документ ПриходныйКассовый(DH336) ... 0:0:0.790
Перенос: Документ РасходНакл(DH410) ... 0:0:18.601
Перенос: Документ РасходнаяТары(DH1748) ... 0:0:0.380
Перенос: Документ РасходныйКассовый(DH322) ... 0:0:0.770
Перенос: Документ РасчетКорректировкиНН(DH2359) ... 0:0:0.860
Перенос: Документ Расчеты(DH2387) ... 0:0:2.828
Перенос: Документ Счет(DH196) ... 0:0:0.300
Перенос: Документ Табель(DH2997) ... 0:0:0.220
Перенос: Документ ТТН(DH2192) ... 0:0:2.576
Перенос: Документ УстановкаЦен(DH2658) ... 0:0:0.370
Перенос: Документ УстановкаЦен1(DH2839) ... 0:0:0.130
Перенос: Документ ЧекНалоговой1(DH2860) ... 0:0:0.980
Перенос: Документ ПутевойЛист(DH3231) ... 0:0:0.370
Перенос подчиненности документов(_1SCRDOC)... 0:0:16.489
Удаление движений Регистр (Дв.) ОстаткиТоваров (RA99) 0:0:5.158
Перенос движений Регистр (Дв.) ОстаткиТоваров (RA99) 0:0:4.412
Удаление движений Регистр (Дв.) РезервыТоваров (RA620) 0:0:0.120
Перенос движений Регистр (Дв.) РезервыТоваров (RA620) 0:0:0.30
Удаление движений Регистр (Дв.) Касса (RA165) 0:0:4.66
Перенос движений Регистр (Дв.) Касса (RA165) 0:0:0.590
Удаление движений Регистр (Дв.) Взаиморасчеты (RA267) 0:0:1.980
Перенос движений Регистр (Дв.) Взаиморасчеты (RA267) 0:0:1.742
Удаление движений Регистр (Дв.) УчетТары (RA172) 0:0:0.962
Перенос движений Регистр (Дв.) УчетТары (RA172) 0:0:0.873
Удаление движений Регистр (Дв.) УчетТары1 (RA1974) 0:0:1.520
Перенос движений Регистр (Дв.) УчетТары1 (RA1974) 0:0:1.359
Удаление движений Регистр (Дв.) УчетТары2 (RA2041) 0:0:0.150
Перенос движений Регистр (Дв.) УчетТары2 (RA2041) 0:0:0.160
Удаление движений Регистр (Дв.) ВзаиморасчетыНалог (RA2035) 0:0:0.390
Перенос движений Регистр (Дв.) ВзаиморасчетыНалог (RA2035) 0:0:0.280
Удаление движений Регистр (Дв.) ИздержкиОбращения (RA818) 0:0:0.110
Перенос движений Регистр (Дв.) ИздержкиОбращения (RA818) 0:0:0.30
Удаление движений Регистр (Дв.) Счета (RA1626) 0:0:0.233
Перенос движений Регистр (Дв.) Счета (RA1626) 0:0:0.220
Удаление движений Регистр (Дв.) Продажи (RA3007) 0:0:12.75
Перенос движений Регистр (Дв.) Продажи (RA3007) 0:0:11.29

[04.04.2016 12:32:00] Завершение копирования документов период с 20160101 по 20160229
#======================================= 0:1:46.848

10. shoorlo yak (shoorlo) 04.04.16 16:02
(8) serpent, Здравствуйте.
Нормализация делается в момент переноса документов если установлена псиса "Обновить IDDOC"
В общем случае НЕНУЖНА !
А нужна тогда когда у Вас в "_1SJOURN" максимальное значение поля "IDDOC" приближается к "ZZZZZZ "
11. shoorlo yak (shoorlo) 05.04.16 10:26
(7) vcv, Здравствуйте!
Спасибо за косвенную поддержку.
Вы пишите: " Как вы будете с помощью SSIS модифицировать различные таблицы итогов? "
Дело в том, что как раз "програмка" тупо копирует таблицы или их части или части данных.
Итоги она НЕ пересчитывает! Это возложено на 1С . После применения "програмки" обязательно делается выгрузка-загрузка данных.
При этом, если точка актуальности итогов установлена на конец периода перенесенных документов, то пересчитываются итоги.
Если точка актуальности до периода переноса документов - устанавливаем ТА на конец периода. И 1С пересчитает итоги.
Так что товарищ "logarifm" прав что можно пользоваться и его рекомендациями.
НО трудо затраты на это будут выше (по-моему).

Немного посложнее алгоритм при "сбросе" IDDOC. Тогда приходится идти по метаданным, искать строковые реквизиты длиной 9, 13, 23
Проверять их на вхождение IDDOC и затем обновлять.

С уважением.
12. Владислав Чинючин (vcv) 05.04.16 11:57
(11) shoorlo,
Дело в том, что как раз "програмка" тупо копирует таблицы или их части или части данных.

А... Ну тогда хотя бы делать пересчет итогов в нужном периоде. Встречаются такие обработки.

У меня лежит одна. Вот какого вида запросы формирует:
SET XACT_ABORT ON
BEGIN TRANSACTION
exec _1sp__1ssystem_TLockX
exec _1sp__1sjourn_TLockX
exec _1sp_RG639_TLockX
delete
fr om rg639
where period>={d '2016-04-01'}

ins ert rg639
  sel ect
    {d '2016-04-01'},
    sp4066, sp641,
    sum(sp644),
    sum(sp642),
    sum(sp643)
  fr om (
    sele ct
      sp4066, sp641,
      sp644, sp642, sp643
    from rg639 rg
    wh ere period={d '2016-03-01'}
    uni on all
    sel ect
      sp4066, sp641,
      ra.sp644*(1-ra.debkred*2) As sp644,
      ra.sp642*(1-ra.debkred*2) As sp642,
      ra.sp643*(1-ra.debkred*2) As sp643
    fr om ra639 ra
    wh ere date_time_iddoc>'20160401     0     0   ' and date_time_iddoc<='20160430     0     0   '
    ) as tmp
  group by sp4066, sp641
  having
    sum(sp644) <> 0 or 
    sum(sp642) <> 0 or 
    sum(sp643) <> 0

COMMIT TRANSACTION
upd ate _1susers se t netchgcn=netchgcn+1
...Показать Скрыть
13. Андрей М (_Z1) 09.04.16 09:36
(12) Для регистров нет проблем написать пересчет итогов
а вот для проводок сложно написать пересчет и в интернете не видел
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа