powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Возможно ли обновление таблицы по записям входящим в запрос?
25 сообщений из 88, страница 2 из 4
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644508
MuxauJl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot m7m]MuxauJlпропущено...

По поводу не изменения табельного номера.
Лучше с этим не связываться, ибо сама природа табельного номера подразумевает его изменение, хотя в википедии и написано
"...он присваивается однократно при поступлении на работу, никогда не изменяется...", однако это не совсем верно, ибо при перемещении из подразделения в подразделение на многих предприятиях меняют табельный номер. Более того вполне возможно что у человека в одном предприятии будут _одновременно_ два разных табельных номера. А уж про повторное использование табельного номера вообще не говорю, это сплошь и рядом. Так что советую сделать для человека (не для работника) уникальный номер (условно назовем его постоянный номер) и к нему уже привязывать работника.

зы. Про табельный номер, это не мои фантазии, это опыт многих лет работы.
Правда последние лет 5-ть я этим не занимаюсь, однако не думаю что что-то кардинально изменилось.


Резонно. Изначально как я понял планировалось разбиение, именно таким образом как вы описали, но с переполнением базы это просто напросто превратилось в кашу. Свободных табельных номеров мало, переполнение таблиц одинаковыми записями (которые сначала было хотел почистить по ИНН), но понял что нарушу все связи с другими таблицами и руки опустились. Вообщем уточнил в отделе кадров, им изменение табельного номера ни к чему, а программирование в дальнейшем на мой взгляд облегчит.
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644510
MuxauJl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m7m,

А как его необходимо дописать? Я пробовал вставить IN но он там не к месту... по сути было бы замечательно сделать id in select, но не могу понять как выбрать нужный id.
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644527
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MuxauJlm7m,
А как его необходимо дописать? Я пробовал вставить IN но он там не к месту... по сути было бы замечательно сделать id in select, но не могу понять как выбрать нужный id.
Без понятия, я не вникал в запрос.

зы. Насколько я понимаю это надо сделать один раз,
и следовательно гнаться за производительностью и красотой смысла никакого нет
и поэтому предлагаю либо в XP либо в EB

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
  for select id, tn,data2 from tbl order by tn,data2 desc
into :id,:tn,:data2
do begin
  -- Поскольку мы обеспечили сортировку для каждого табельного номера по убыванию даты
  -- то при смене табельного номера (ну и при первом входе в цикл) у нас будет текущей нужная нам запись
  if (tn_old is null or tn <> tn_old) then 
     update tbl set activ=1 where id=:ud;
  tn_old=tn;
end


ну где-то так
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644536
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot MuxauJl]m7mВообщем уточнил в отделе кадров, им изменение табельного номера ни к чему, а программирование в дальнейшем на мой взгляд облегчит.
табельный номер работника
посмотри на досуге (и не только первую страницу), и особо не доверяя всему что там написано (ну когда вещают как от имени последней инстанции).
Это так для того чтобы иметь представление с чем возможно придется иметь дело.
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644537
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,
да что у меня сегодня с цитированием, всё не туда. Поря завязывать
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644541
MuxauJl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m7m,

Возможно не так понял но...
Код: sql
1.
2.
3.
4.
5.
6.
7.
 for select id,tn,cast(data2 as date) from perem order by tn,data2 desc
into :id,:tn,:data2
do begin
  if ((old.tn is null) or (tn <> old.tn)) then
     update perem set activ=1 where id=:id;
  old.tn=tn;
end



... выдаёт ошибку:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
At line 10, column 12.

Почему ему не нравится TN?
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644542
MuxauJl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тупанул, попытался в коде жирным выделить...

