• Обсуждения на сайте Альта-Софт

Выгрузка документов из Базы.

вопросы по работе с программным обеспечением

Модераторы: Renat, Gala, alta_olg, expert, Lemur

Ответить
Аватара пользователя
Koteneff
Аксакал
Сообщения: 877
На форуме: c 13 мар 2009
Сказал: 73 ед.
Получил: 45 ед.

Выгрузка документов из Базы.

Сообщение Koteneff »

Продолжаем ежегодную рубрику "Как это работает".
Каждый новый год новые вопросы.

Сегодня вопрос один "Как выгрузить несколько папок из SQL базы в файл в формате Альта-windows, что бы потом загрузить эти папки в другую базу и не потерять ни одного документа???"

Я опять потерял кучу документов. И удивил декларантов.
Выгружал из текущей базы папки относящиеся к 2012 году в формате Альта-windows. Выделил сразу несколько папок,нажал выгрузить и.... 50 000 документов.
Потом аккуратно через консоль очистки удалял все за период 2012 года, оставишь только документы с признаком "архивный".
потом загружаю все в другую базу.... почему то 40 000 документов.

В итоге в формат Альта-windows при такой массовой выгрузке не выгрузился ни один универсальный документ, ни одного ЭД-контракта... ГТД,ДТС, ктС, ОПИСЬ и еще докменты *.E2l , в которых нет того, что я выгружал.

Рекомендации ?
alta_olg
Модератор
Сообщения: 2537
На форуме: c 05 ноя 2004
Откуда: Москва, Альта-Софт
Сказал: 1 ед.
Получил: 104 ед.

Re: Выгрузка документов из Базы.

Сообщение alta_olg »

Загружали через папка целиком?

Надо еще иметь ввиду, что при выгрузке в файл могут потереться файлы имеющие один тип и одинаковые имена, типа Б/Н универсальный.
Но вообще, чудовищно трудоемкий способ выбрали.
На мой взгляд, надо было бы почистить БД и потом ее объединить с другой БД, без каких-либо выгрузок.
Олег Михайлов
Отдел техн. поддержки и разработки ПО
alta_olg
Модератор
Сообщения: 2537
На форуме: c 05 ноя 2004
Откуда: Москва, Альта-Софт
Сказал: 1 ед.
Получил: 104 ед.

Re: Выгрузка документов из Базы.

Сообщение alta_olg »

При загрузке архивных документов из внутреннего формата признак архивный потеряется.
Кроме того, при выгрузке, таким образом, папки целиком, не все документы привязанные к описи выгрузятся.
Т.е. этот способ годится только чтобы выгрузить несколько ДТ, а не папку или не несколько папок.
Имеет смысл использовать архивную БД, если документы нужны изредка, а если нужны все время, объединить с существующей БД.
Олег Михайлов
Отдел техн. поддержки и разработки ПО
Аватара пользователя
Koteneff
Аксакал
Сообщения: 877
На форуме: c 13 мар 2009
Сказал: 73 ед.
Получил: 45 ед.

Re: Выгрузка документов из Базы.

Сообщение Koteneff »

alta_olg писал(а):Загружали через папка целиком?

Надо еще иметь ввиду, что при выгрузке в файл могут потереться файлы имеющие один тип и одинаковые имена, типа Б/Н универсальный.
Но вообще, чудовищно трудоемкий способ выбрали.
На мой взгляд, надо было бы почистить БД и потом ее объединить с другой БД, без каких-либо выгрузок.
Можно чуть поподробнее об объединении с другой БД ? не слышал о таком способе и слова.
Аватара пользователя
Ranger_Z
Эксперт
Сообщения: 1072
На форуме: c 28 ноя 2007
Откуда: МКС
Сказал: 5 ед.
Получил: 125 ед.

Re: Выгрузка документов из Базы.

Сообщение Ranger_Z »

Утилита mergedb, в папке UTILS.
Аватара пользователя
Koteneff
Аксакал
Сообщения: 877
На форуме: c 13 мар 2009
Сказал: 73 ед.
Получил: 45 ед.

Re: Выгрузка документов из Базы.

Сообщение Koteneff »

Ranger_Z писал(а):Утилита mergedb, в папке UTILS.
и? ) больше никаких коментариев ? )))
tamkon
Дед
Сообщения: 451
На форуме: c 14 ноя 2004
Откуда: Новосибирск
Сказал: 23 ед.
Получил: 40 ед.

Re: Выгрузка документов из Базы.

Сообщение tamkon »

