Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Вниз

Сохранение файла поверх старого???   Найти похожие ветки 

 
DD   (2004-12-30 13:16) [0]

Товарищи, сталкивался ли кто-нибудь с таким или у меня уже глюки? Есть некий файл формата ДБФ, размер 3 Кб, содержащий приблизительно 100 записей. Высылаем его по почте в филиалы. Там его принимают и сохраняют в некую специальную папку ПОВЕРХ СТАРОГО ФАЙЛА С ТЕМ ЖЕ ИМЕНЕМ, но большего размера, т.е. перезаписывают старый файл. Размер нового файла увеличивается.
Просматривая этот обновленный файл через ДескТоп видим 100 строк, но если программно запустить цикл по строкам (пока не конец файла) - этих строк уже около 2000.
Если же стереть старый файл из этой папки, и вновь сохранить присланный в письме - все ОК. Что же получается, при перезаписи новая инфа налкладывается на старую, что ли?


 
boriskb ©   (2004-12-30 13:26) [1]

DD   (30.12.04 13:16)
Там его принимают и сохраняют


Чем?


 
DD   (2004-12-30 13:27) [2]

The Bat.


 
КаПиБаРа ©   (2004-12-30 13:29) [3]

Наверно в присланом файле 2000 записей.


 
DD   (2004-12-30 13:30) [4]

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


 
Digitman ©   (2004-12-30 13:30) [5]


> файл ..размер 3 Кб .. сохраняют в некую специальную папку ПОВЕРХ СТАРОГО ФАЙЛА
> С ТЕМ ЖЕ ИМЕНЕМ, но большего размера, т.е. перезаписывают
> старый файл. Размер нового файла увеличивается.


не понял ... Размер нового файла увеличивается по отношению к КАКОМУ файлу ? старому или новому ? приведи конкретные цифры для всех участвующих файлов ДО и ПОСЛЕ копирования "поверх" ..


> видим 100 строк, но если программно запустить цикл по строкам
> (пока не конец файла) - этих строк уже около 2000


а индексные файлы используются совместно с ДБФ-файлами ?


 
DD   (2004-12-30 13:39) [6]

Индексных нет.
Размер присланного и сохраняемого файла - 3 кб. До того там был файл около 50 Кб, точно не знаю, так как его еще вчера перезаписали. При перезаписи поверх получилось именно более 50 Кб. Если удалить перезаписанный файл, и заново сохранить присланный в письме, все ОК - 3 Кб.


 
Думкин ©   (2004-12-30 13:42) [7]

> [6] DD   (30.12.04 13:39)

А что прячется под страшным словом - перезапись?


 
Vlad Oshin ©   (2004-12-30 13:43) [8]

там намудрили и не признаются


 
DD   (2004-12-30 14:02) [9]

нет, дело в том, что это все в 3-х разных местах. Перезапись в данном случае - сохранение в то место, где уже есть файл с тем же именем ("Файл ... уже существует. Заменить ?" - "Да") .


 
Думкин ©   (2004-12-30 14:04) [10]

> [9] DD   (30.12.04 14:02)

А как он становится больше? [Недоуменно так]


 
Anatoly Podgoretsky ©   (2004-12-30 14:06) [11]

Очень просто, добавление


 
Prohodil Mimo ©   (2004-12-30 14:08) [12]

DD   (30.12.04 14:02) [9]
("Файл ... уже существует. Заменить ?" - "Да")


("Файл ... уже существует. Заменить ?" - "Дописать в конец", "Дописать в начало" "Нет")


 
boriskb ©   (2004-12-30 14:08) [13]

Anatoly Podgoretsky ©   (30.12.04 14:06) [11]
Очень просто, добавление


The Bat такой умный? :)


 
Anatoly Podgoretsky ©   (2004-12-30 14:11) [14]

boriskb ©   (30.12.04 14:08) [13]
Откуда ты взял The Bat


 
DD   (2004-12-30 14:11) [15]

Не знаю. но дата изменения - свежая, размер присланного - 3Кб, сохраненного поверх старого - около 50 Кб.
Мне этот "раздувшийся" файл переслали обратно. Смотрю его через DataBaseDeskTop  - около 100 записей, как и должно быть.  
Делаю цикл по строкам в 1С-ке - около 2000 строк.


 
boriskb ©   (2004-12-30 14:12) [16]