Вообщем там где tn окружён <b> - ошибка.
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644543
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MuxauJlПросто я хотелось бы сделать хотя бы с намёком на человечность... Я иначе
чем через актив это не представляю. И ума не хватает его заполнить.
В таком случае отойди и ничего не трогай. Вернёшься когда начнёшь представлять. Я же
сказал, что твоё поле актив - полное уродство и нарушение второй нормальной формы. За
такие вещи, сделанные без очень хорошего обоснования (каковым "не знаю как иначе"
не является) бьют больно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644546
MuxauJl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Да понимаю я что не есть хорошо актив, но мне нужно не потерять те даты которые были ранее. А там как я уже говорил у одного человека может быть несколько табельных номеров. А я хочу сделать чтобы табельные номера более не дублировались, а просто каждое увольнение помечалось как activ в таблице перемещений.
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644547
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MuxauJlя хочу сделать чтобы табельные номера более не дублировались, а просто
каждое увольнение помечалось как activ в таблице перемещений.
Для этого придётся выделить их в отдельную таблицу, как того требует третья НФ, а не
нарушать вторую.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644548
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MuxauJl
Почему ему не нравится TN?
Ну потому что я неправильно написал
вместо old.tn надо old_tn
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644550
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MuxauJl,
Прислушайся к советам DS
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644551
MuxauJl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m7m,

Извеняюсь, неправильно понял код и понаисправлял неправильно.
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644563
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7mПо поводу не изменения табельного номера.
Лучше с этим не связываться, ибо сама природа табельного номера подразумевает его изменение, хотя в википедии и написано
"...он присваивается однократно при поступлении на работу, никогда не изменяется...", однако это не совсем верно, ибо при перемещении из подразделения в подразделение на многих предприятиях меняют табельный номер. Более того вполне возможно что у человека в одном предприятии будут _одновременно_ два разных табельных номера. А уж про повторное использование табельного номера вообще не говорю, это сплошь и рядом. Так что советую сделать для человека (не для работника) уникальный номер (условно назовем его постоянный номер) и к нему уже привязывать работника.

зы. Про табельный номер, это не мои фантазии, это опыт многих лет работы.
Правда последние лет 5-ть я этим не занимаюсь, однако не думаю что что-то кардинально изменилось.Хоть и не мне адресовывалось, но всё же выскажу пару соображений.

Я не являюсь специалистом в области кадрового учёта и мои рассуждения основаны на обычной здравой логике и беглом взгляде на текущее законодательство (ТК и НПА). Так вот, во-первых, с "природностью" изменчивости табельного номера лично я категорически не согласен, так как этому нет обоснования, а само по себе это нелогично. Это же подтверждается и "рекомендацией" не выдавать табельный номер уволенного сотрудника никому другому в течение года-двух. Точно также нелогично и наличие у сотрудника одновременно двух табельных номеров даже при совместительстве.

С другой стороны, порядок присвоения табельных номеров на сегодняшний день вообще никак не не регламентирован, по сути (есть только необязательные рекомендации), хотя старые положения никто и не отменял (а может и отменял, не проверял). Т.е. порядок присвоения табельного номера как и многие другие особенности внутреннего учёта сотрудников каждая организация определяет сама.

Ну и наконец, третье, "что делать" - на сегодняшний день изменение реализации (и соответственно учёта) на единый табельный номер и его сохранение во всех случаях (включая увольнение, смену фамилии, смену подразделения и пр.) ничем вроде бы не грозит (и лично я бы делал по-человечески), хотя с твоей рекомендацией ТСу в духе "не суйся" согласен (с учётом особенностей его и и его организации) - можно сделать обычный автоинкрементный ID у сотрудников, а табельный номер - неуникальным редактируемым атрибутом в таблице интервалов работы (там же, кстати, должна быть и ссылка на ID должности, про которую ТС не упомянул).
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644565
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovВ таком случае отойди и ничего не трогай. Вернёшься когда начнёшь представлять.+1

В том смысле что доверять реализацию ПО для кадрового учёта неспециалисту -
плохая идея. Это ещё не бухгалтерия, но уже где-то рядом. И эти вещи, Михаил,
вам должны объяснять не мы, а сотрудники из вашего ОК.
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644566
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MuxauJlm7m,

