|
Программа на FoxPro | ☑ | ||
---|---|---|---|---|
0
osa1C
07.11.13
✎
11:42
|
Доброго всем времени суток! Проблема следующая: Имеется самописная заплатанная программка, написанная на Visual FoxPro. Написана соответственно не мной, я слишком слабо разбираюсь в лисах. Расчётчики случайно удалили из базы не того человека. Есть архив, и мне надо собрать по всем таблицам данные по этому человеку и скопировать в соответствующие таблицы рабочей базы. Может у кого-нибудь есть программка делающая что-то похожее? ... Чтобы я смог её допилить под свои базы?
|
|||
1
osa1C
07.11.13
✎
11:44
|
*** зарплатная программа :-)) .... очепятка
|
|||
2
skunk
07.11.13
✎
11:46
|
навряд ли ... так как на фоксе писали все кому не лень ... как сейчас одинэсники ... поэтому всяких зарплат и бухгалтерий писанных на фоксе пруд пруди и того больше ...
|
|||
3
skunk
07.11.13
✎
11:46
|
ну и соответственно у каждой из них своя структура и все такое прочее
|
|||
4
Шалун
07.11.13
✎
11:46
|
используя DBFView распометь на удаление записи по этому человеку;)
|
|||
5
Ork
07.11.13
✎
11:48
|
(4) С такой задачей фокс и сам неплохо справится. Хоть интерактивно, хоть программно.
|
|||
6
osa1C
07.11.13
✎
11:52
|
(2) задача состоит в том, чтобы перекопировать записи из одноименных таблиц в одноименные
(4) попробую конечно, но по-моему тот кто писал программку после удаления сразу паковал записи |
|||
7
aka AMIGO
07.11.13
✎
11:53
|
(6) так посмотри, авось осталась просто пометка к удалению
|
|||
8
aka AMIGO
07.11.13
✎
11:53
|
+7 см. (4)
|
|||
9
osa1C
07.11.13
✎
11:55
|
(8) посмотрю!!! .... просто сейчас пока делается копия на мой комп с сервака... пока 50%
|
|||
10
ma2
07.11.13
✎
11:55
|
(6) сразу паковать скорее всего не будут. Для этого монопольный режим использования нужен. Так что смотри удаленные записи
|
|||
11
PLUT
07.11.13
✎
11:55
|
да поставиь VFP студию себе на комп, вот там можно из консоли командами
типа use c:\zryaplata.dbf (Открыть базу данных) |
|||
12
aka AMIGO
07.11.13
✎
11:55
|
"Собрать сведения по 1 человеку" - ох и непростая задача.. надо знать описание полей в дбф-файлах, а это описание только в сопроводиловке к проектуЮ, которого уже наверняка нет
|
|||
13
PLUT
07.11.13
✎
11:57
|
||||
14
osa1C
07.11.13
✎
12:01
|
(11) Хорошая идея.... вот так наверно и начну пробовать
|
|||
15
aka AMIGO
07.11.13
✎
12:02
|
(13) я имел в виду не структуру, а назначение..
например, имеется вот такое поле QW123 С 12 вот и пойми, что оно означает, и для чего в расчетах предназначено года 3 назад я переносил из FoxPro"шной самописной зарплаты в УПП, так там были 3 тома по 2 пальца толщиной - описание структур |
|||
16
PLUT
07.11.13
✎
12:04
|
||||
17
Пеппи
07.11.13
✎
12:08
|
Мда
нелегкая это работа из болота тащить бегемота :) Что именно удалили то? Всю зарплату за все время с человеком или что? |
|||
18
PLUT
07.11.13
✎
12:09
|
(4) не очень хорошая идея, т.к. у Лисы свой формат dbf, да еще BLOB-поля есть (например для хранения картинок). 1С не шмогла нормально с VFP-базой dbf нормально работать, пришлось выгрузку в VFP писать, отдельно загрузку в 1С
|
|||
19
Lexik
07.11.13
✎
12:13
|
APPEND FROM в Фоксе при двух открытых базах по условию вытащат нужные данные, ИМХО!
|
|||
20
PLUT
07.11.13
✎
12:13
|
+(18) через xBase в 1С7.7. а до ADO я тогда не дорос еще :)
|
|||
21
osa1C
07.11.13
✎
12:15
|
(17) Удалили человека.... соответственно его не видно в программе, и данных по расчету по нему нет в отчётах
|
|||
22
skunk
07.11.13
✎
12:15
|
(6)я тебя прекрасно понял ... но тебе ведь нужны связанные данные из всех таблиц ... а это значит программа должна знать как и по какому полю происходит связывание разных таблиц
|
|||
23
osa1C
07.11.13
✎
12:18
|
Хотел скачать себе Microsoft® Visual FoxPro 9.0, но если сейчас начну качать с работы через торррент, забью весь инет... Буду качать из дома, так что если у кого будут ещё идеи пишите!
|
|||
24
PLUT
07.11.13
✎
12:20
|
||||
25
aka AMIGO
07.11.13
✎
12:21
|
(22) в принципе в FoxPro есть отладка, можно просто посмотреть по трассе, где и что удаляется.. но для этого надо знать язык FP.. тоже неудобный выход
(23) успехов тебе в перекачивании! :) и привет городу-саду на иртыше с омью :) |
|||
26
Зойч
07.11.13
✎
12:22
|
если больше ничего не удаляли, то можно перенести все записи из бэкапа которых нет в тек базе во все таблицы
|
|||
27
rphosts
07.11.13
✎
12:22
|
(21) 90%+, что интерфейс позволил юзерам только пометить на удаление 1/ряд записей. В этом случае нужно снять с неё пометку удаления и всё
|
|||
28
aka AMIGO
07.11.13
✎
12:25
|
(27) ссылки там есть.. при пометке на удаление тоже помечаются автоматом, и кто его знает, может при распометке поля-владельца и не восстанавливаются
|
|||
29
PLUT
07.11.13
✎
12:25
|
(27) возможно в этой самопиське используют команду PACK
|
|||
30
PLUT
07.11.13
✎
12:26
|
||||
31
aka AMIGO
07.11.13
✎
12:28
|
(29) пара возможных мест: при удалении в диалоге, или при удалении отдельной процедурой..
отдельная проца позволяет опомнившемуся не нажимать кнопку, а снять пометки к удалению в базе |
|||
32
osa1C
07.11.13
✎
12:28
|
(25) Бывал у нас?
|
|||
33
aka AMIGO
07.11.13
✎
12:29
|
(32) жил с 7 до 27 лет :)
|
|||
34
osa1C
07.11.13
✎
12:29
|
(33) Вот оно как! .... А я живу с 0 и до сих пор
|
|||
35
rphosts
07.11.13
✎
12:31
|
(29) ага, скажи ещё каждый день! Вот кто выполнил пак - пусть и всё забивает ручечками
|
|||
36
rphosts
07.11.13
✎
12:31
|
(28) для правильной распометки есть программист, распометить по условию много проще чем дозаливать
|
|||
37
1dvd
07.11.13
✎
12:32
|
||||
38
aka AMIGO
07.11.13
✎
12:33
|
(35) неизвестно ведь, где и в какое время этот пак-то производится :)
1. интерактивно, сразу послерешения удалить 2. отдельной процедуркой с нопкой "удалить физиццки" |
|||
39
rphosts
07.11.13
✎
12:34
|
(25).2 не-не-не, город-сад это сказал Маяковский про Кузнецкстрой (нынче Новокузнецк).
|
|||
40
osa1C
07.11.13
✎
12:35
|
(35) проблема в том, что программиста, который это писал, я знаю лично.... поверьте мне тот ещё олень... и писал так, что стыдно смотреть на код было... (сейчас весь запаролил). С ним все давно переругались и не хотят использовать его программу. Сейчас сам занимаюсь настройкой наших расчетов в ЗУП, но пока приходится использовать его программу, пока я не закончу
|
|||
41
osa1C
07.11.13
✎
12:36
|
(39) Омску название город - сад было присвоено официально ещё при СССР ... конкурс тогда между городами производился
|
|||
42
rphosts
07.11.13
✎
12:38
|
(38) reFox ведь никто не отменял(даже если исходников нет, что не есть нормально)? И вообще не вижу проблемы открыть справочник ФЛ из фокса или любого вьювера dbf) и посмотреть осталась там эта запись или её нет. На обсуждение уже ушло много больше времени чем нужно что-бы посмотреть на табличку
|
|||
43
rphosts
07.11.13
✎
12:40
|
(40) начни уж что-нить делать, серебряной пули которая за тебя всё сделает тебе никто не выдаст, так что тебе придётся поработать при любом раскладе ручками и возможно головой. И нет ни какой гарантии что базу не упакую именно в тот момент, пока ты будешь разговоры разговаривать... физическую копию каталога с базой уже сделал?
|
|||
44
aka AMIGO
07.11.13
✎
12:41
|
(39) ""Город-сад, ветки яблонь, акаций и клёнов" - кажется, это "Омский вальс". Музыка Яркова, стихи Васильева. Песня была выпущена на пластинке "Омские мелодии", где её исполнил Александр Розум. http://vlatisa.livejournal.com/59296.html ""
Цитата ув. fellow :) |
|||
45
aka AMIGO
07.11.13
✎
12:44
|
(40) если нет всего одного человечка - так и бог с ним, введи отдельно в ЗУП, либо расчеты, либо остатки уж..
гораздо проще будет.. ИМХО, конечно |
|||
46
osa1C
07.11.13
✎
12:49
|
(45) Я ввожу в ЗУП расчеты... у нас тут специфическая система расчетов... поэтому с остатками лучше не париться
|
|||
47
kosts
07.11.13
✎
12:51
|
В тестовой базе при помощи удаления еще одного человека выявить таблицы которые подвергаются модификации.
Потом сравнить, что именно было удалено сравнением исходной и модифицированной. Унделетем лучше не пользоваться, там может быть куча не уже нужных данных в помеченных. |
|||
48
osa1C
07.11.13
✎
12:53
|
(43) Копию конечно сделал, в ту же минуту, когда мне об этом сообщили. Всех выгнал из программы и сделал копию, а с копии ещё и архив :)
|
|||
49
Андрей_Андреич
naïve
07.11.13
✎
12:54
|
хороший повод перейти на ЗУП
|
|||
50
aka AMIGO
07.11.13
✎
12:57
|
(47) я не рискнул этот вариант предложить, хотя мысля такая проскочила.. :)
а старого прогера можно понять.. во-первых уже изрядно подзабыл, где там что делается, во-вторых - имхо - не светит большая оплата.. (46) а как с прошлыми периодами? ведь вам потребуются сведения за год для расчетов по среднему.. Это у меня головная боль была еще та.. |
|||
51
Ёпрст
07.11.13
✎
13:00
|
(48) если с базой не работали сразу после удаления, то всё лекго восстанавливается, достаточно снять маркер удаления в нужных dbf-ках с нужных записях.. и усё.
|
|||
52
Ёпрст
07.11.13
✎
13:00
|
(47) я бы тоже так сделал :)
|
|||
53
aka AMIGO
07.11.13
✎
13:02
|
(52) ну, видишь-ли.. ТС не работал с dbf-ами, так что будет весьма не просто разобраться в логике foxpro
|
|||
54
osa1C
07.11.13
✎
13:32
|
(53) мне сейчас немного человек один подсказал про структуру... и в принципе по его словам всё сделать не очень сложно, но мне бы теперь утилитку, которой можно было бы выделить нужные мне строки, скопировать и вставить в рабочую таблицу ... никто такой не знает????
|
|||
55
rphosts
07.11.13
✎
13:34
|
(47) >Унделетем лучше не пользоваться, там может быть куча не уже нужных данных в помеченных.
анделет + условие + чуть-чуть работы мозга, хотя-бы спинного спасут, но если как писали выше не выполнили пак |
|||
56
elCust
07.11.13
✎
13:36
|
Оххх как же давно я не думал о FoxPro. Спасибо.
|
|||
57
rphosts
07.11.13
✎
13:37
|
(54) "выдели" их посредством:
Set Filter To или сразу сделай ReCall For и вообще по мне так у ФП очень даже вменяемый хэлп по языку точно! нет у ФП команды анделете а есть рекалл |
|||
58
osa1C
07.11.13
✎
13:40
|
(57) ну выделить то я выделю.... а как выделенное перенести в другую таблицу?
|
|||
59
PLUT
07.11.13
✎
13:40
|
(58) скачать учебник для чайников по VFP
|
|||
60
kosts
07.11.13
✎
13:42
|
(58) Если не ошибаюсь, то (19) APPEND FROM ...
|
|||
61
PLUT
07.11.13
✎
13:42
|
||||
62
PLUT
07.11.13
✎
13:43
|
(58) "теоретик" :) VFP уже поставил?
|
|||
63
osa1C
07.11.13
✎
13:44
|
+(54) какая-то утилитка есть bro называется, но в новой версии функции выделения строк и копирования отключены... А старую версию, человек с которым я консультировался, потерял
|
|||
64
aka AMIGO
07.11.13
✎
13:44
|
(58) чего выделять/копировать-то? нужные тебе записи/строки уже есть в дбф-ах, только они помечены, как неиспользующиеся (только помеченные/удаленные), на них в утилите ДБВью слева стоит точка, снимающаяся левой кнопкой мыши..
удалил точку - строка/запись восстановлена |
|||
65
kosts
07.11.13
✎
13:47
|
(64) А как отделить помеченные только что, от сто лет назад помеченных?...
|
|||
66
aka AMIGO
07.11.13
✎
13:48
|
(64) + нет, тут я могу быть неправ.. извини osa1C ..
(65) не знаю.. видимо, никак, в дбф-файле сведений о дате/времени работы с ними нет |
|||
67
aka AMIGO
07.11.13
✎
13:49
|
+66 искать только по фамилии, да по ссылкам..
трудная это работа.. надо модуль обработки писать, кмк.. |
|||
68
aka AMIGO
07.11.13
✎
13:51
|
тут вот что.. всё, что можно - перетащить из рабочей старой проги, а одного человека - отдельно, из старого архива
|
|||
69
osa1C
07.11.13
✎
13:51
|
(67) искать можно по табельному... во всех нужных таблицах он есть
|
|||
70
aka AMIGO
07.11.13
✎
13:53
|
(69) ну, да.. по-идее, основой является ТН..
и всё-таки - рекомендую (68) |
|||
71
osa1C
08.11.13
✎
10:12
|
Не поверите как решилась моя проблема... я пересмотрел все таблицы базы и нашел данные по удаленному человеку НО даже не помеченными на удаление! ... При этом записи по нему в программе оставались не видны. Просто на копии решил занести этого человека заново. И, о чудо... когда ввёл его фамилию в списке появились все его однофамильцы и в том числе и он сам... дальше просто его выбрал и сохранил. Все начисления, удержания ... и т.д. и т.п. вернулись на место.
Оказывается на "удаленных" строчках базы программист не ставил пометку удаления, а в определенное поле забивал 99999999999. При этом такая запись становилась невидна и не участвовала в расчетах. Нет худа без добра, зато почти за два дня этого геморроя, почти полностью разобрался со структурой базы. Всем огромное спасибо за помощь! |
|||
72
kosts
08.11.13
✎
10:23
|
(71) Значит не всё старый программист плохо сделал...
|
|||
73
Принт
08.11.13
✎
10:24
|
(72) типа 1С делает по-другому
|
|||
74
kosts
08.11.13
✎
10:25
|
(73) Так, да не так.
|
|||
75
osa1C
08.11.13
✎
11:14
|
(72) Не совсем всё хорошо.... База из-за удаленных строчек растет на глазах, некоторые операции делаются ОЧЕНЬ долго. Например, расчет отпуска для человека может длится до двух часов ... и к концу года всё дольше и дольше. А как пакануть базу я пока не разобрался
|
|||
76
kosts
08.11.13
✎
11:47
|
(75) Поди ни одного индекса нет?...
Попробуй команду PACK для больших таблиц сделать. |
|||
77
osa1C
08.11.13
✎
11:57
|
(76) В таблицах нет строк помеченных на удаление! В том вся и проблема
|
|||
78
osa1C
08.11.13
✎
12:01
|
(76) + (77) Индексы есть
|
|||
79
kosts
08.11.13
✎
12:03
|
(78) Ну значит криво написано, т.к. foxpro довольно резво данные обрабатывал.
|
|||
80
osa1C
08.11.13
✎
12:13
|
(79) Я о том же, что криво ;)
|
|||
81
osa1C
08.11.13
✎
12:43
|
(79) Нашел тут функцию программы архивирование баз... кто же её в такую даль запрятал(((( .... но и она почему-то не все ненужные записи вычищает, но хоть что-то
А ещё тут расчетчики больничные в ручную считают, из-за того, что не возможно поменять МРОТ.... где-то он программно зашит. Ох, скорее мне надо доделывать расчетную схему на ЗУП, а то задолбают |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |