|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
Вот такой вопрос. Работаю в FoxPro 9. пока только учусь. Задание зделать программу которая будет выявлять изминения в таблице отдела кадров и выводить их в отчет. Это я сделал. Осталось сделать так что бы эти люди с отчета убирались автоматически после завершения редактирования их данных. А тех кого не отредактировали, оставались и высвечивались при следующем запуске программы. Как то так...есть таблица кадров,и есть копия этой таблицы. При их сравнении весвечивает изменения. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2014, 12:48 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
pafosjoker, Особенно порадовало " люди с отчета убирались автоматически " и "тех кого не отредактировали". А вообще ничего не понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2014, 13:27 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
С отчета тех по которым были изменения. Что бы она били в этом списке до тех пор пока им не дадут статус проверено.IgorNG, ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2014, 14:30 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
pafosjoker, Если есть статус, то зачем сравнивать 2 таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2014, 19:00 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
alextashk, 2 таблици. Копия и основная. мы их сравниваем для получения тех изменений которые были внесены в основную. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2014, 15:45 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
pafosjoker, Это у вас такой своеобразный многопользовательский режим работы? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2014, 15:51 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
IgorNG, я только учусь. Так как весь отдел на ABAP сидит. Мне сказали FoxPro освоить. Дали задание...алгоритм сложил. Начальный запрос по пунктам сделал. остался последний...вот алгоритм 1. сравниваем копию и основную таблицу 2. Находим отличия 3. Все найденные изменения выводим на экран 4. Параллельно Создать отчет по изменениям для возможности дальнейшей обработки 5. Создаем копию таблицы отдела кадров с интересующими данными для следующего сеанса..(причем при проверке после закрытия люди которые высветились должны и потом высветися до тех пор пока по ним не примут меры, после чего их надо скрыть) вот в этом я запутался имея начальные знания ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2014, 16:10 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
pafosjoker, Надеюсь, это не 1-апрельская шутка? Вот у вас есть 2 таблицы - основная и копия. Вы создаёте курсор содержащий различные или идентичные записи. И что дальше? С какой частотой у вас создаётся копия. Если слишком часто - то у Вас отличия будут малы или их вообще не будет если слишком редко - то у Вас отличий будет слишком много или всё будет отличаться. И что, дальше? Поэтому лучше Вам вернуться к моему предложению - полю DT которое меняется при изменении записи. и от него плясать. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2014, 21:29 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
alextashk, где вы тут шутку нашли? я только учусь...она должна обновлятся при окончании работы программы. и обновлять только тех, по кому уже приняли меры. могу запрос скинуть... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2014, 10:10 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
pafosjokerвот алгоритм 1. сравниваем копию и основную таблицу 2. Находим отличия Делается одним запросом: Код: sql 1. 2. 3. 4. 5. 6.
Курсор - это таблица в памяти. При выходе из FoxPro данные из курсора пропадают. pafosjoker3. Все найденные изменения выводим на экран Здесь уже не так все однозначно... Можно форму сделать с гридом... А можно и по-простому, browse использовать... pafosjoker4. Параллельно Создать отчет по изменениям для возможности дальнейшей обработки Можно в генераторе отчетов шаблон для репорта сделать, если я правильно понял. А можно и с Экселем поиграться... если время есть... pafosjoker 5. Создаем копию таблицы отдела кадров с интересующими данными для следующего сеанса..(причем при проверке после закрытия люди которые высветились должны и потом высветися до тех пор пока по ним не примут меры, после чего их надо скрыть) вот в этом я запутался имея начальные знания Сохраняем в таблицу (файл dbf)... например так: Код: sql 1. 2. 3.
pafosjokerОсталось сделать так что бы эти люди с отчета убирались автоматически после завершения редактирования их данных. Остается вопрос: как Вы узнаете, что по людям "приняли меры"? Для этого Вам и советовали завести в записи какой-то признак... Чтобы по этому признаку узнавать, что нужно отражать в отчете, а что - нет... Ну или повторите все пункты с 1 по 4... в духе клиент-серверной технологии (запрос данных - изменение - сохранение - перезапрос данных)... А так, по сути проблемы. Странный какой-то начальник. Зачем данные SAP куда-то гонять? Не проще ли все сразу в SAP сделать? Тем более, насколько я понял, время и абаперы есть, а FoxPro-шников - нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2014, 21:29 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
Станислав С...кий, Спасибо. Абаперы есть, а данные в FoxPro пишу я один. Сказали учись работать на FoxPro... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2014, 09:21 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
Видимо, "учись работать на FoxPro" означает "займись чем хочешь, только не мешай абаперам" :) Станислав С...кийpafosjokerвот алгоритм 1. сравниваем копию и основную таблицу 2. Находим отличия Делается одним запросом: Код: sql 1. 2. 3. 4. 5. 6.
Я думаю, в первом WHERE между сравнениями полей должны быть не AND, а OR. Маловероятно, что за один раз для человека изменятся значения всех полей. И ещё важно определиться, по какому условию связывать записи основной таблицы и копии. Станислав написал tab_nr, что как бы подразумевает табельный номер. Будут некоторые проблемы, если табельный номер у человека тоже может измениться. Лучше использовать внутренний код, неизменный для данного человека. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2014, 12:23 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
SoftwareBoy, Добавь в базу поле Checksum и используй функцию SYS(2017,"Checksum") - Record Checksum Value Сначала пройдись по всей базе командой Replace all Checksum with SYS(2017,"Checksum") Если что-то кто-то изменил, то это элементарно вылезет через фильтр Set filter to !Checksum=SYS(2017,"Checksum") Для акцепта изменений надо просто дать команду для конкретной записи Replace Checksum with SYS(2017,"Checksum") ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 16:04 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
pafosjokerСказали учись работать на FoxPro... Странное у тебя понимание слова "учись". Обычно сначала книжку какую-нибудь почитают, хотя бы основы изучат, а ты сразу в форум, типа "поработайте за меня". Кто сказал учиться в курсе как ты учишься? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2014, 16:11 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
SoftwareBoy, IF! EOF() PRIVATE m.sel_old, m.kdk_cur m.sel_old = ALIAS() UPDATE (m.sel_old) SET Cfldnik = '1' where 1=1 m.kdk_cur = sys(2015) =usql_exec([select n_kdk, kk42, ceh, kzbr, kslp, '0' as metka from _kdk937 ], (m.kdk_cur)) SELECT(m.kdk_cur) index on allt(n_kdk) + allt(kk42) + allt(STR(ceh)) + allt(kzbr) + allt(kslp) tag sort SELECT(m.sel_old) set relation to allt(n_kdk) + allt(cfldkk42) + allt(STR(cfldceh)) + allt(cfldkzbr) + allt(cfldkslp) into &kdk_cur allt(cfldkzbr) + allt(cfldkslp) â (&kdk_cur) REPLACE all ; Cfldnik with &kdk_cur..metka set relation off into &kdk_cur allt(cfldkzbr) + allt(cfldkslp) â (&kdk_cur) SELECT(m.sel_old) delete from (m.sel_old) where allt(Cfldnik) == '0' SELECT(m.sel_old) GO top ENDIF написать я написал...оно вывело отчет с человеком у которого в данных были изменения, после чего мне нужно как то сделать так что б его программа убрала как только ему дадут значение обработан. Что и куда вставить? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2014, 10:06 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
Dima T, я в курсе как учится. Те сказать как есть? пришел на работу. В FoxPro не писал никогда. Тоесть чисто логинчо в душе не епу. Есть 2 месяца испытательного срока, и сразу дали задание, которое я должен сдать до 16 апреля. Рассказали че и куда пару ходов,сказали гугль в помощь и учись..как то так... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2014, 10:26 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
pafosjokerSoftwareBoy, написать я написал...оно вывело отчет с человеком у которого в данных были изменения, после чего мне нужно как то сделать так что б его программа убрала как только ему дадут значение обработан. Что и куда вставить? Дадут значение обработан - где (в какой таблице)? Программа убрала - откуда (из какой таблицы)? Код: sql 1.
Никогда не связывай таблицы такими условиями! Заведи в таблице уникальный ключ. Код: sql 1.
Это я вообще не понял что такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2014, 11:36 |
|
Помогите написать программу для отдела кадров.
|
|||
---|---|---|---|
#18+
SoftwareBoy, 2 таблицы кдк и копия кдк для сравнения. кдк основная а кдк937 копия. allt(cfldkzbr) + allt(cfldkslp) â (&kdk_cur) это вообще помоему коментарий был... как он суда попал хз...так это ИТ предприятия и FoxPro там такие имена полей типа... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2014, 13:10 |
|
|
start [/forum/topic.php?fid=41&tid=1582689]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 315ms |
total: | 463ms |
0 / 0 |