Topic: Как выдать сотруднику СИЗ определённые нормами для его профессии?

Здравствуйте, Дмитрий!
Прошу Вас помочь с решением задачи. В чём суть? Есть определённые нормы выдачи средств индивидуальной защиты (СИЗ). Нормы устанавливаются для каждой конкретной профессии. В проекте есть таблица с профессиями (posts), таблица с нормами (normsiz). Для каждой post своя запись siz. Естественно есть employee и таблица для учёта факта выдачи СИЗ (rezultsiz). На frmEmployee есть вкладка с tgSiz в которую SQL запросом выводятся необходимые, по моему мнению данные. С помощью скрипта заполняю frmRezultSiz и кнопкой "Сохранить" эти данные записываются в rezultsiz, но при "Показать запись" сохранённые данные в frmRezultSiz из  rezultsiz не показываются. Кроме того дата выдачи, и количество СИЗ выданные одному сотруднику отражаются в tgsiz сотрудника с аналогичной должностью. Наверное, я что-то сделал не так? На форуме похожего не нашёл. Может не туда смотрел? Прикрепляю проект с примером. Спасибо.

Post's attachments

Attachment icon Выдача СИЗ.rar 9.05 kb, 383 downloads since 2016-10-25 

Re: Как выдать сотруднику СИЗ определённые нормами для его профессии?

Приветствую.


К сожалению по данному описанию я не могу представить картину в целом, как это должно работать. Попробуйте описать как то по другому.


Также как правило я могу помочь только с конкретными вопросами.

Dmitry.

Re: Как выдать сотруднику СИЗ определённые нормами для его профессии?

Здравствуйте, Дмитрий!
Попробую по другому.
Иванов Иван и Петров Пётр и еще (например) 100 человек
table employees
id,
id_post,
lastname,
firstname
устроились на работу сварщиками
table posts
id,
post
сразу после трудоустройства и далее через определённый период
table periods
id,
period (1 раз в год, 1 раз в два года и т.п.),
days (period в днях(365, 730 и т.п.)
работодатель должен выдать каждому сварщику защитную одежду обувь и другие средства защиты
table siz
id,
sizy (костюм, перчатки, ботинки, каску и пр.)
в количестве определенном специально для сварщика
table normsiz
id,
id_posts,
id_siz,
id_periods,
volumesiz (количество в штуках)
факт выдачи необходимо записать в
table resultsiz
id,
id_employees
id_normsiz,
volumefact (сколько выдали в штуках, чтобы потом считать сколько и чего нужно купить),
datefact (когда выдали, чтобы потом считать когда и чего нужно купить и когда и кому выдать)
Хотел чтобы на frmEmployee (где вся информация о Иване Иванове) в tablegrid (tgSiz) в строках было видно какие sizy (перчатки, костюмы и пр.) должны выдать Ивану как сварщику, в каком количестве, как часто должны выдавать, выдавали ли уже и если да, то сколько и когда. А если не выдавали, то выдать, выбрав нужную запись из tablegrid (tgSiz) или изменить имеющуюся запись (дату и количество). Это возможно? Используя одну tablegrid?
Если бы речь шла только о сварщиках я бы вопрос не задал. Есть и плотники и столяры, машинисты экскаваторов и другие. Каждому положено своё количество и виды
siz

Этот блок небольшая часть проекта(рабочего проекта), который я создал и дорабатываю для своей компании в свободное время. Благодаря My Visual Database, честь Вам и хвала, Дмитрий, мне удалось сделать очень многое, о чём я даже не мечтал в начале. База на MySQL и в ней уже более 2 тыс. employee. А этот вопрос просто загнал меня в тупик. Может быть вариант решения лежит на поверхности но не хватает мне мозга?

Re: Как выдать сотруднику СИЗ определённые нормами для его профессии?

Доработал ваш проект.


Необходимо два грида на форме, в одном будут показаны нормы для выбранной должности,на второй список фактически выданных сиз.

Post's attachments

Attachment icon Выдача СИЗ_fixed.zip 13.16 kb, 373 downloads since 2016-10-27 

Dmitry.