Как перебросить часть данных по зарплате

ПНР и сопровождение

Модераторы: m0p3e, edward_K, Модераторы

Ответить
maikl
Местный житель
Сообщения: 1503
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь

Как перебросить часть данных по зарплате

Сообщение maikl »

Есть две базы, одна из чих чистая. Стоит задача из одной базы перебросить часть сотрудников, со всеми анкетными и т.д. данными, т.е. карточку сотрудника. У кого нибудь есть такой опыт ?
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Сообщение s2176 »

Мы когда-то, лет 5 назад, делали такое, но с помощью интерфейса.
В новую базу подкладывали все таблицы с персональной информацией из старой базы (persons, адрес, паспорт и пр, точно не помню уже). Делали xls-файл со списком сотрудников, которые переходят в новую организацию. Потом интерфесом в соответствии с этим списком правили файл persons, меняли поле filialno (можно и другое), в нем ставили, например "5", тем, кто останется работать в новой организации. Затем остальных удаляли запросом. Из остальных таблиц с персональной информаций ненужные записи также удалили запросом.
Кто сказал, что бесполезно биться головой об стену?!
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

если база небольшая, то этот вариант оптимальней. - лучше вы забудете чего то удалить, чем забудете перенести.
Если же очень большая то мож это вам поможет

Код: Выделить всё

select lschet.* where (( 89 == lschet.tabn )) to dbf c:\1\lschet ;
select persons.* where (( 89 == lschet.tabn and lschet.tperson == persons.nrec )) to dbf c:\1\persons;
select doplata.* where (( 89 == doplata.tabn )) to dbf c:\1\doplata ;
select xarpred.* to dbf c:\1\xarpred ;
select perech.* to dbf c:\1\perech ;
select klvidopl.* to dbf c:\1\klvidopl ;
select KLPEROPL.* to dbf c:\1\KLPEROPL ;
select KLalg.* to dbf c:\1\KLalg ;
select KLrejim.* to dbf c:\1\KLrejim ;
select child.* where (( 89 == child.tabn )) to dbf c:\1\child ;
select shtraf.* where (( 89 == shtraf.tabn )) to dbf c:\1\shtraf ;
select PEREXOD.* where (( 89== perexod.tabn )) to dbf c:\1\perexod ;
select CHILD.* where (( 89 == child.tabn )) to dbf c:\1\child ;
select CHILDone.* where (( 89 == childone.tabn )) to dbf c:\1\childone ;
select UCHRABVR.* where (( 89 == uchrabvr.TABN )) to dbf c:\1\uchrabvr ;
select SUMVIDOP.* where (( 89 == TABN )) to dbf c:\1\sumvidop ;
select SUMVIDUD.* where (( 89 == TABN )) to dbf c:\1\sumvidud ;
select NACHISL.*  where (( 89 == TABN )) to dbf c:\1\nachisl ;
select UDER.* where (( 89 == tabn )) to dbf c:\1\uder ;
select PEREVOD.* where (( 89 == tabn )) to dbf c:\1\perevod ;
select PRMONTH.* where (( 89 == tabn )) to dbf c:\1\prmonth ;
select CURMONTH.* where (( 89 ==  TABN )) to dbf c:\1\CURMONTH ;
select BLISNET.* where (( 89 ==  TABN )) to dbf c:\1\blisnet ;
select OTPUSK.* where (( 89 == TABN )) to dbf c:\1\otpusk ;
select arotpusk.* where (( 89 == otpusk.tabn and otpusk.nrec /== arotpusk.cotpusk )) to dbf c:\1\arotpusk ;

select factotpusk.* where ((89 == otpusk.tabn and otpusk.CFACTOTPUSK == factotpusk.nrec )) to dbf c:\1\fotpusk ;

select PRVIDOPL.* where (( 89 == TABN(noindex) )) to dbf c:\1\prvidopl ;
select ARHPEREX.* where (( 89 == TABN )) to dbf c:\1\arhperex ;
select PEREVODTEK.* where (( 89 == TABN )) to dbf c:\1\perevodtek ;
select SYS_NAR.* to dbf c:\1\sys_nar ;
select pRNARYAD.* where (( 89 ==  TABN )) to dbf c:\1\prnaryad ;
select DOPNAP.* where (( 89 ==  TABN )) to dbf c:\1\dopnap ;
select DOPNAL.* where (( 89 ==  TABN )) to dbf c:\1\dopnal ;
select DOGARX.* where (( 89 ==  TABN )) to dbf c:\1\DOGARX ;
select BRWORK.* where (( 89 ==  TABN(noindex) )) to dbf c:\1\BRWORK ;
select TABHELP.* where (( 89 ==  TABN(noindex) )) to dbf c:\1\TABHELP ;
select NENACH.* where (( 89 ==  TABN )) to dbf c:\1\NENACH ;
select LSTAB.* where (( 89 ==  TABN )) to dbf c:\1\LSTAB ;
select lstabmsk.* where (( 89 ==lstab.tabn
  and lstab.nrec /== lstabmsk.clstab )) to dbf c:\1\lstabmsk ;

select VARIANCE.* where (( 89==lstab.tabn
  and lstab.nrec /== VARIANCE.clstab )) to dbf c:\1\VARIANCE ;

select ARXTAR.* where (( 89 ==  TABN )) to dbf c:\1\ARXTAR ;
select SPPLBAN.* where (( 89 ==  TABN(noindex) )) to dbf c:\1\SPPLBAN ;
select SUMULTEC.* where (( 89 ==  TABN )) to dbf c:\1\SUMULTEC ;
select SUMULPRO.* where (( 89 ==  TABN )) to dbf c:\1\SUMULPRO ;
select SUMULBUD.* where (( 89 ==  TABN )) to dbf c:\1\SUMULBUD ;
select SUMUPTEC.* where (( 89 ==  TABN )) to dbf c:\1\SUMUPTEC ;
select SUMUPPRO.* where (( 89 ==  TABN )) to dbf c:\1\SUMUPPRO ;
select SUMUPBUD.* where (( 89 ==  TABN )) to dbf c:\1\SUMUPBUD ;
select DOPNAL2.* where (( 89 ==  TABN )) to dbf c:\1\DOPNAL2 ;
select NALPERS.* where (( 89 ==  TABN(noindex) )) to dbf c:\1\NALPERS ;
select STORNTAB.* where (( 89 ==  TABN(noindex) )) to dbf c:\1\STORNTAB ;
select OTPDOP.* where (( 89 ==  TABN(noindex) )) to dbf c:\1\OTPDOP ;
select SUMUPSOC.* where (( 89 ==  TABN(noindex) )) to dbf c:\1\SUMUPSOC ;
select SUMULSOC.* where (( 89 ==  TABN(noindex) )) to dbf c:\1\SUMULSOC ;
maikl
Местный житель
Сообщения: 1503
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь

Сообщение maikl »

Спасибо, но нас больше интересуют даные из Персонала, из картотеки сотрудников. Как из проще перебросить ?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

все примерно как lstabmsk, Только в в подчинененых person или cpersons. Можно по x$fields +x$files отобрать(и сгенерить) - у меня нет готового. Справочник в 90% catalogs, ну еще sterr, klrejim , klotpus, klblisnet - проще чем зарплату тянуть.
Ответить