Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Реализация партийного учета товаров(lifo|fifo) - подскажите варианты? / 23 сообщений из 23, страница 1 из 1
25.04.2003, 19:40
    #32149320
Serega_26
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
А для начала - расскажите кто-нибудь как правильно идентифицировать новоприходящие партии товаров?
...
Рейтинг: 0 / 0
28.04.2003, 11:29
    #32149894
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
По коду.
Проблема-то в чем? Не можешь создать структуры базы или не можешь сделать правильный алгоритм списания товара?
...
Рейтинг: 0 / 0
29.04.2003, 11:52
    #32150780
Serega_26
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
2Senin Viktor
Так, сорри! С партиями вроде разобрался !
Теперь есть другая проблема: При вводе нового документа открывается форма содержащая шапочную часть и подчиненную-табличную которые присоеденены к соответствующим временным таблицам. В эти формы вводятся данные, форма закрывается и если нужно - данные сохраняются, т.е. добавляются запросом на добавление в постоянную таблицу, если нет - то нет. Собственно проблема - кодирование документа, т.е. генерация ид.кода шапочной части, и соответственно каждой записи подчиненной формы в промежуточный момент между открытием нового документа и его сохранением, что-бы другой пользователь не мог создать документ с тем-же кодом.
Вот такой вопрос.
...
Рейтинг: 0 / 0
29.04.2003, 12:56
    #32150839
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
Если таблицы связаны по полю , имеющему свойство "счётчик", никаких проблем не будет. Каждая новая запись будет иметь уникальный код.
...
Рейтинг: 0 / 0
29.04.2003, 13:41
    #32150895
Serega_26
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
2Вадим Львов
Так в том-то и проблема, что в форме связаны две временные таблицы, и не по полю счетчика! В однопользовательской системе, код записи задается присвоением соотв. полю вычисляемого макс. значения "кодДокумента"+1 ("Код документа" - из таблицы "Журнал документов"), и при сохранении новой записи - все как-бы нормально - добавляется новая запись с уникальным кодом.


В многопользовательской среде это не проходит. Может тут вообще какая-то другая стратегия нужна?
...
Рейтинг: 0 / 0
29.04.2003, 13:46
    #32150905
Kriven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
Можно попробовать ключевое поле делать равное текущему времени например 12.12.02 12:10:03 , не думаю что ситуация когда с несколько юзеров запустят это событие одновременно. Можно пойти дальше и записать еще код машины.
...
Рейтинг: 0 / 0
29.04.2003, 13:58
    #32150917
V. Motchulsky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
Из Microsofta:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE proc GetNextIdentity @ForTable sysname, @Value int OUTPUT
AS
set nocount on
begin tran
 /* if this is the first value generated for this table, start with zero */  
  if not exists (select * from IdentityTable where ForTable = @ForTable)
    insert IdentityTable (ForTable, Value) values (@ForTable,  0 )
 /* update must be before select to issue a lock and prevent duplicates */  
  update IdentityTable
    set Value = Value +  1  
    where ForTable = @ForTable
  select @Value = Value from IdentityTable
    where ForTable = @ForTable
commit tran
return @value
...
Рейтинг: 0 / 0
29.04.2003, 14:29
    #32150967
Serega_26
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
М-да... А попроще никак? Насколько я понимаю - большинство более-менее серьезных программ на Аксессе пишут все-таки для сетевого использования, и проблема ввода и редактирования документов вродебы довольно стандартная!?
...
Рейтинг: 0 / 0
29.04.2003, 14:49
    #32150993
V. Motchulsky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
большинство более-менее серьезных программ на Аксессе пишут все-таки для сетевого использования
Да. И c использованием SQL.
...
Рейтинг: 0 / 0
29.04.2003, 16:31
    #32151144
Serega_26
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
2V. Motchulsky
Спасибо за код, но это, насколько я вижу, это не "Аксессовсий" SQL. Если можно, просьба дать некоторые более подробные пояснения.
...
Рейтинг: 0 / 0
29.04.2003, 17:09
    #32151180
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
если добавлять не sql - запросом а
рекордсетами то можно

1. Использовать транзакции чтобы шапочная часть не добавилась отдельно от данных
2 после добавления рекордсетом шапочной части можно взять идентификатор из таблицы в которую добавляется шапочная часть
(тип рекордсета keyset - смотри id после update )

после этого добавляешь данные с этим ид
...
Рейтинг: 0 / 0
29.04.2003, 17:21
    #32151196
V. Motchulsky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
Все время забываю, что помимо ADP живет еще "классический" Access. Синтаксис, мягко говоря, немного отличается. Поэтому простенькая процедурка поначалу кажется сложной. Алгоритм здесь простой, но как то нехочется делать шаг назад. Может поможет кто-то, еще не перешедший на клиент-серверную технологию. Мой же совет - двигаться вперед, не всегда првда это легко...
Мне даже кажется, надо было сделать два разных Accessa и два разных форума.
...
Рейтинг: 0 / 0
29.04.2003, 19:13
    #32151322
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
Мне даже кажется, надо было сделать два разных Accessa и два разных форума
Не, не стоит. Как правило проблемы с ADP сводятся к ADO и собственно MSSQL. А это темы форума MSSQL. По крайне мере там я не ленюсь и на такие вопросы отвечаю.
...
Рейтинг: 0 / 0
30.04.2003, 00:23
    #32151407
Serega_26
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
Да уж... хорошо Вам УМНЫМ!!! А нам-то что делать?
...
Рейтинг: 0 / 0
30.04.2003, 01:57
    #32151415
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
Блин, да проблема то в чем?
При сохранении документа:
1. Начинаешь транзакцию.
2. Получаешь ID шапки
3. Сохраняешь шапку. Если кто то уже сделал то же самое с таким же ID - у тебя все валится (ты ведь не забыл уникальность сделать?). Тогда откатываешь транзакцию и, если хочешь, начинаешь все с начала.
4. Сохраняешь данные. Привязка к шапке - по ID. Если нужна уникальность идентификаторов для данных - алгоритм такой же.
5. Завершаешь транзакцию.
6. Наслаждаешься жизнью под музыку Боба Марли.
...
Рейтинг: 0 / 0
30.04.2003, 10:09
    #32151509
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
> Сохраняешь шапку. Если кто то уже сделал то же самое с таким же ID - у тебя все валится (ты ведь не забыл уникальность сделать?). Тогда откатываешь транзакцию и, если хочешь, начинаешь все с начала.

не согласен
исключено если берется значение счетчика из таблицы куда сохраняешь шапку

Код: plaintext
1.
2.
3.
4.
5.
Dim RS As New ADODB.Recordset
RS.Open  "MY_TABLE" , CurrentProject.Connection, adOpenDynamic, adLockOptimistic
RS.AddNew
RS!TABLE_FLD = MYVAR
RS.Update ' сохраняем шапочную часть
id = RS!Id ' присваиваем переменной значение счетчика
...
Рейтинг: 0 / 0
30.04.2003, 10:19
    #32151525
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
Да. Если счетчик - надо сначало сохранить, а потом уже глядеть под каким ID это произошло. Но в 5-м посте написано что связь - не по счетчку.
...
Рейтинг: 0 / 0
30.04.2003, 10:55
    #32151588
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
- не обратил внимания на 5 топик

я бы не советовал делать связи по текстовым полям, идентификаторы и составные индексы вручную

Почему не использовать составные индексы - ограничения если они тербуются на уровне таблиц?
...
Рейтинг: 0 / 0
30.04.2003, 10:57
    #32151589
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
>В многопользовательской среде это не проходит. Может тут вообще какая-то другая стратегия нужна?
Долой временные таблицы.
Насколько я понял, база бухгалтерская. Ваш документ - "Товары расход" (допустим ).Делаешь постоянные таблицы, главную и подчинённую, связанные по полю "счётчик". Естественно, каждый новый документ имеет уникальный код. Если новый документ нужно проводить, запросами добавляеш нужные проводки в "журнал операций" (или "журнал документов"....). Если проводить не нужно, записываеш в журнал только заголовок документа. В случае, если в последующем докум. нужно будет провести, это сделать бутет легко.
И никаких конфликтов в многопользовательской среде.
...
Рейтинг: 0 / 0
30.04.2003, 11:48
    #32151672
Serega_26
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
2Лох Позорный, АлексейК

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

2Вадим Львов

В данном случае, в "Журнале документов" даже после сохранения только шапок документов будет куча мусора, а притом, "отмена" ввода данных в подчиненой форме возможна только удалением записей из формы вручную что как-то некрасиво будет выглядеть для пользователя.
...
Рейтинг: 0 / 0
30.04.2003, 11:54
    #32151683
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
Из временных таблиц в основные переносит данные не пользователь, а твоя программа. Во пусть она и контролирует что шапка есть, все что нужно заполнено и т.п. Иначе - пользователя в сад отправлять в вежливой форме.
Или сразу создавай какую либо шапку с временными ID, временный состав (во временных таблицах) связан с временной шапкой по этому временному ID. При репликации - заменяй ID на нормальные (постоянные).
...
Рейтинг: 0 / 0
30.04.2003, 19:21
    #32152235
Serega_26
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
Ладно! Хоть и не совсем удалось услышать того что хотелось, всем Спасибо за участие, и за идеи!!!
...
Рейтинг: 0 / 0
30.04.2003, 20:30
    #32152265
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
Ну, если не совсем удалось услышать - бог тебе судья и банан из уха достань :)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Реализация партийного учета товаров(lifo|fifo) - подскажите варианты? / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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