Koteneff писал(а):
Ranger_Z писал(а):Утилита mergedb, в папке UTILS.
и? ) больше никаких коментариев ? )))
Задается конечная база (т.е. та, где что-то есть (возможно,т.к. может быть пустой), и КУДА будут копироваться данные,
задается исходная база (из которой будут копироваться данные), и после нажатия кнопки данные (все данные, вкл. все документы и сообщения протокола обмена с таможней),
копируются из второй базы в конечную...

Нюансы:
1. Обе базы должны быть подключены к SQL серверу (соответсвенно, должны иметь разные имена)
2. Копирование происходит из второй базы в КОРНЕВОЙ каталог конечной (т.е. первой) базы, т.е происходит полное смешивание информации. Добавить данные из второй базы в какую-нибудь папку конечной базы этой утилитой не получится...

P.S. Для изучения создайте парочку "левых" баз, и потренируйтесь... И самый главный совет - перед объединением (и вообще, перед любыми операциями с базами) делайте резервные копии
Следующие пользователи поблагодарили tamkon за это собщение: Koteneff
Аватара пользователя
Koteneff
Аксакал
Сообщения: 877
На форуме: c 13 мар 2009
Сказал: 73 ед.
Получил: 45 ед.

Re: Выгрузка документов из Базы.

Сообщение Koteneff »

tamkon писал(а): 2. Копирование происходит из второй базы в КОРНЕВОЙ каталог конечной (т.е. первой) базы, т.е происходит полное смешивание информации. Добавить данные из второй базы в какую-нибудь папку конечной базы этой утилитой не получится...
вот! а теперь представть архивную базу в которой по папкам разложено
Архив_2008
Архив_2009
Архив_2010
Архив_2011
Архив_2012

Кстати, а если в Исходной базе папки структуированы
Фирма_1
Фирма_2
Фирма_202
Группа_Фирм_1
----Фирма_1_4
----Фирма_1_100
в корень конечной базы документы в этих же папках перенесутся ? Если струтура папок перенесеться, то не велика беда, можно папки и внутри Конечно базы в самой программе перенести.
tamkon
Дед
Сообщения: 451
На форуме: c 14 ноя 2004
Откуда: Новосибирск
Сказал: 23 ед.
Получил: 40 ед.

Re: Выгрузка документов из Базы.

Сообщение tamkon »

Koteneff писал(а):
tamkon писал(а): 2. Копирование происходит из второй базы в КОРНЕВОЙ каталог конечной (т.е. первой) базы, т.е происходит полное смешивание информации. Добавить данные из второй базы в какую-нибудь папку конечной базы этой утилитой не получится...
вот! а теперь представть архивную базу в которой по папкам разложено
Архив_2008
Архив_2009
Архив_2010
Архив_2011
Архив_2012

Кстати, а если в Исходной базе папки структуированы
Фирма_1
Фирма_2
Фирма_202
Группа_Фирм_1
----Фирма_1_4
----Фирма_1_100
в корень конечной базы документы в этих же папках перенесутся ? Если струтура папок перенесеться, то не велика беда, можно папки и внутри Конечно базы в самой программе перенести.
Структура папок переносится, тут все нормально... Кстати, как работает перенос из архивных баз, я пока не знаю, т.к. не пробовал,
может, Олег что подскажет?
Аватара пользователя
Koteneff
Аксакал
Сообщения: 877
На форуме: c 13 мар 2009
Сказал: 73 ед.
Получил: 45 ед.

Re: Выгрузка документов из Базы.

Сообщение Koteneff »

tamkon писал(а):
Структура папок переносится, тут все нормально... Кстати, как работает перенос из архивных баз, я пока не знаю, т.к. не пробовал,
может, Олег что подскажет?
А под Архивной БД - ты что подразумеваешь?
Я архивной называю базу, в которую напротяжении нескольких лет ссыпаю документы (без ЭД историй ибо тупо раньше выгружал документы и загружал их)
tamkon
Дед
Сообщения: 451
На форуме: c 14 ноя 2004
Откуда: Новосибирск
Сказал: 23 ед.
Получил: 40 ед.

Re: Выгрузка документов из Базы.

Сообщение tamkon »

Koteneff писал(а):
tamkon писал(а):
Структура папок переносится, тут все нормально... Кстати, как работает перенос из архивных баз, я пока не знаю, т.к. не пробовал,
может, Олег что подскажет?
А под Архивной БД - ты что подразумеваешь?
Я архивной называю базу, в которую напротяжении нескольких лет ссыпаю документы (без ЭД историй ибо тупо раньше выгружал документы и загружал их)
а, ну тогда понятно, под архивной я имел ввиду "новую" структуру, которая делает сама программа "ГТД-про".
В Вашем случае - это обычные базы, и с ними можно спокойно работать утилитой mergeDB
alta_olg
Модератор
Сообщения: 2537
На форуме: c 05 ноя 2004
Откуда: Москва, Альта-Софт
Сказал: 1 ед.
Получил: 104 ед.

Re: Выгрузка документов из Базы.

Сообщение alta_olg »

Давайте с самого начала, а что Вам нужно?
Ну имеете Вы кучу старых баз.
Ну имеете Вы одну текущую новую.
А зачем Вам все эти старые базы куда-то там сливать, объединять?
Ну и пусть они лежат себе.
Если вдруг, надо поднять какую-то старую процедуру, просто из списка, Просмотр архивной базы, ищем нужную ДТ из нужной БД и восстанавливаем ее, вместе с процедурой.
Позже мы сделаем поиск по всем базам на sql сервере по номеру ДТ.
Олег Михайлов
Отдел техн. поддержки и разработки ПО
Аватара пользователя
Koteneff
Аксакал
Сообщения: 877
На форуме: c 13 мар 2009
Сказал: 73 ед.
Получил: 45 ед.

Re: Выгрузка документов из Базы.

Сообщение Koteneff »

alta_olg писал(а):Давайте с самого начала, а что Вам нужно?
Ну имеете Вы кучу старых баз.
Ну имеете Вы одну текущую новую.
А зачем Вам все эти старые базы куда-то там сливать, объединять?
Ну и пусть они лежат себе.
Если вдруг, надо поднять какую-то старую процедуру, просто из списка, Просмотр архивной базы, ищем нужную ДТ из нужной БД и восстанавливаем ее, вместе с процедурой.
Позже мы сделаем поиск по всем базам на sql сервере по номеру ДТ.
Круто. :)

Олег, просто завелось так: каждый позапрошлый(!) год сливать в БД, предназначенную для хранения старых документов (ГТД...ОПИСЬ, и прочие документы ЭД). Заметь именно документов (я не говорю про истории ЭД). В текущей же БД декларант работает с прошлогодними документыми и создаёт новые документы.
Собственно вся история.

Переносить все равно старый хлам придется в начале нового года, так как любая БД имеет желание непомерно расти со временем. Для текущей БД это не приемлемо ибо начинает тормозить работу. Для архивной БД не существенно, ибо не так часто туда залезают.

Вся проблематика вырасла в 2009 году, когда я по примеру Альта-СВХ решил зачищать текущую базу. Оказалось, что декларантам неудобно в начале нового года постоянно лазить за старыми декларациями в прошлогоднюю БД. Декларант на основе старых ТД создает новые. Еще некоторые используют Конструктор и опять на основе старых лопатят новые ТД. Плюсом - прошлогодний хлам служит огромным справочным материалом по ценам и описаниям. При этом надо создать условия для декларанта - пользоваться прошлыми наработками, не допустить утери документов отправленных в таможенный архив (это кстати вы успешно реализовали, тут отдельный респект) и не допускать роста БД.
Аватара пользователя
Ranger_Z
Эксперт
Сообщения: 1072
На форуме: c 28 ноя 2007
Откуда: МКС
Сказал: 5 ед.
Получил: 125 ед.

Re: Выгрузка документов из Базы.

Сообщение Ranger_Z »

Ну тогда это легко решается.
Допустим, имеется рабочая база с документами, начиная с лохматого года.
Делаешь бекап этой базы, оставляешь его в качестве архивной базы, а рабочую базу зачищаешь до необходимого тебе состояния.
Через год, опять делаешь бекап рабочей базы, с помощью утилиты mergedb(как ей пользоваться уже описали) присоединяешь ее к своему архиву, с заменой или дублированием повторяющихся записей(тебе решать). А рабочую баз уопять зачищаешь до необходимого тебе состояния.
Повторяешь это необходимое количество лет :D

Вроде как не сложно.
Alex
Новый участник
Сообщения: 1
На форуме: c 15 апр 2014
Сказал: 0 ед.
Получил: 0 ед.

Re: Выгрузка документов из Базы.

Сообщение Alex »

alta_olg писал(а): Если вдруг, надо поднять какую-то старую процедуру, просто из списка, Просмотр архивной базы, ищем нужную ДТ из нужной БД и восстанавливаем ее, вместе с процедурой.
Позже мы сделаем поиск по всем базам на sql сервере по номеру ДТ.
:shock:
Прошу прощения, а можно эту фразу поподробнее...
Аватара пользователя
Ranger_Z
Эксперт
Сообщения: 1072
На форуме: c 28 ноя 2007
Откуда: МКС
Сказал: 5 ед.
Получил: 125 ед.

Re: Выгрузка документов из Базы.

Сообщение Ranger_Z »

Alex писал(а): :shock:
Прошу прощения, а можно эту фразу поподробнее...
Да, вроде все подробно :)

Используя меню "Список" -- "Просмотр архивной БД", можно подключаться к архивной базе документов и при необходимости переносить их архива в рабочую базу как отдельные документы, так и комплекты документов вместе со списком сообщений по ним. Главное, что-бы архивная база была в наличии :mrgreen:
Ответить