|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Есть база на MSSQL 2005, есть 3 оператора, которые в эту базу могут одновременно добавлять записи. Вид: идентификатор (napr_id),номер (number) дата(date), цель(purpose), Сумма(insbal), код оператора(kod_o), дата изменения(date_ch), Исключения(iskl) Как сделать так, чтобы номера добавлялись под разными номерами (по порядку)? Сейчас делаю вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 08:55 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
В самой ХП считать макс.номер и обернуть все в транзакцию не? Чаще всего в системах учета организуют так.наз.счетчики (диапазоны номеров) через ссылку на доп.табличку-хранилище счетчиков(диапазонов). пыс пыс: см.на стиль письма - ух жешь и жесть. 0 > - это шоб враг не догадался? функция в ограничении - зло - это битвин должен быть. приват перм-е - зло, руками данные ворочать - зло - см. на курсорадаптер. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 10:07 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
прошелмимоВ самой ХП считать макс.номер и обернуть все в транзакцию не? Чаще всего в системах учета организуют так.наз.счетчики (диапазоны номеров) через ссылку на доп.табличку-хранилище счетчиков(диапазонов). пыс пыс: см.на стиль письма - ух жешь и жесть. 0 > - это шоб враг не догадался? функция в ограничении - зло - это битвин должен быть. приват перм-е - зло, руками данные ворочать - зло - см. на курсорадаптер. По поводу "считать макс номер в ХП" была мысля. А как в транзакцию обернуть? Про стиль письма....Я пока использую то что тут было до меня и менять это нет времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 10:36 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
НадеждаМПо поводу "считать макс номер в ХП" была мысля. А как в транзакцию обернуть? читать тама там-же читать про организацию счетчиков в доп.табличке НадеждаМПро стиль письма....Я пока использую то что тут было до меня и менять это нет времени. ну не знаю. лучше день потерять - затем за 5 мин долететь. (С) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 10:42 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
прошелмимо, Мне еще нужно перед добавлением записи в базу выводить номер следующего направления на форму, и соответственно у разных операторов они должны быть разные. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 10:53 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
НадеждаМпрошелмимо, Мне еще нужно перед добавлением записи в базу выводить номер следующего направления на форму, и соответственно у разных операторов они должны быть разные. делают наоборот. как-то так: при наборе(подготовке доекумента, или до опред.статуса док-та) номер не присваивают, а присваивают в момент сохранения и отображают сообщение об успешном сохранении документа и "светят" присвоенный ему номер. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 11:13 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
> Автор: прошелмимо > делают наоборот. Ну, почему-бы и не высветить "предполагаемый" следующий номер _до_ сохранения документа если диапазон этих номеров жестко закреплён за оператором, и никто другой не может их использовать. Ты же сам аккуратно подводишь Надежду к этой мысли :) Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 11:22 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Игорь Горбонос> Автор: прошелмимо > делают наоборот. Ну, почему-бы и не высветить "предполагаемый" следующий номер _до_ сохранения документа если диапазон этих номеров жестко закреплён за оператором, и никто другой не может их использовать. Ты же сам аккуратно подводишь Надежду к этой мысли :) так, просто интересно: занафега нужен "предполагаемый" номер в момент набивки несуществующего (несохраненного) в БД документа? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 11:47 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
> Автор: прошелмимо > занафега нужен "предполагаемый" номер в момент набивки несуществующего > (несохраненного) в БД документа? Видимо нам, гусарам, не понять Но мои пользователи тоже хотят видеть номер. А т.к. мне номеров не жалко, я и показываю :) Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 11:58 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Игорь Горбонос> Автор: прошелмимо > занафега нужен "предполагаемый" номер в момент набивки несуществующего > (несохраненного) в БД документа? Видимо нам, гусарам, не понять Но мои пользователи тоже хотят видеть номер. А т.к. мне номеров не жалко, я и показываю :) если делать не так как нужно, а так как не жалко - можно убиться. достаточно присвоения нового номера в момент сохранения и тупо на пальцах объяснения логичности такового тем кому нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 12:04 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
прошелмимо делают наоборот. как-то так: при наборе(подготовке документа, или до опред.статуса док-та) номер не присваивают, а присваивают в момент сохранения и отображают сообщение об успешном сохранении документа и "светят" присвоенный ему номер. В принципе я так и предполагала сделать, но диспетчера развизжались, а спорить с ними не хотелось. Придется принуждать... [quot прошелмимо]Игорь Горбонос> Автор: прошелмимо > делают наоборот. Ну, почему-бы и не высветить "предполагаемый" следующий номер _до_ сохранения документа если диапазон этих номеров жестко закреплён за оператором, и никто другой не может их использовать. Ты же сам аккуратно подводишь Надежду к этой мысли :) Диапазон номеров не закреплен за операторами, так как они работают с клиентами и вводят не подряд. Приходит клиент, подходит к свободному оператору, тот вводит вводит и печатает новый документ. прошелмимо так, просто интересно: занафега нужен "предполагаемый" номер в момент набивки несуществующего (несохраненного) в БД документа? Номер нужен для того чтобы они по журналу сверялись ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 12:24 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
прошелмимоИгорь Горбонос> Автор: прошелмимо > занафега нужен "предполагаемый" номер в момент набивки несуществующего > (несохраненного) в БД документа? Видимо нам, гусарам, не понять Но мои пользователи тоже хотят видеть номер. А т.к. мне номеров не жалко, я и показываю :) если делать не так как нужно, а так как не жалко - можно убиться. достаточно присвоения нового номера в момент сохранения и тупо на пальцах объяснения логичности такового тем кому нужно Присоединяюсь к [прошелмимо]! Оставляя номер пустым, вы позволите серверу на основе дополнительной таблицы (с ее блокировкой перед выборкой сл. номер для предотвращения номеров-двойников) получить следующий номер документа. Введя свой номер, вы отменяете "автоприсвоение" номера. Какой номер получиться вы не знаете и поэтому показать его сможете только "ПОСЛЕ" выполнения процедуры на сервере. С уважением, Алексей P.S. Получения нового номера у меня оформлено в виде отдельной процедуры, которая может иметь возможность выделения номера с учетом дополнительных признаков документа (подразделение, типа документа, года документа и т.п.) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 12:30 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Надежда, а с каким журналом должны сверятся операторы? И как номера из журналов разделяются между операторами? > Автор: Aleksey-K > Автор: прошелмимо Вы говорите правильно, но у каждого своя специфика. У меня номер - это как имя. Введено и используется только для идентификации заявки, среди других. Причем эти номера, как и имена могут быть неуникальны. Так удобно пользователям. Поэтому я и показываю номер _до_ того как он попал в базу. К тому-же этот номер меняется в процессе обработки заявки и становится другим(тоже не уникальным). Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 12:53 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Игорь Горбонос, У них есть журнал (один на всех 3-х), в который они записывают данные вводимые в базу (так на всякий случай). И если что...номера не совпадают, у них и у меня в базе, или что-то еще, то сразу звонят мне. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 13:27 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Номера никак не разделяются. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 13:27 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Игорь ГорбоносНадежда, а с каким журналом должны сверятся операторы? И как номера из журналов разделяются между операторами? > Автор: Aleksey-K > Автор: прошелмимо Вы говорите правильно, но у каждого своя специфика. У меня номер - это как имя. Введено и используется только для идентификации заявки, среди других. Причем эти номера, как и имена могут быть неуникальны. Так удобно пользователям. Поэтому я и показываю номер _до_ того как он попал в базу. К тому-же этот номер меняется в процессе обработки заявки и становится другим(тоже не уникальным). У меня номер тоже как своего рода идентификатор записи, среди других. Он может быть не уникальным, но только в том случае, когда год записи, уже имеющей такой номер не совпадает с текущим годом. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 14:10 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
> Автор: НадеждаМ > Номера никак не разделяются. Какие-то требования к нумерации есть? Номера разных операторов могут быть одинаковы? Можно сделать так как предложил прошелмимо , завести табличку, в которую вставлять (например инкрементный) номер с кодом оператора. получать этот номер и поазывать его при оформлении. Если оформление прошло успешно - номер уже есть, если оформление отменили, по каким-либо причинам - можно удалить запись с номером(или оставить как есть). Т.о. у тебя появляется табличка в которой сразу есть номера и создавшие их операторы. Бездырочной нумерации здесь не будет, если что :) Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 14:15 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
НадеждаМИгорь Горбонос, У них есть журнал (один на всех 3-х), в который они записывают данные вводимые в базу (так на всякий случай). И если что...номера не совпадают, у них и у меня в базе, или что-то еще, то сразу звонят мне. выбросьте занафег Ваш журнал плиз. читать на тему: "организация диапазонов номеров в еирпи системах" и т.д. иначе, - сверять с журналом после сохранения. реализуйте сохранение документа по алгоритму: 1. запустить транзакцию на сервере 2. присвоить номер 3. сохранить документ 4. если все ок - коммит 5. иначе - все откатить все, - велосипеды придуманы ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 14:18 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
прошелмимо, Ну журнал не мне выбрасывать, мне он и так нафиг не нужен :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 14:21 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
1. Насколько вероятна ситуация, что оператор создаст документ, некоторое время будет его редактировать, а потом удалит (или не сохранит) только что созданный документ? 2. Если оператор создал документ, но в процессе заполнения понял, что ошибся и удалил документ. Но пока он думал, другой оператор создал еще один документ. Т.е. имеем "дыру" в нумерации. Следует ли номер документа, удаленный первым пользователем снова присвоить новому документу? Есть ли необходимость контролировать непрерывность нумерации? 3. Насколько я вижу, у Вас есть как идентификатор (napr_id), так и номер (number). Почему бы при создании нового документа не присваивать номеру значение идентификатора? PS: формирование номера по принципу MAX()+1 - крайне порочная практика для многопользовательских приложений. По возможности, такой способ формирования номера следует избегать. Что, собственно, все и советуют, предлагая другие варианты решений. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 14:24 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Игорь Горбонос но у каждого своя специфика. Игорь ГорбоносТак удобно пользователям. гы... пользователю вполне нормально и удобно увидеть создавшийся в системе документ с присвоенным ему номером самой системой новый номер и дает понять пользователю то, что в систему "упал" новый документ. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 14:27 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
> Автор: прошелмимо Признаю, в моем случае можно и не показывать сразу этот номер, а показывать только после создания документа. :) Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 14:39 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
ВладимирМ1. Насколько вероятна ситуация, что оператор создаст документ, некоторое время будет его редактировать, а потом удалит (или не сохранит) только что созданный документ? 2. Если оператор создал документ, но в процессе заполнения понял, что ошибся и удалил документ. Но пока он думал, другой оператор создал еще один документ. Т.е. имеем "дыру" в нумерации. Следует ли номер документа, удаленный первым пользователем снова присвоить новому документу? Есть ли необходимость контролировать непрерывность нумерации? 3. Насколько я вижу, у Вас есть как идентификатор (napr_id), так и номер (number). Почему бы при создании нового документа не присваивать номеру значение идентификатора? PS: формирование номера по принципу MAX()+1 - крайне порочная практика для многопользовательских приложений. По возможности, такой способ формирования номера следует избегать. Что, собственно, все и советуют, предлагая другие варианты решений. пофлудю немнога и здесь мы приходим к выработке некот.понятий ( аналит. признак документа, сторнирование документа ...), которые позволяют не бояться наличия "удаленных" документов и т.д. ... чета тама с журналами перемудрили. может вначале поговорим о норм-ке, бух. политике и т.д.? че там такое критичное, что пользователи боятся каких-то "дырок"? в больших еирпи системах вполне нормальным считается наличие сторнированных документов на которые пришлись какие-то номера и т.д., гы, а в некоторых случаях ручное передергивание счетчика диапазона (зависит от организации учета и т.д....) не, мне просто интересно, шо там за такой стратег. случай с каким-то журналом с ручной писаниной. (я к тому, что в курпных организ-ях счетчик может быть организован и на одни сутки к примеру, и в журналы руками никто ничего не пишет) и какая ответственность в случае наличия "дырок", "дублей"... гы, кстати описав выше алгоритм, я от дублей Вас спас, а вот от "дырок" от удаленных документов - нет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 14:39 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Игорь Горбонос> Автор: прошелмимо Признаю, в моем случае можно и не показывать сразу этот номер, а показывать только после создания документа. :) окей, значит не стоит идти на поводу у пользователей. вот, - я всегда делаю так как мне нужно даже аналитиков и прочих стратегов заставляю писать тз апосля процесса разработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 14:41 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
ВладимирМ1. Насколько вероятна ситуация, что оператор создаст документ, некоторое время будет его редактировать, а потом удалит (или не сохранит) только что созданный документ? 2. Если оператор создал документ, но в процессе заполнения понял, что ошибся и удалил документ. Но пока он думал, другой оператор создал еще один документ. Т.е. имеем "дыру" в нумерации. Следует ли номер документа, удаленный первым пользователем снова присвоить новому документу? Есть ли необходимость контролировать непрерывность нумерации? 3. Насколько я вижу, у Вас есть как идентификатор (napr_id), так и номер (number). Почему бы при создании нового документа не присваивать номеру значение идентификатора? PS: формирование номера по принципу MAX()+1 - крайне порочная практика для многопользовательских приложений. По возможности, такой способ формирования номера следует избегать. Что, собственно, все и советуют, предлагая другие варианты решений. 1 - вероятность есть, но это случается редко. 2 - непрерывность необходима 3 - с каждым новым годом номер документа должен начинаться с 1, потому значение napr_id не присваиваем значению number ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 15:24 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
> Автор: НадеждаМ Что мы должны Вас пытать? Вы можете изложить все требования к этим номера и их использование операторами? Я правильно понял, что нумерация документов должна быть "бездырочной" и не зависить от вводящего оператора? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 15:34 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
НадеждаМ2 - непрерывность необходимаДля чего? Зачем? Чем обусловлена необходимость? Вас это спрашивают. Просто "так пользователи захотели" или таки есть какие-то более основательные причины? Все говорят, что надо, но пока ни один заказчик не смог обосновать эту необходимость. Боюсь, что и в Вашем случае будет то же самое и кроме неопределенного "ну, надо" ничего более конкретного не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 15:36 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Игорь Горбонос> Автор: НадеждаМ Что мы должны Вас пытать? Вы можете изложить все требования к этим номера и их использование операторами? Я правильно понял, что нумерация документов должна быть "бездырочной" и не зависить от вводящего оператора? Если требуется непрерывность номеров, то тогда: 1. Редактирования номера документа пользователем должна быть запрещена! 2. Удаление документа не допустипо. Вместо этой операции должна быть в системе допустима операциия, выводящая документа из документаоборота ("аннулирование документа"). Т.е. документ в системе есть (и занимает номер), но имеет специальный статус "аннулирован" и не участвует нигде в операциях(удален и т.п.). Другой вариант иметь таблицу удаленных номер и в процедуре выделение нового номера искать и в ней, но это не избавит вас от наличия пропущенных номеров на какой-то момент времени (удалили 3 документа, а добавили только 1). С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 15:48 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Sergey SizovНадеждаМ2 - непрерывность необходимаДля чего? Зачем? Чем обусловлена необходимость? Вас это спрашивают. Просто "так пользователи захотели" или таки есть какие-то более основательные причины? Все говорят, что надо, но пока ни один заказчик не смог обосновать эту необходимость. Боюсь, что и в Вашем случае будет то же самое и кроме неопределенного "ну, надо" ничего более конкретного не будет. этой необходимости нет и в нормативке (или я чего-то не знаю) по поводу "дырок" проблему решает реализация "сторнирования документов" в системе, а не просто удаление т.е. при "правильной" организации процесса никто не мешает иметь в системе: документ №2 - оформленный, утвержденный и выданный документ №3 - оформленный, сторнированный по какой-либо причине и не выдававшийся никому документ №4 - оформленный, утвержденный и выданный .... при этом никто не мешает вести какие-либо журналы рег-и исходящих документов, в которых будет регистрация: 100. ...... 101. документ №2 от ... 102. документ №4 от ... ... т.е. наличие "дырок" в журнале регистрации - это не смертельно и ни кем не контролируется и не карается. а дырки - в голове у руководителей, которые от разработчиков требуют реализации таких задач. ну цен. бланки - это иное и не относится к тек.обсуждению, но и там также имеется регламентированный способ учета и списания испорченных и т.д... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 15:59 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
НадеждаМ2 - непрерывность необходима 3 - с каждым новым годом номер документа должен начинаться с 1, потому значение napr_id не присваиваем значению number Для поддержания непрерывности Вам потребуется таблица, содержащая "дыры" в нумерации. Это чтобы новый документ брал номера из этих дыр. Чтобы не заморачиваться с разделением функционала сначала на поиск "дыр", а потом на последовательную нумерацию можно сразу создать таблицу с максимально возможным количеством номеров за год. Т.е., например, Вы знаете, что за год создется примерно 1`000 документов. Значит, создаете таблицу с 2`000 записей (нужен запас), где есть поле с порядковым номером. Кроме того, добавляется поле с признаком "Использовано" Предположим, что эта таблица называется tabNum, код записи - это поле nextNum, а признак использования - поле isUsed. Тогда код определения ближайшей не использованной записи получается примерно такой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Разумеется, при удалении документа надо будет снять признак "Использовано" с соответсвтующей записи. Если необходимо, то добавьте поле с номером года и включите год в условие поиска. Однако у такого подхода тот недостаток, что при большом количестве номеров он становится слишком не поворотлив. Долго рабтает, да и места много занимает. В принципе, можно, конечно, его оптимизировать в этом смысле. Например, хранить в таблице только дыры, а очередной номер брать из обычного счетчика (таблица с одной записью в которой увеличивается значение поля). Только подумайте еще раз, Вам действительно нужна реальная непрерывность номеров или это просто пожелание из разряда "хотелось бы, но если не получится - не страшно". Стандартное решение в данном случае - это таблица-счетчик. Примерно то, что Вам показали на foxClub. Т.е. никто не стремится использовать "дыры" в нумерации. Умерла, так умерла... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2011, 21:40 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Sergey SizovНадеждаМ2 - непрерывность необходимаДля чего? Зачем? Чем обусловлена необходимость? Вас это спрашивают. Просто "так пользователи захотели" или таки есть какие-то более основательные причины? Все говорят, что надо, но пока ни один заказчик не смог обосновать эту необходимость. Боюсь, что и в Вашем случае будет то же самое и кроме неопределенного "ну, надо" ничего более конкретного не будет. Непрерывности требуют для целей проверки. Допустим, что при проверке выясняется, что документы с номерами 133,134 есть, а следом за ними идёт документ 136. Возникает вопрос: "А где у нас документ с номером 135? Неужели вы такие, сякие нехорошие, удалили его из списка? К вам наверняка обращался клиент с этим документом... а вы тут следы заметаете... " ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2011, 17:53 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
BestiAНепрерывности требуют для целей проверки. Допустим, что при проверке выясняется, что документы с номерами 133,134 есть, а следом за ними идёт документ 136. Возникает вопрос: "А где у нас документ с номером 135? Неужели вы такие, сякие нехорошие, удалили его из списка? К вам наверняка обращался клиент с этим документом... а вы тут следы заметаете... " кто проверяет? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2011, 18:16 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
BestiAВозникает вопрос: "А где у нас документ с номером 135? Неужели вы такие, сякие нехорошие, удалили его из списка? К вам наверняка обращался клиент с этим документом... а вы тут следы заметаете... " Это возможно только в случае, если имеется "твёрдая копия" с таким номером, с вашими реквизитами и с подписью некоего ответственного лица. Любые другие варианты просто не катят... И наличие отсутствия некоего "номера в последовательности" при условии, что аудит не выявил нарушения в движении документов и итогах оборотов - из разряда абстракций. Некомпетентность руководителей даже в пределах собственных полномочий и обязанностей, конечно-же, никто не отменял. НО! - это не ваши проблемы как разработчика. Поскольку вам никто не представил норматив, требующий непрерывной нумерации. Где-то так примерно... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2011, 03:35 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
А что если применять следующий алгоритм: Пишем хранимую процедуру: 1. получить максимальный номер документа в таблице на текущий момент и запомнить значение его автоинкрементного поля ID 2. Запомнить новый уникальный идентификатор. (NewID()) 2. Вставить новую строку в таблицу попутно вставив в неё этот идентификатор. 3. Получить ID только что вставленной записи по значению идентификатора. 4. Вычислить новый номер как значение предыдущего + число вставленных между максимальной и новой записей + 1 5. записать вычисленный номер и вернуть его Такая схема не спасёт от пропусков в нумерации, если документ удалить из середины, но при непрерывном заполнении она по идее должна нормально работать. Хочу услышать мнения по этому поводу. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 14:23 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
НадеждаМпрошелмимо делают наоборот. как-то так: при наборе(подготовке документа, или до опред.статуса док-та) номер не присваивают, а присваивают в момент сохранения и отображают сообщение об успешном сохранении документа и "светят" присвоенный ему номер. В принципе я так и предполагала сделать, но диспетчера развизжались, а спорить с ними не хотелось. Придется принуждать... НадеждаМ2 - непрерывность необходима Если предложение выдавать номер постфактум не подходит, то можно предложить еще один вариант: Сделать отдельную таблицу выданных номеров, где выданный номер закрепляется за оператором, оператору дается возможность создать документ с номером который уже за ним закреплен. Для повышения внимательности операторов издать внутренний указ "За взятый и неиспользованный номер в течении дня/недели/месяца штраф оператору 100р за каждый пропущенный номер, с вывешиванием фото оператора на доску позора" ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 14:40 |
|
Нужна помощь при добавлении данных в базу
|
|||
---|---|---|---|
#18+
Dima TДля повышения внимательности операторов издать внутренний указ "За взятый и неиспользованный номер в течении дня/недели/месяца штраф оператору 100р за каждый пропущенный номер, с вывешиванием фото оператора на доску позора" операторам обратиться в труд.инспекцию и прокуратуру по факту грубого нарушения ТК РФ. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 15:21 |
|
|
start [/forum/topic.php?all=1&fid=41&tid=1584518]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 158ms |
0 / 0 |