Anatoly Podgoretsky ©   (30.12.04 14:11) [14]
Откуда ты взял The Bat

[1]
[2]


 
kaZaNoVa ©   (2004-12-30 14:16) [17]

файл- удалить, пример DeleteFile


 
DD   (2004-12-30 14:17) [18]

именно The Bat. Насчет "добавить в конец"- что-то не встречала такого

> Anatoly Podgoretsky ©   (30.12.04 14:11) [14]
Вы что-то подобное встречали?


 
P.N.P. ©   (2004-12-30 14:19) [19]

Может DBF-ка не запакованная и 1-с видит удаленные записи?


 
Anatoly Podgoretsky ©   (2004-12-30 14:20) [20]

Очень просто файл не упакован. Запусти DBD и упакуй, тогда и в 1С увидишь 100 строк. Кроме того его могли записать в конец файла, DBD показывает только до ошибки, а 1С и после.


 
DD   (2004-12-30 14:21) [21]

> P.N.P. ©   (30.12.04 14:19) [19]
Но дело все в том, что если тот же файл из письма сохранять не поверх старого, то все нормально, и с размером, и с кол-вом строк в 1С-ке.


 
Prohodil Mimo ©   (2004-12-30 14:22) [22]

Это всё проделки конкурентов, вирусов и всяких там хуцкеров.


 
P.N.P. ©   (2004-12-30 14:23) [23]

Просто мистика какая-то -)


 
DD   (2004-12-30 14:26) [24]

прошу прощения, где в Десктопе упаковка?


 
P.N.P. ©   (2004-12-30 14:28) [25]

Table->Restructure->Pack table


 
boriskb ©   (2004-12-30 14:35) [26]

Anatoly Podgoretsky ©   (30.12.04 14:20) [20]
Очень просто файл не упакован.


Причем здесь это?
Автор утверждает (врет конечно :) ), что после сохранения из бата 3 килобатного файла он становится 50 килл.
Остался один вопрос автору -
ты получаешь и сохраняешь файл сам или это все с чьих - то слов?


 
DD   (2004-12-30 14:58) [27]

к сожалению, со слов. но это стандартная процедура. И одна и та же ерунда не у одних людей, а в 3-х разных филиалах. И сам этот ставший 50 Кб файл я от них получила.


 
Sandman25 ©   (2004-12-30 15:01) [28]

[27] DD   (30.12.04 14:58)

А Вы уверены, что послали файл именно в 3kb?


 
DD   (2004-12-30 15:04) [29]

ИМЕННО в 3 Кб. Говорю же, повторное сохранение из того же письма на "чистое место" дает 3 Кб.
Сжатие помогло.

НО все равно странный эффект. То есть получается при перезаписи через Бат новых 3Кб данные из прошлых 50 каким-то образом в виде некого мусора остаются. И 1С-ка их воспринимает, и место на диске они занимают.


 
Sandman25 ©   (2004-12-30 15:06) [30]

[29] DD   (30.12.04 15:04)

Тогда только остается послать bug report (рапорт об ошибке) разработчикам the Bat.


 
Ш-К   (2004-12-30 15:08) [31]

А приложение выгружается перед заменой файлов?


 
DD   (2004-12-30 15:46) [32]

> Ш-К   (30.12.04 15:08) [31]

эти файлы - внешние для 1С. В базу они вкачиваются просто в специальной обработке. Обычно сначала сохраняют файлы, потом уже открывают эту обработку и нажимают на кнопку "Вкачать". Только после этого открывается файл и организуется цикл по его записям.


 
boriskb ©   (2004-12-30 15:49) [33]

DD   (30.12.04 15:46) [32]
Судя по описаному тобой, или бат или операционка на удаленных машинах умеет дописывать DBF при копировании.
Теперь ответь мне  - ты сама веришь что так может быть?


 
Alex_S   (2004-12-30 19:27) [34]

