Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Задачки для любознательных :  ИРБИС Irbis
 
Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 11:06

Здравствуйте, уважаемые!
Вопрос для тех, кто сталкивался с похожей проблемой и опытным программистам системы.
1. Работаем в ИРБИС64 v.2017
2. Задача: в БД RDR формируется отчет по Посещениям библиотеки (см. form06-посещения.jpg). БД RDR выгружается из ИРБИС в txt-формате. Затем обратно БД из Excel экспортируется в txt формат, который понимает ИРБИС. Загружаем данные этого файла в пустую БД RDR. Формируем тот же отчет и цифры отчета уже меньше!? (Количество записей БД такое же, как и до выгрузки)

3. Теперь детали ошибки подсчета статистики:
В form06-доВыгрузки.jpg результат до выгрузки БД RDR.
После выгрузки БД в (dos txt) и открытие этого файла через Excel, и экспорт в txt файла (MS-DOS). Загружаю этот файд обратно в ИРБИС, результат отчета - потеря 5 записей! Но в БД все читатели на месте!
Отчет считает статистику по полю v40
(Файл отчета во вложении) и условия идут по подполям: V40^d - дата выдачи, v40^f - дата фактического возврата, v40^c - краткое описание.
Получается, что система не правильно стала считать данные поля v40!

4. Я все варианты кодировок проверял, и UTF --> 65001:Юникод(UTF-8)
, Windows --> Windows(ANSI), DOS --> MS-DOS (.txt) и во всех случаях потеря статистики. Почему?

5. Похожая потеря данных происходит когда я отчет формирую по записям только выбранного периода, т.е. через последовательный поиск я выбираю поле v40^d и указываю диапазон 20200601-20200630. система сама отбирает только тех читателей, у которых есть записи по данной дате в v40.
И формирую по ним отчет, и результат ровно такой, как form06-после.jpg

Итог: Почему после экспорта БД --> txt формат excel --> импорт ИРБИС отчет теряет данные?

Я знаю об ограничениях по длине строк и столбцов в Excel. Но по записям БД это в пределах допустимого!

Доп информация в дополнительном вложении.
Спасибо!

Вложения: Form06.stf (2.6KB)   form06-довыгрузки.jpg (64.3KB)   form06-после.jpg (77.8KB)  
Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 11:11

Если потребуется еще какая либо информация, то спрашивайте, вышлю.
Я просто уже давно бьюсь с этим, и не могу понять, почему тот же отчет не считает данные, которые до этого считал.

Неужели после открытия txt-файла и сохранения его через Excel ИРБИС теряет данные? Мне не определить, какие записи он теряет, если он вообще их теряет?

Количество записей БД не теряется 15808 записей!
Если и теряет данные, то данные поля v40
Но как такое вообще может быть?

Вложения: rdr_excel_dos.jpg (101.2KB)   v40.jpg (118.4KB)   версия_IRBIS.jpg (29.8KB)  
Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Alio (IP-адрес скрыт)
Дата: 06, August, 2020 12:10

Каким образом файл, полученный в результате экспорта из ИРБИС в формате TXT, попадает в EXCEL?

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 12:24

Ехсуд --> открыть --> возникает диалог с указанием кодировки --> далее --> символ разделителя --> формат данных столбца --> и вот данные в Excel

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Alio (IP-адрес скрыт)
Дата: 06, August, 2020 13:41

Вы в курсе, что 40 поле в БД RDR - ПОВТОРЯЮЩЕЕСЯ! Этих повторений может быть любое кол-во в разных записях. Как они могут корректно отображаться в EXCEL и потом выгружаться в CSV? Разумеется, при Ваших манипуляциях теряются какие-то повторения 40 поле - в результате, меняется статистика...

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 14:06

Болт! :( Получается, что запись не привязана к шкале времени (например, как в 1С) и вот было у меня такое подозрение, что данные в 40 поле дублируются.

Но ведь в Excel плевать на значения ячеек! Ведь одинаковых может быть сколько угодно!

Ни один читатель не потерялся!
Значит количество строк (40 поля) осталось неизменным!
И обратно в ИРБИС должно вернуться столько же!

Или при импорте Файла уже из Excel записей в поле v40 становится меньше???
На каком основании он должен затирать дублетные строки???

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 14:24

Тогда получается, что оно (повторяющееся) поле теряется при преобразовании в Excel?

Но в файле txt до преобразования Excel'ом было 880 671 запись!
В Excel (в формате DOS) приехало столько же строк - 880 671 строка!
И когда, я экспортировал Лист в формате Ms-DIS в txt файле были те жи 880 671 запись!

Что и где потерялось???

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 14:33

вот посмотрите размеры (длину строк) на всех этапах работы БД (во вложении).
Количество строк в выгрузке из ИРБИС, в Excel, и обратно в ИРБИС (все было сделано в формате DOS).

Вложения: txt_dos_изИРБИС.jpg (180.9KB)   excel.jpg (301.9KB)   txt_вИРБИС.jpg (184.2KB)  
Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Alio (IP-адрес скрыт)
Дата: 06, August, 2020 15:43

Что это за кавычки, которые стоят перед повторениями 40 поля на последней картинке?

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 15:55

хороший вопрос... как я понимаю их не должно быть.
Надо разобраться и посмотреть.
Отпишу, когда проверю на других форматах.

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 16:04

либо заменить все "#40 на #40
:)

затем загрузить в ИРБИС и проверить отчет и данные.
Так и сделаю.

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Alio (IP-адрес скрыт)
Дата: 06, August, 2020 16:13

При выгрузке в CSV кавычками обрамляются элементы, содержащие символ ;

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 16:22