Извеняюсь, неправильно понял код и понаисправлял неправильно.

Код: sql
1.
 for select id,tn,cast(data2 as date) from perem order by tn,data2 desc


судя по коду у тебя поле data2 типа char/varchar
и если это так то надо в блоке сортировке откастить его к дате
иначе будет большой сюрприз
(а вот в выборке его кастить не совершенно не надо)
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644577
MuxauJl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Намёк понял =) Вообщем решил сделать отдельной таблицей, полностью согласен что так будет лучше.

m7m,

Огромное спасибо за код. Теперь с созданием новой таблицы не будет никаких проблем.

Гаджимурадов Рустам,
Из того как была устроенна база, могу сказать следующее... При принятии на работу, человеку выдавался уникальный табельный номер, и менялся он после увольнения на 3000+... И как по мне, так бог сним, пусть бы менялся, но программа была реализована с ошибкой, и если человек приходил повторно устраиваться, табельный номер назначался заново, не убирая и не изменяя запись о уже уволенном. То есть. при двух увольнениях получалось две записи (проверил по инн). При трёх увольнениях - три.

Я не совсем понимаю зачем необходимо разграничение в табельных номерах уволенных и работающих, ведь по запросу без проблем это можно прослеживать... Но в отделе кадров меня заверили что в этом нет необходимости. Так что пока в программе мудрить не буду.

ВСЕМ СПАСИБО ЗА УЧАСТИЕ, И ДЕЛЬНЫЕ СОВЕТЫ.
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644578
MuxauJl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m7m,

Я уже разобрался когда он начал по дням сортировать =)
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644580
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MuxauJl> Из того как была устроенна база, могу сказать следующее... При принятии на работу, человеку выдавался уникальный табельный номер, и менялся он после увольнения на 3000+... И как по мне, так бог сним,
> пусть бы менялся, но программа была реализована с ошибкой, и если человек приходил повторно устраиваться, табельный номер назначался заново, не убирая и не изменяя запись о уже уволенном. То есть. при
> двух увольнениях получалось две записи (проверил по инн). При трёх увольнениях - три.
Да... Так и должно быть...
Т.е. - записей о трудящемся/таб.номере и должно быть ТРИ...
А вот о ЧЕЛОВЕКЕ - оставаться только одна...

--
Vladimir A.Bakhvaloff
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644581
MuxauJl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам, Dimitry Sibiryakov,

Вообщем то тоже с этим согласен. Скорее всего программа использоваться не будет. Но для защиты практики программу сделать я всё таки должен.
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644584
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zirra> Т.е. - записей о трудящемся/таб.номере и должно быть ТРИ...

На это есть какие-то ссылки, основания,
рекомендации, письма, постановления?
А-то из старых СССРовских положений
это не следует, а многие интерпретируют
ровно наоборот (т.е. без нового ТН).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644585
MuxauJl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zirra Да... Так и должно быть...
Т.е. - записей о трудящемся/таб.номере и должно быть ТРИ...
А вот о ЧЕЛОВЕКЕ - оставаться только одна...

--
Vladimir A.Bakhvaloff


Возможно я не так выразился. Это имеется в виду записи о общих сведениях работника. То есть, фамилия, имя, отчество, инн, мед. полис и т.д.
Возможно вы проясните ситуацию... Сколько их должно быть?
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644586
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MuxauJl> Но для защиты практики программу сделать я всё таки должен.

Тьфу, ё-моё, с этого же начинать надо!... :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644589
MuxauJl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам,

Но я же хотел как взрослый
...
Рейтинг: 0 / 0
Возможно ли обновление таблицы по записям входящим в запрос?
    #38644597
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MuxauJlдля защиты практики программу сделать я всё таки должен.
Обычно за таким заявлением идёт "всё равно я никогда программистом работать не буду" (что
правильно).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 88, страница 2 из 4
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Возможно ли обновление таблицы по записям входящим в запрос?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]