<<Перезапись в данном случае - сохранение в то место, где уже есть файл с тем же именем ("Файл ... уже существует. Заменить ?" - "Да")>>
А это чьи понятия? Скорее всего какой-то программы Бат или т.п.
Т.е. все делается какой-то кривой программой, которая не удаляет старую базу, а дописывает к ней. А по-честному ведь программист должен был сделать так, чтоб файл сначала удалился, а потом туда записывался новый под тем же названием. Так что дело в криворукой программе, которая задаёт эти вопросы, а делает не совсем то, что нормальные люди бы делали. Не надо записи считать, достаточно размеры сверять. То что, послали 3 а получилось 50 - это лучшее доказательство ненормальности явления.
Вывод: Источник ошибки - та программа, которая задает эти вопросы, и её автор.


 
Alex_S   (2004-12-30 20:48) [35]

А вот ещё мысль такая. Вот говоришь, что в 3-х разных местах такое. А сколько их всего? Т.е. это 100% или меньше? Есть подозрение, что эти трое делают одну ошибку. "Заменить?", а нет ли ещё "Дописать?". Т.е. они могли вам ответить, что жали "заменить", а на самом деле - "дописать". Верить в таких случаях на слово - сомнительно. Тётки могут машинально жать кнопки, а потом валить на лысого - "Я делала всё правильно! Это не я - это компьютер!" Разве редкая ситуация?
Вот давний пример из своей жизни. Когда-то жил ДОС, Нортон, Лексикон. Многие не знают этих "страшных" слов. Зато не было Интернета, Виндоуса и много чего ещё. Всего-то лет 12 назад. Звонит мне знакомая тётка. "Лексикон" не запускается (сейчас любят говорить "не открывается" - тогда так не говорили, так как "окон" не было - открываться нечему было). Это такой популярный в то время Word (для детей разъяснение). Прихожу - 2 байта лишних откуда-то взялись (я наизусть помнил размеры всех файлов - благо программ-то было 3 штуки - см. выше). Ясно дело они портят картину. Выкинул файл, достал из запасников - тогда на одной дискете помещались Нортон, Лексикон, Зип, Турбо Паскаль-6 (он 440 кб весил), можно, если хочешь, ещё её и загрузочной сделать. Что делала?- спрашиваю. Ничего! Они всегда так говорят. А кто ж влез и 2 байта вписал? Не я! Интересно то, что тогда Нортоном нельзя было влезть в 138 кб (более 64 кб) и исправить. Как тетка могла это испортить? Она, кроме Лексикона, ничего не знает. Да и его тоже не знает! Ладно, тогда я так и не понял этого...
Проходит время. Другая тетка обращается с такой же точной проблемой - 100%-ое совпадение! Я не мог успокоится, пока не догадался, что же делали эти тетки. Вопрос в студию:
А вы дадите правильный ответ до конца этого года?
Если не ответите, то 01.01.05 я отвечу сам - для любопытных.
Время пошло. Кто угадает, может загадывать желание - точно сбудется!


 
Sandman25 ©   (2004-12-31 08:50) [36]

[35] Alex_S   (30.12.04 20:48)

Добавление 2 байт наводит на мысль о #13#10. Видимо, открыли какой-то левой программой, которая в конец файла дописала эти символы.


 
Alex_S   (2004-12-31 14:40) [37]

2Sandman25. Начало правильное.


 
Prohodil Mimo ©   (2005-01-03 10:22) [38]

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


 
Alex_S   (2005-01-03 10:38) [39]

2Prohodil Mimo ©   (03.01.05 10:22) [38]
Ты прав, да ещё с перепугу сначала Enter нажали.
Мои подробности есть в другой ветке "Чудеса Лексикона (история прошлого века)". Просто я этот вопрос отделил. А ты прошёл немного мимо %))


 
Prohodil Mimo ©   (2005-01-03 10:57) [40]

Alex_S   (03.01.05 10:38) [39]
Да, я уже нашол :о)



Страницы: 1 2 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.092 c
3-1103548130
cherrex
2004-12-20 16:08
2005.01.23
компоненты Delphi для работы с Oracle


9-1097483896
utyf
2004-10-11 12:38
2005.01.23
как исправить directdraw.pas для delphi7 или где взять работающи?


10-1081195735
ivan
2004-04-06 00:08
2005.01.23
ActiveX control


4-1101736313
Dema-X
2004-11-29 16:51
2005.01.23
как по handle определить, какому приложению принадлежит окно


1-1104927198
lelik93
2005-01-05 15:13
2005.01.23
Delphi 7 &amp; russian fonts under XP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский