Просмотр полной версии : Редактирование баз
Здравствуйте!
Ситауция следующая: полетела база, то есть касса перезагрузилась и при загрузке после переиндексации висла (после Reindex.. переходит на след строку и стоит) случайно подкинул базу с другой станции, которая уже отработала полдня, после чего все заработало и думал что на этом все. Но в конце дня день не закрылся, видимо потому что в системе имеются чеки со второй станции. В данный момент подкинул бэкап базы, все работает. Необходимо выгрузить данные за злополучный день...
Интересует такой вопрос, можно ли из например двух check.db сделать один?
Ну, то есть, имеется две папки database с одной станции: в первой - первая половина дня, во второй - вторая (но в здесь же находятся чеки первой половины дня со второй станции), необходимо их как то объединить их чтобы закрыть корректно день, или же закрыть их по очереди, но при этом возможно ли удалить неверные значения из одного из них (данные со второй станции)?
касса 6.77 мен 6.81
случайно подкинул базу с другой станции
O_o ничего себе "случайность".
Но в конце дня день не закрылся, видимо потому что в системе имеются чеки со второй станции.
Вряд ли из-за этого.
при этом возможно ли удалить неверные значения из одного из них (данные со второй станции)?
Это как раз легко, взять да и потереть ненужные строки во всех файлах.
необходимо их как то объединить
Да, а вот это вопрос. Наверное, есть какие-то утилиты по работе с таблицами, которые это позволяют, но вот какие?
VampireKB
21.08.2011, 19:33
Вряд ли из-за этого.
из-за этого :)
Это как раз легко, взять да и потереть ненужные строки во всех файлах.
Ну ка ) Покажи как рядовой системщик будет легко удалять строчки о которых ничего не знает :) ( ну хот да..спустя неделю мук и страданий..(с) )
Да, а вот это вопрос. Наверное, есть какие-то утилиты по работе с таблицами, которые это позволяют, но вот какие?
;)
из-за этого
Ммм... А станции не все равно при закрытии дня, что в базе лежит?
видимо нет, пишет что то вроде "не закрыт день второй юнит" (2 юнит - станция с которой копировал базу)
вот щас например отредактировал check.db редактором dbd32 - удалил лишнее, добавил нужное но столбцы cnum и lnum не совсем правильно получаются, то есть 1-18 первая половина дня и следом 1-85 вторая половина дня (LNUM) и 1-18 и 121-205 соответственно CNUM. на что влияют эти значения и влияют ли они вообще на что либо?:) и какие файлики еще следует отредактировать, которые отвечают за данные для закрытия дня?
А станции не все равно при закрытии дня, что в базе лежит?
нет, в базе есть запись, с какой именно станции был пробит чек, допустим и юнит1 и юнит2. И если в еодее нет отметки, что день закрыт по юнит2, то на юните1 будет упорно твердится, что не закрыт день на втором юните.
---------- Сообщение добавлено в 20:12 ---------- Предыдущее сообщение было в 20:11 ----------
CNUM
это САМАЯ главная сквозная идентификация конкретного чека во всех базах.
тогда в данном случае если CNUM 1-18 и с 121-205 то нужно их редактировать или можно оставить как есть?
и как насчет файлов для закрытия дня? помимо check.db какие еще?
diz, посмотрите любой OLDRES, увидите полный список.
---------- Сообщение добавлено в 20:25 ---------- Предыдущее сообщение было в 20:24 ----------
И если в еодее нет отметки, что день закрыт по юнит2, то на юните1 будет упорно твердится, что не закрыт день на втором юните.
Правильно, но, я думаю, топикстартер догадался закрыть день на втором юните (и запись в eoday должна была быть), а ошибка похоже все равно была.
---------- Сообщение добавлено в 20:26 ---------- Предыдущее сообщение было в 20:25 ----------
Ну ка ) Покажи как рядовой системщик будет легко удалять строчки о которых ничего не знает
Он уже :) Зато в базе разберется.
ага. сижу ищу файлы в которых данные различаются в обеих папках, потом буду удалять/добавлять..
пока это только check opert rcheck pccheck..
а как же все таки с порядком строк? в каждом файле явно будут отсутствовать с 19 по 120 строки..
Ну, можно попробовать проигнорить, закрыть так и посмотреть, что будет.
Если не получится, редактировать CNUM.
попробую. а за что отвечают reorddet.db reorders.db vcheck.db?
и нужно ли, и чем можно если нужно открыть *.px и *.mb в частности check.px и opert.mb
кстати dcheck пустой - это удаленные чеки? dcontrol и devusing тоже пустые, что это может означать?
vcheck.db?
void - удаленные чеки.
нужно ли, и чем можно если нужно открыть *.px и *.mb в частности check.px и opert.mb
Не нужно.
за что отвечают reorddet.db reorders.db
Не помню :( Думаю, что не важно.
Не нужно.
то есть их получается можно и не подкладывать для закрытия дня?
Не помню Думаю, что не важно.
но в них тоже строки различаются. и как я понял reorddet это расход блюд а вот reorders совсем мне непонятен.
кстати dcheck пустой - это тогда что? dcontrol и devusing тоже пустые, что это может означать?
как я понял reorddet это расход блюд
Нет, это, кажется, отказы. Вы их все равно толком не соберете, скорее всего.
вот reorders совсем мне непонятен
Это вполне может быть кассовый протокол.
то есть их получается можно и не подкладывать для закрытия дня?
Нет, не получается. Подкладывать можно, но можно пустыми или возьмите от любой базы.
кстати dcheck пустой - это тогда что?
Это значит, что скидок (discount) не было.
dcontrol и devusing тоже пустые, что это может означать?
Тоже, что не было событий, которые записываются в эти файлы.
VampireKB
21.08.2011, 23:57
Это вполне может быть кассовый протокол.
это не протокол :)
Эхх,а можно было в режиме реального времени конфетку сделать из 2ух баз... :(
это не протокол
Ну не помню точно, а смотреть лень :)
Эхх,а можно было в режиме реального времени конфетку сделать из 2ух баз...
Что имеешь ввиду?
VampireKB
22.08.2011, 00:16
Что имеешь ввиду?
имею ввиду ровные отчеты с нормальным кассовым протоколом,расходом блюд,переносами,скидками,о казами,переносами и ,естественно,оплатой :)
Эхх,а можно было в режиме реального времени конфетку сделать из 2ух баз...
и как если не секрет? или же все таки секрет?
всем спасибо, все решилось.
1) подложил первую базу, закрыл день.
2) удалил со второй базы чеки другого юнита и переписал значения cnum начиная с 1го.
3) подложив отредактированную вторую базу закрыл еще раз день и все ок.
Вам повезло, что в Вашей версии следующие данные не затирают предыдущие.
ну бэкап то я делал. ну не получилось бы так, тогда бы скрещивал два файла в один по каждой базе, или же пробовать во второй базе cnum переписать на значения, после значений первой базы (в моем случае начиная с 19).
В любом случае, поздравляю с успехом!
В любом случае, поздравляю с успехом!
Спасибо большое и Вам за помощь :)
Для проверки правильности сделанного сравните сумму выручки за день, с суммой в отчете по расходу.
Для проверки правильности сделанного сравните сумму выручки за день, с суммой в отчете по расходу.
хорошо, спасибо! буду иметь в виду хотя все вроде верно отредактировал, check opert pcheck rcheck.. в последнем я так понял данные по расходу. и кстати reorddet и reorders как мне объяснили это данные по незакрытым столам вроде, так что их редактировать не стал..
Данные по открытым столам содержатся в файле orders.db, который находится в папке DATABASE и в папку закрытия дня не попадает.
Данные для отчета по выручке берутся из файлов check, dcheck, pcheck. Данные для отчета по расходу берутся из rcheck. Сравнив итоговые суммы этих отчетов можно проконтролировать правильно ли все поправлено.
сравнил - все сошлось идеально.
Значит можно быть спокойным - все сделано правильно.
Powered by vBulletin® Version 4.2.6 LTS Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot