#0
by ТестПопытка
Добрый день! может кто подскажет быстрый способ найти в какой из таблиц базы и в каком поле происходит переполнение числового поля. база не 1С, на dbf.. штук 30 таблиц, много полей.. где-то происходит переполнение ошибка "Data weight error", или может подскажете вьювер какой-нибудь, где переполнение сразу заметно (может красным выделяется).. база собака даже таблицу не показывает, в которой ошибка..
#2
by skunk
у клипера там и есть утилитка... вроде как и чекит базы позволяет делать... хотя могу врать
#3
by ТестПопытка
в поле число не влазит.. и выпрыгивает.. самое противное, что даже непонятно на каком этапе.. где ошибку ловить?
#11
by skunk
да скорее всего какие то итоги сохраняет... а они оказались на порядок больше, чем расчитывали девелоперы...
#12
by skunk
+11 тогда утилитка это поможет ... но надо знать конкретно какое поле и насколько раздвигать... ихмо звони девелоперам...
#13
by smaharbA
А не прощели плюнуть, и все чехом поля числовые во всех базах расширить (ктомуж не 1С, наверняка нет "привязки" к размеру поля), можно и фоксом каким сразу во всех...
#14
by ТестПопытка
девелоперы давно сказали привет.. вот я и хочу найти какое поле раздвигать.. лень, может проще найти где?
#17
by smaharbA
Дак в любом фоксе, да и из 1С можешь разом во всех раздвинуть...Написать будет быстрее наверное...
#20
by ТестПопытка
спасибо заранее.. просто идею подскажи, на 1С напишу.. фокс есть. циклом по количество полей раздигать поля?
#22
by smaharbA
+ если файлы заранее неизвестны но лежат в одной "корневой" дирректории, а дальше пусть и в поддирректориях способов много получения их путей и имен...
#23
by skunk
открываешь дбв... смотришь есть ли там поля типа number... если есть получаешь его длину... полученную длину увеличиваешь на нужное кол-во разрядов... савишь...
#24
by GrayT
А на чем прога писана. Вопрос возник с того, что вроде переполнение в числовом всегда как numeric overwlow отображалось
#27
by prochor
народ! пургу не гоните! легче поля в Dbu вручную расширить! а менять структуру ДБФ нельзя!!! 1) нужно создать пустой дбф с нужной структурой 2) переписать в него имеющийся 3) переименовать новый ДБФ! 30 баз он может сделать минут за 30-40, написать программу, отладить её и т.д...
#28
by skunk
я конечно на чайнике не плавал... но когда смотрел... нет нет была не обходимость... то там была команда связанная с изменением структуру базы...
#29
by prochor
и потом, насколько я помню, есть ограничение на размер числовых полей! так что, ситуация не тривиальна, мне однажды пришлось поле разбивать на два
#30
by smaharbA
Какую пургу, что код выложить ? И какэто нельзя менять структуру, ты это где вычитал?
#31
by ТестПопытка
ну так пишет.. не я придумывал.. даже код ошибки скажу 1201. по-моему ты прав.. только смотри: написать прогу, которая будет расширять по принципу: 1)загоняю всю дбф в ТЗ 2)расширяю поля 3)записать ТЗ в дбф.. все равно так вроде правильней.. блин как муторно.. подскажите хороший вьювер, таблицы не большие, проще руками найти..
#33
by vega2005
В Norton Commander для DOS встроеная утилита DBFView (на F3) в не можно сделать поиск чего нибудь вроде "****" там поиск идет по всем полям сразу
#34
by ТестПопытка
вот сижу и думаю.. может правда не число? :))) GrayT, а не помнишь что он про строки писал? хотя где там переполнятся.. не прокатит.. в этом поле ошибка.. я им и смотрю, только найти не могу..
#35
by сиб
Поля раздвигать опасно, могут экранные формы покривиться, к тому же может и не помочь, например если переполнение из-за ошибочного деления на 0.
#36
by ТестПопытка
покривятся, я знаю.. лишь бы считал правильно.. не принципиально из-за чего.. Где? тогда я хотя бы знал куда в исходных данных рыть..
#38
by GrayT
Если память не изменяет, то строки тупо обрезались. Вообще то я еще на Клиппере-87 программил, ошибки "Data weight error" вообще ни когда не видел :( Zero devide - отрабатывалась отдельно
#40
by ТестПопытка
прошу прощения. "Width error" я сам клиппер вообще в глаза не видел, базу надо в чувство привести.. э-эх.. их и ищу.. найти не могу..
#42
by ТестПопытка
наверное кто-то сам написал.. прога очень хитрая.. зарплата.. мужику заплатили столько, что в программу не влезло, где-то на расчетах полетело..
#45
by skunk
есть такая утилитка ... котороая позволяет мониторить изменения при записи в файло... не когда файло открыто для чтения/записи... а именно когда в него идет риад... ставишь ее запускаешь свою прогу... включаешь мониторчик... и начинаешь смотреть куда идет риад при возникновении ошибки... и уже по файлу расскидываешь нужное поле... утилитка называлась... если память не подводить fileMonitor ... или что-то около того
#46
by ТестПопытка
яндекс пишет : FileMonitor - создает "снимок" любой папки на диске или всего диска. Спустя какое-то время можно выявить произошедшие изменения в данной папке или диске (новые файлы, стертые файлы, и т.д.). Снимок - это файл-список, содержащий основные данные обо всех файлах из выбранной папки или диска (имя файла, размер, время создания, время изменения). FileMonitor выявляет следующие изменения в папке или диске: переименованные/перенесенные (только в пределах выбранной папки/диска); файлы с изменившимся размером; файлы с изменившимся временем создания; файлы с изменившимся временем изменения; качать?
#49
by ТестПопытка
скунк, глянь пожалуйста.. :) меня что-то так ломает всю базу колбасить.. тем более что риск есть что-то еще похерить.. всего-то нужно таблицу и поле найти.. три дня еще терпит, потом придется базу хрюкать . глянь пожалуйста, если не трудно.. :)
#50
by сиб
Может путем дедукции. Если раньше работала и суммы зп в этом месяце обычные, то всякие там начисления, удержания, итоги не причем. Бывают случаи с длинными отпусками, т.е. поле для числа дней отпускных длиной 2 не хватает. Тогда меньше проверять, спроси и бух есть ли особые случаи.
#51
by ТестПопытка
я уверен на 99% что она что-то неправильно ввела, но расклад такой что нужно это показать- ткнуть носом.. я когда искал в карточках нашел мужика с тарифом 6500 р. в час, 176 часов.. базу откатил назад, ну сначала бухше на мужика указал - типа посмотри что за билл гейтс у нас работает.. видимо косяк не в нем, потому что откат не помог.. так это.. что-то мне подсказывает что нужную таблицу найти легче, чем сейчас всех проверять, потом методом дедукции можно найти откуда косяк..
#52
by сиб
Может так. Если после ошибки прога завершается то время создания нужной DBF должно быть самым свежим. В нортоне раставь по времени.
#53
by ТестПопытка
спасибо, но не помогло.. выкидывает наверх 6 таблиц, там две месячных, и 4 расчетных, самые здоровые.. не факт что последняя таблица с ошибкой, могут же и другие таблицы открытыми быть в этот момент..
#54
by raykom
Я, конечно, далек от мысли :) (цы) Абрахамс. Но, што это за число, такое большое ? Или у него дробная такая большая ? А может причина не в этом ? Я в конфе в реквизитах болше 4 и не помню. Так где, в каких таблицах конфа может хранить такие значения ? Такое число знаков может быть получено только в промежуточных расчетах, а эти значения хранятся тока в переменных. Может все проще ?
#55
by ТестПопытка
что за число я сам не знаю, его и ищу.. это не конфа и не 1С.. просто дбф база на клиппере.. с 1С кстати намного проще было б.. фигня как раз в том, что я даже таблицу не знаю, где косяк.. делается расчет, и на расчете вылетает с ошибкой.. а что он там в расчете делает, одному девелоперу известно..
#56
by formula951
1. про dbfview правильно сказали, и скорее всего ошибка закралась в последней записи БД. В первую очередь просмотри последни записи. Файл можешь отследить по дате изменения. **** - точно должны быть. Т.к. ошибка - это несовпадение длин поля и числа, которое пишется в поле. Также просмотри на глаз, в каких полях длина числа приближается к длине поля. Могут быть "накопительные" файлы, тогда придется полностью их просматривать. но принудительно (ошибкой) закрывается последняя. 2. когда определишь файл, попробуй поменять длину поля прогой dbu.exe или поменяй все поля на длину +1, В тексте проги точно нету записей типа if Len(baza.dbf->field) < len(chislo) then baza->field.dbf := "99999" иначе таких ньюансов точно не было бы.
#57
by ТестПопытка
так.. сейчас попробую. 6 таблиц закрыты в одну и ту же секунду. Но самая первая (?) в списке коротенькая расчетная про отпуск.. в ней записей вообще нет. щас я ее раздраконю..
#58
by ТестПопытка
well! well! да! помогло! расчет пошел, только косяка пока не нашел, сейчас порву эту базу на ленточки.. спасибо всем, кто откликнулся!
#59
by ТестПопытка
GrayT, это оказывается строка какая-то служебная, а не число.. Значит он не обрезает ее, может от этого и ошибка записи происходит..
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- kladr.dbf, street.dbf, socrbase.dbf
- DBF: Проблема с dbf файлом.
- Файлы t1.dbf, t2.dbf и т. д.
- Как отловить любое изменение табличной части?
- Рауз. Не указан счет учета затрат - каким отчетом отловить ошибку?
- Как отловить ошибку рлс у пользователя недостаточно прав?
- Как отловить в 1с 8.2 Управляемое приложение отловить событие перехода
- Как отловить ошибку в типовом обмене "УТ 10.3" - "БП 3.0"? (или подскажите)
В этой группе 1С
- v8. Ошибка - Невозможно подключиться к ключам защиты.
- Как исправить префиксы номеров документов в ТиС?
- У кого была проблема с клавишами Sleep, Wake, Power?
- Исполнение на клиенте/сервере для общих модулей
- Не видно автора и фирму в общем журнале
- 1С7.7 ЗиК: НДФЛ по ставке 35% с мат. выгоды
- Кто нибудь пользовался DocFile Browser под FAR?
- Возможность выгрузки прав доступа (1С 7.7)
- v8: Отбор по родителю. подскажите
- v8. Как в УПП отключить контроль отрицательных остатков?
- Тормоза SQL - только для профи, остальным просьба не мешать
- Перенос бухгалтерских остатков с помощью конфигурации "Конвертация данных"
- V7.7 Регистры. Флаг "Быстрая обработка движений"
- Проверка изменений при закрытии документа
- Ссохранить размер колонтитула в параметрах таблицы
- Вопросы для тестирования работника отдела кадров
- проблема с COPIR_SP.ERT
- Какие есть способы упорядочить регистр сведений в форме списка ?
- Выгрузка из Домино в 1С
- Как вывести нулевые значения в выходную таблицу отчета