-
-
Обсуждения на сайте Альта-Софт
-
Выгрузка документов из Базы.
Модераторы: Renat, Gala, alta_olg, expert, Lemur
Выгрузка документов из Базы.
Продолжаем ежегодную рубрику "Как это работает".
Каждый новый год новые вопросы.
Сегодня вопрос один "Как выгрузить несколько папок из SQL базы в файл в формате Альта-windows, что бы потом загрузить эти папки в другую базу и не потерять ни одного документа???"
Я опять потерял кучу документов. И удивил декларантов.
Выгружал из текущей базы папки относящиеся к 2012 году в формате Альта-windows. Выделил сразу несколько папок,нажал выгрузить и.... 50 000 документов.
Потом аккуратно через консоль очистки удалял все за период 2012 года, оставишь только документы с признаком "архивный".
потом загружаю все в другую базу.... почему то 40 000 документов.
В итоге в формат Альта-windows при такой массовой выгрузке не выгрузился ни один универсальный документ, ни одного ЭД-контракта... ГТД,ДТС, ктС, ОПИСЬ и еще докменты *.E2l , в которых нет того, что я выгружал.
Рекомендации ?
Каждый новый год новые вопросы.
Сегодня вопрос один "Как выгрузить несколько папок из SQL базы в файл в формате Альта-windows, что бы потом загрузить эти папки в другую базу и не потерять ни одного документа???"
Я опять потерял кучу документов. И удивил декларантов.
Выгружал из текущей базы папки относящиеся к 2012 году в формате Альта-windows. Выделил сразу несколько папок,нажал выгрузить и.... 50 000 документов.
Потом аккуратно через консоль очистки удалял все за период 2012 года, оставишь только документы с признаком "архивный".
потом загружаю все в другую базу.... почему то 40 000 документов.
В итоге в формат Альта-windows при такой массовой выгрузке не выгрузился ни один универсальный документ, ни одного ЭД-контракта... ГТД,ДТС, ктС, ОПИСЬ и еще докменты *.E2l , в которых нет того, что я выгружал.
Рекомендации ?
-
- Модератор
- Сообщения: 2537
- На форуме: c 05 ноя 2004
- Откуда: Москва, Альта-Софт
Сказал: 1 ед.
Получил: 104 ед.
Получил: 104 ед.
Re: Выгрузка документов из Базы.
Загружали через папка целиком?
Надо еще иметь ввиду, что при выгрузке в файл могут потереться файлы имеющие один тип и одинаковые имена, типа Б/Н универсальный.
Но вообще, чудовищно трудоемкий способ выбрали.
На мой взгляд, надо было бы почистить БД и потом ее объединить с другой БД, без каких-либо выгрузок.
Надо еще иметь ввиду, что при выгрузке в файл могут потереться файлы имеющие один тип и одинаковые имена, типа Б/Н универсальный.
Но вообще, чудовищно трудоемкий способ выбрали.
На мой взгляд, надо было бы почистить БД и потом ее объединить с другой БД, без каких-либо выгрузок.
Олег Михайлов
Отдел техн. поддержки и разработки ПО
Отдел техн. поддержки и разработки ПО
-
- Модератор
- Сообщения: 2537
- На форуме: c 05 ноя 2004
- Откуда: Москва, Альта-Софт
Сказал: 1 ед.
Получил: 104 ед.
Получил: 104 ед.
Re: Выгрузка документов из Базы.
При загрузке архивных документов из внутреннего формата признак архивный потеряется.
Кроме того, при выгрузке, таким образом, папки целиком, не все документы привязанные к описи выгрузятся.
Т.е. этот способ годится только чтобы выгрузить несколько ДТ, а не папку или не несколько папок.
Имеет смысл использовать архивную БД, если документы нужны изредка, а если нужны все время, объединить с существующей БД.
Кроме того, при выгрузке, таким образом, папки целиком, не все документы привязанные к описи выгрузятся.
Т.е. этот способ годится только чтобы выгрузить несколько ДТ, а не папку или не несколько папок.
Имеет смысл использовать архивную БД, если документы нужны изредка, а если нужны все время, объединить с существующей БД.
Олег Михайлов
Отдел техн. поддержки и разработки ПО
Отдел техн. поддержки и разработки ПО
Re: Выгрузка документов из Базы.
Можно чуть поподробнее об объединении с другой БД ? не слышал о таком способе и слова.alta_olg писал(а):Загружали через папка целиком?
Надо еще иметь ввиду, что при выгрузке в файл могут потереться файлы имеющие один тип и одинаковые имена, типа Б/Н универсальный.
Но вообще, чудовищно трудоемкий способ выбрали.
На мой взгляд, надо было бы почистить БД и потом ее объединить с другой БД, без каких-либо выгрузок.
- Ranger_Z
- Эксперт
- Сообщения: 1072
- На форуме: c 28 ноя 2007
- Откуда: МКС
Сказал: 5 ед.
Получил: 125 ед.
Получил: 125 ед.
Re: Выгрузка документов из Базы.
Утилита mergedb, в папке UTILS.
Re: Выгрузка документов из Базы.
и? ) больше никаких коментариев ? )))Ranger_Z писал(а):Утилита mergedb, в папке UTILS.
-
- Дед
- Сообщения: 451
- На форуме: c 14 ноя 2004
- Откуда: Новосибирск
Сказал: 23 ед.
Получил: 40 ед.
Получил: 40 ед.
Re: Выгрузка документов из Базы.
Задается конечная база (т.е. та, где что-то есть (возможно,т.к. может быть пустой), и КУДА будут копироваться данные,Koteneff писал(а):и? ) больше никаких коментариев ? )))Ranger_Z писал(а):Утилита mergedb, в папке UTILS.
задается исходная база (из которой будут копироваться данные), и после нажатия кнопки данные (все данные, вкл. все документы и сообщения протокола обмена с таможней),
копируются из второй базы в конечную...
Нюансы:
1. Обе базы должны быть подключены к SQL серверу (соответсвенно, должны иметь разные имена)
2. Копирование происходит из второй базы в КОРНЕВОЙ каталог конечной (т.е. первой) базы, т.е происходит полное смешивание информации. Добавить данные из второй базы в какую-нибудь папку конечной базы этой утилитой не получится...
P.S. Для изучения создайте парочку "левых" баз, и потренируйтесь... И самый главный совет - перед объединением (и вообще, перед любыми операциями с базами) делайте резервные копии
Следующие пользователи поблагодарили tamkon за это собщение: Koteneff
Re: Выгрузка документов из Базы.
вот! а теперь представть архивную базу в которой по папкам разложеноtamkon писал(а): 2. Копирование происходит из второй базы в КОРНЕВОЙ каталог конечной (т.е. первой) базы, т.е происходит полное смешивание информации. Добавить данные из второй базы в какую-нибудь папку конечной базы этой утилитой не получится...
Архив_2008
Архив_2009
Архив_2010
Архив_2011
Архив_2012
Кстати, а если в Исходной базе папки структуированы
Фирма_1
Фирма_2
Фирма_202
Группа_Фирм_1
----Фирма_1_4
----Фирма_1_100
в корень конечной базы документы в этих же папках перенесутся ? Если струтура папок перенесеться, то не велика беда, можно папки и внутри Конечно базы в самой программе перенести.
-
- Дед
- Сообщения: 451
- На форуме: c 14 ноя 2004
- Откуда: Новосибирск
Сказал: 23 ед.
Получил: 40 ед.
Получил: 40 ед.
Re: Выгрузка документов из Базы.
Структура папок переносится, тут все нормально... Кстати, как работает перенос из архивных баз, я пока не знаю, т.к. не пробовал,Koteneff писал(а):вот! а теперь представть архивную базу в которой по папкам разложеноtamkon писал(а): 2. Копирование происходит из второй базы в КОРНЕВОЙ каталог конечной (т.е. первой) базы, т.е происходит полное смешивание информации. Добавить данные из второй базы в какую-нибудь папку конечной базы этой утилитой не получится...
Архив_2008
Архив_2009
Архив_2010
Архив_2011
Архив_2012
Кстати, а если в Исходной базе папки структуированы
Фирма_1
Фирма_2
Фирма_202
Группа_Фирм_1
----Фирма_1_4
----Фирма_1_100
в корень конечной базы документы в этих же папках перенесутся ? Если струтура папок перенесеться, то не велика беда, можно папки и внутри Конечно базы в самой программе перенести.
может, Олег что подскажет?
Re: Выгрузка документов из Базы.
А под Архивной БД - ты что подразумеваешь?tamkon писал(а):
Структура папок переносится, тут все нормально... Кстати, как работает перенос из архивных баз, я пока не знаю, т.к. не пробовал,
может, Олег что подскажет?
Я архивной называю базу, в которую напротяжении нескольких лет ссыпаю документы (без ЭД историй ибо тупо раньше выгружал документы и загружал их)
-
- Дед
- Сообщения: 451
- На форуме: c 14 ноя 2004
- Откуда: Новосибирск
Сказал: 23 ед.
Получил: 40 ед.
Получил: 40 ед.
Re: Выгрузка документов из Базы.
а, ну тогда понятно, под архивной я имел ввиду "новую" структуру, которая делает сама программа "ГТД-про".Koteneff писал(а):А под Архивной БД - ты что подразумеваешь?tamkon писал(а):
Структура папок переносится, тут все нормально... Кстати, как работает перенос из архивных баз, я пока не знаю, т.к. не пробовал,
может, Олег что подскажет?
Я архивной называю базу, в которую напротяжении нескольких лет ссыпаю документы (без ЭД историй ибо тупо раньше выгружал документы и загружал их)
В Вашем случае - это обычные базы, и с ними можно спокойно работать утилитой mergeDB
-
- Модератор
- Сообщения: 2537
- На форуме: c 05 ноя 2004
- Откуда: Москва, Альта-Софт
Сказал: 1 ед.
Получил: 104 ед.
Получил: 104 ед.
Re: Выгрузка документов из Базы.
Давайте с самого начала, а что Вам нужно?
Ну имеете Вы кучу старых баз.
Ну имеете Вы одну текущую новую.
А зачем Вам все эти старые базы куда-то там сливать, объединять?
Ну и пусть они лежат себе.
Если вдруг, надо поднять какую-то старую процедуру, просто из списка, Просмотр архивной базы, ищем нужную ДТ из нужной БД и восстанавливаем ее, вместе с процедурой.
Позже мы сделаем поиск по всем базам на sql сервере по номеру ДТ.
Ну имеете Вы кучу старых баз.
Ну имеете Вы одну текущую новую.
А зачем Вам все эти старые базы куда-то там сливать, объединять?
Ну и пусть они лежат себе.
Если вдруг, надо поднять какую-то старую процедуру, просто из списка, Просмотр архивной базы, ищем нужную ДТ из нужной БД и восстанавливаем ее, вместе с процедурой.
Позже мы сделаем поиск по всем базам на sql сервере по номеру ДТ.
Олег Михайлов
Отдел техн. поддержки и разработки ПО
Отдел техн. поддержки и разработки ПО
Re: Выгрузка документов из Базы.
Круто.alta_olg писал(а):Давайте с самого начала, а что Вам нужно?
Ну имеете Вы кучу старых баз.
Ну имеете Вы одну текущую новую.
А зачем Вам все эти старые базы куда-то там сливать, объединять?
Ну и пусть они лежат себе.
Если вдруг, надо поднять какую-то старую процедуру, просто из списка, Просмотр архивной базы, ищем нужную ДТ из нужной БД и восстанавливаем ее, вместе с процедурой.
Позже мы сделаем поиск по всем базам на sql сервере по номеру ДТ.
Олег, просто завелось так: каждый позапрошлый(!) год сливать в БД, предназначенную для хранения старых документов (ГТД...ОПИСЬ, и прочие документы ЭД). Заметь именно документов (я не говорю про истории ЭД). В текущей же БД декларант работает с прошлогодними документыми и создаёт новые документы.
Собственно вся история.
Переносить все равно старый хлам придется в начале нового года, так как любая БД имеет желание непомерно расти со временем. Для текущей БД это не приемлемо ибо начинает тормозить работу. Для архивной БД не существенно, ибо не так часто туда залезают.
Вся проблематика вырасла в 2009 году, когда я по примеру Альта-СВХ решил зачищать текущую базу. Оказалось, что декларантам неудобно в начале нового года постоянно лазить за старыми декларациями в прошлогоднюю БД. Декларант на основе старых ТД создает новые. Еще некоторые используют Конструктор и опять на основе старых лопатят новые ТД. Плюсом - прошлогодний хлам служит огромным справочным материалом по ценам и описаниям. При этом надо создать условия для декларанта - пользоваться прошлыми наработками, не допустить утери документов отправленных в таможенный архив (это кстати вы успешно реализовали, тут отдельный респект) и не допускать роста БД.
- Ranger_Z
- Эксперт
- Сообщения: 1072
- На форуме: c 28 ноя 2007
- Откуда: МКС
Сказал: 5 ед.
Получил: 125 ед.
Получил: 125 ед.
Re: Выгрузка документов из Базы.
Ну тогда это легко решается.
Допустим, имеется рабочая база с документами, начиная с лохматого года.
Делаешь бекап этой базы, оставляешь его в качестве архивной базы, а рабочую базу зачищаешь до необходимого тебе состояния.
Через год, опять делаешь бекап рабочей базы, с помощью утилиты mergedb(как ей пользоваться уже описали) присоединяешь ее к своему архиву, с заменой или дублированием повторяющихся записей(тебе решать). А рабочую баз уопять зачищаешь до необходимого тебе состояния.
Повторяешь это необходимое количество лет
Вроде как не сложно.
Допустим, имеется рабочая база с документами, начиная с лохматого года.
Делаешь бекап этой базы, оставляешь его в качестве архивной базы, а рабочую базу зачищаешь до необходимого тебе состояния.
Через год, опять делаешь бекап рабочей базы, с помощью утилиты mergedb(как ей пользоваться уже описали) присоединяешь ее к своему архиву, с заменой или дублированием повторяющихся записей(тебе решать). А рабочую баз уопять зачищаешь до необходимого тебе состояния.
Повторяешь это необходимое количество лет
Вроде как не сложно.
Re: Выгрузка документов из Базы.
alta_olg писал(а): Если вдруг, надо поднять какую-то старую процедуру, просто из списка, Просмотр архивной базы, ищем нужную ДТ из нужной БД и восстанавливаем ее, вместе с процедурой.
Позже мы сделаем поиск по всем базам на sql сервере по номеру ДТ.
Прошу прощения, а можно эту фразу поподробнее...
- Ranger_Z
- Эксперт
- Сообщения: 1072
- На форуме: c 28 ноя 2007
- Откуда: МКС
Сказал: 5 ед.
Получил: 125 ед.
Получил: 125 ед.
Re: Выгрузка документов из Базы.
Да, вроде все подробноAlex писал(а):
Прошу прощения, а можно эту фразу поподробнее...
Используя меню "Список" -- "Просмотр архивной БД", можно подключаться к архивной базе документов и при необходимости переносить их архива в рабочую базу как отдельные документы, так и комплекты документов вместе со списком сообщений по ним. Главное, что-бы архивная база была в наличии