Alio, Вы - ГЕНИЙ!
Это походу дела и есть повторяющиеся записи.
Импортировал обратно в ИРБИС и формировал отчет и она как раз и выдал полную картину!
При импорте в ИРБИС система их просто проигнорировала, но без символа " перед #40: система их учла.

Ну вроде теперь всё стало янсо.
Экспортировать в DOS и при импорте обратно в ИРБИС проверять начало каждой строки (без символа ") и БД останется прежней!

Спасибо еще раз!

Если Вы подумали, для чего всё это, то я отвечу, что у нас есть еще 5 БД ИРБИС v.10 в которых хранятся персональные данные читателя (паспорт, адрес и т.п.).
А в реальной БД только номер читателя и его книги!
Чтобы объединить эти БД в единую, так чтобы данные читателя одной базы соединились с данными другой БД мне и нужно это выгрузить в Листы Excel и через VBA сделать слияние данных а потом уже общий файл в формате DOS вернуть в ИРБИС!
Вот такая задача!

Спасибо еще раз!

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Alio (IP-адрес скрыт)
Дата: 06, August, 2020 16:33

Evgenie_cdb написал(а):
-------------------------------------------------------
> Alio, Вы - ГЕНИЙ!
> Это походу дела и есть повторяющиеся записи.
> Импортировал обратно в ИРБИС и формировал отчет и
> она как раз и выдал полную картину!
> При импорте в ИРБИС система их просто
> проигнорировала, но без символа " перед #40:
> система их учла.
>
> Ну вроде теперь всё стало янсо.
> Экспортировать в DOS и при импорте обратно в ИРБИС
> проверять начало каждой строки (без символа ") и
> БД останется прежней!
>
> Спасибо еще раз!
>
> Если Вы подумали, для чего всё это, то я отвечу,
> что у нас есть еще 5 БД ИРБИС v.10 в которых
> хранятся персональные данные читателя (паспорт,
> адрес и т.п.).
> А в реальной БД только номер читателя и его
> книги!
> Чтобы объединить эти БД в единую, так чтобы данные
> читателя одной базы соединились с данными другой
> БД
А почему для этого Вы не используете режим ИРБИС ИМПОРТ СО СЛИЯНИЕМ?

мне и нужно это выгрузить в Листы Excel и
> через VBA сделать слияние данных а потом уже общий
> файл в формате DOS вернуть в ИРБИС!
> Вот такая задача!
>
> Спасибо еще раз!

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 16:38

Потому что он бы слил не то что надо, поскольку очень кривые БД, и если в одной в поле 10:Фамилия - это номер читателя вида: 000000001
То в другой БД это поле 21: 1
Плюс Дата рождения читателя!
Поля 30:Идентификатор читателя не соответствует ничему! Иногда даже дублируются у разных читателей!
Вот такой бардак в базах!

Моя задача свести всё в одну базу и прибраться в них, но так, чтобы данные не терялись и не менялись между читателями.

Я это уже пробовал. Получился тихий ужас и бардак в общей БД!

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 16:45

По поводу символа "

Получается, что в формате DOS дублетная запись целиком помещается в "#40: ^A...^Ics"

Зачем???

Критично, если я только в начале строк симво " убрал, но не в конце?
Надеюсь это не критично в работе записей RDR.

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 16:54

хотя, я могу эти " убрать программно в конце каждой строки :)
VBA - это очень хороший помощник!
Жаль, что в ИРБИС нет такого полноценного языка :(

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Alio (IP-адрес скрыт)
Дата: 06, August, 2020 17:08

Evgenie_cdb написал(а):
-------------------------------------------------------
> По поводу символа "
>
> Получается, что в формате DOS дублетная запись
> целиком помещается в "#40: ^A...^Ics"
>
> Зачем???
Не понял, о чем Вы? Что значит "дублетная запись"?

>
> Критично, если я только в начале строк симво "
> убрал, но не в конце?
> Надеюсь это не критично в работе записей RDR.
Разумеется, надо убирать и в конце...

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Alio (IP-адрес скрыт)
Дата: 06, August, 2020 17:09

Evgenie_cdb написал(а):
-------------------------------------------------------
> хотя, я могу эти " убрать программно в конце
> каждой строки :)
> VBA - это очень хороший помощник!
> Жаль, что в ИРБИС нет такого полноценного языка :(
Это лишь означает, что Вы плохо знаете язык форматирования ИРБИС...

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 17:20

не спорю и полностью согласен!
У меня мало опыта работы в ИРБИС около 1,5 года.
Я больше знаю по языкам VBA, Delphi и 1С. :)
А поскольку литературы по ИРБИС нет, то изучение проходит методом форумов и методом научного тыка :)
+ вебинары прошлого года, которые очень помогли быстрее освоить эту систему!
Но тонкости и хитрости работы в ИРБИС как Администратор или мастер отчетов - это уже не так просто и быстро!

Спасибо что Вы так быстро реагируете на проблему и обращаете внимание на тонкости, на которые я бы даже не обратил внимание, подумав, что так и должно быть. Ан нет, даже одна кавычка сильно меняет картину результат!

Re: Меняется результат отчета после экспорт/импорт БД
Пользователь: Evgenie_cdb (IP-адрес скрыт)
Дата: 06, August, 2020 17:26

... исправлюсь по поводу "дублетная запись".
Я должен был сказать "повторяющееся поле", а не "дублетная запись"!

Прошу за свой "английский" :)
Конечно "повторяющееся поле", если это касалось #40 поля.

А дублетная запись - это целиков Читатель! (с ними проблем пока не было)



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.