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

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

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

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

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

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

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

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

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

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

13 Comments

  1. logarifm

    Даже не знаю, что и сказать. У СКЛ есть крутая штука — SSIS называется, советую попробовать…

    Reply ↓
  2. shoorlo

    (1) logarifm, Здравствуйте.

    Вы правы, у СКЛ есть не только это… Но

    1. Это нужно изучать и писать «скрипты», что отнимет какое-то время, если ранее с этим не сталкивались. Вы предлагаете, практически, «стрелять из пушки по воробьям»?

    2. Программулька делает все за несколько кликов мышкой. Это почти мастер переноса/обрезания данных. В зависимости от выбранных параметров.

    Надеюсь ответил на Ваше замечание.

    P.S.

    Эта програмка давненько выкладывалась в варианте без переноса движений с исходниками, но была удалена мной из — за «критики».

    Reply ↓
  3. logarifm

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

    Reply ↓
  4. vcv

    (1) logarifm,

    У СКЛ есть крутая штука — SSIS называется, советую попробовать…

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

    (3) logarifm,

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

    От объёмов данных зависит. Конвертация 7.7 тормозная.

    И не имеет возможности загрузки не типовой конфигурации в виде правил обмена.

    Reply ↓
  5. shoorlo

    (3) logarifm, Здравствуйте.

    Я настаиваю на определении «быстро».

    Reply ↓
  6. logarifm

    Не убидили…

    Reply ↓
  7. vcv

    (6) logarifm, В чем вас не убедили?

    SSIS хорош и быстр. Но требует усилий на поддержку при обновлениях конфигурации 1С. И, по моему, далеко не так просто передать им из базы в базу документ с движениями. Как вы будете с помощью SSIS модифицировать различные таблицы итогов? В общем случае алгоритм миграции итогов такой:

    — начинаем транзакцию;

    — находим в базе назначения движения и итоги в добром десятке таблиц по движениям и измерениям, которые затрагивает передаваемый документ;

    — считаем разницу старых и новых движений;

    — модифицирует записи итогов на эту разницу.

    Это вам не набор записей перегнать один-в-один.

    Или вас не убедили в тормознутости Конфигурации данных 7.7? Уж поверьте, выгрузка/загрузка документа с несколькими тысячами движений по регистрам через КД может занимать минуты.

    Reply ↓
  8. serpent

    Вопросик… «Также введена возможность для «нормализации»», Нормализацию обязательно делать после переноса или нет???

    Reply ↓
  9. shoorlo
    Reply ↓
  10. shoorlo

    (8) serpent, Здравствуйте.

    Нормализация делается в момент переноса документов если установлена псиса «Обновить IDDOC»

    В общем случае НЕНУЖНА !

    А нужна тогда когда у Вас в «_1SJOURN» максимальное значение поля «IDDOC» приближается к «ZZZZZZ «

    Reply ↓
  11. shoorlo

    (7) vcv, Здравствуйте!

    Спасибо за косвенную поддержку.

    Вы пишите: » Как вы будете с помощью SSIS модифицировать различные таблицы итогов? »

    Дело в том, что как раз «програмка» тупо копирует таблицы или их части или части данных.

    Итоги она НЕ пересчитывает! Это возложено на 1С . После применения «програмки» обязательно делается выгрузка-загрузка данных.

    При этом, если точка актуальности итогов установлена на конец периода перенесенных документов, то пересчитываются итоги.

    Если точка актуальности до периода переноса документов — устанавливаем ТА на конец периода. И 1С пересчитает итоги.

    Так что товарищ «logarifm» прав что можно пользоваться и его рекомендациями.

    НО трудо затраты на это будут выше (по-моему).

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

    Проверять их на вхождение IDDOC и затем обновлять.

    С уважением.

    Reply ↓
  12. vcv

    (11)

    Дело в том, что как раз «програмка» тупо копирует таблицы или их части или части данных.

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

    У меня лежит одна. Вот какого вида запросы формирует:

    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

    Показать

    Reply ↓
  13. _Z1

    (12) Для регистров нет проблем написать пересчет итогов

    а вот для проводок сложно написать пересчет и в интернете не видел

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *