powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
23 сообщений из 23, страница 1 из 1
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
    #32149320
Serega_26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А для начала - расскажите кто-нибудь как правильно идентифицировать новоприходящие партии товаров?
...
Рейтинг: 0 / 0
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
    #32149894
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По коду.
Проблема-то в чем? Не можешь создать структуры базы или не можешь сделать правильный алгоритм списания товара?
...
Рейтинг: 0 / 0
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
    #32150780
Serega_26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Senin Viktor
Так, сорри! С партиями вроде разобрался !
Теперь есть другая проблема: При вводе нового документа открывается форма содержащая шапочную часть и подчиненную-табличную которые присоеденены к соответствующим временным таблицам. В эти формы вводятся данные, форма закрывается и если нужно - данные сохраняются, т.е. добавляются запросом на добавление в постоянную таблицу, если нет - то нет. Собственно проблема - кодирование документа, т.е. генерация ид.кода шапочной части, и соответственно каждой записи подчиненной формы в промежуточный момент между открытием нового документа и его сохранением, что-бы другой пользователь не мог создать документ с тем-же кодом.
Вот такой вопрос.
...
Рейтинг: 0 / 0
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
    #32150839
Если таблицы связаны по полю , имеющему свойство "счётчик", никаких проблем не будет. Каждая новая запись будет иметь уникальный код.
...
Рейтинг: 0 / 0
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
    #32150895
Serega_26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Вадим Львов
Так в том-то и проблема, что в форме связаны две временные таблицы, и не по полю счетчика! В однопользовательской системе, код записи задается присвоением соотв. полю вычисляемого макс. значения "кодДокумента"+1 ("Код документа" - из таблицы "Журнал документов"), и при сохранении новой записи - все как-бы нормально - добавляется новая запись с уникальным кодом.


В многопользовательской среде это не проходит. Может тут вообще какая-то другая стратегия нужна?
...
Рейтинг: 0 / 0
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
    #32150905
Kriven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать ключевое поле делать равное текущему времени например 12.12.02 12:10:03 , не думаю что ситуация когда с несколько юзеров запустят это событие одновременно. Можно пойти дальше и записать еще код машины.
...
Рейтинг: 0 / 0
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
    #32150917
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из 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
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
    #32150967
Serega_26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
М-да... А попроще никак? Насколько я понимаю - большинство более-менее серьезных программ на Аксессе пишут все-таки для сетевого использования, и проблема ввода и редактирования документов вродебы довольно стандартная!?
...
Рейтинг: 0 / 0
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
    #32150993
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
большинство более-менее серьезных программ на Аксессе пишут все-таки для сетевого использования
Да. И c использованием SQL.
...
Рейтинг: 0 / 0
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
    #32151144
Serega_26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2V. Motchulsky
Спасибо за код, но это, насколько я вижу, это не "Аксессовсий" SQL. Если можно, просьба дать некоторые более подробные пояснения.
...
Рейтинг: 0 / 0
Реализация партийного учета товаров(lifo|fifo) - подскажите варианты?
    #32151180
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если добавлять не sql - запросом а
рекордсетами то можно

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

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

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

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

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

2Вадим Львов

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


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