Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.18;
Скачать: CL | DM;

Вниз

Возврат товара   Найти похожие ветки 

 
Kley   (2007-12-16 20:47) [0]

Здравствуйте!
подскажите добры люди как реализовать следующую задачу
даны 3 таблицы Prihod,poziz,tov
Prihod и poziz связаны между собой один ко многим (одной записи Prihod соответствует несколько записей в poziz)
в таблице poziz хранится выбранный товар (наименование,количество,сумма, итд) из таблицы tov
(поле poziz.tovar соответствует полю tov.number) и если пользователь поставил отметку о возврате товара в текщей записи
таблицы prihod то нужно вернуть количество и сумму товара из таблицы Poziz в таблицу tov

Prihod                  Poziz                                Tov
-----------------       ----------------------------       -------------------------
KontrA | vozvrat |      |tovar  |Name  |kolvo  |Sum |      |Number|kolvo                  |Sum     |Name
------------------      -----------------------------      -------------------------  
Иван       Yes   |----->  1       Сок      1     15           1     1(остаток)+1из poziz   15+15     Сок
                |----->  2       кофе     2     20           2     2+2 из poziz           40+40     кофе


 
Petr V. Abramov ©   (2007-12-17 00:09) [1]

спроси:
подскажите, как лучше организовать базу приходов-расходов-возвратов.
опиши, с какими трудностями сталкиваешься счас.
будет флейм на 30 постов, тебя поругают, между собой поругаются, что-нить из этого вынесешь.
а существующую идею выкинь прям счас, твоя идея работает в простейших ситуациях, но если возник вопрос, значит, она простоту переросла


 
Sergey13 ©   (2007-12-17 08:30) [2]

> [0] Kley   (16.12.07 20:47)
> даны 3 таблицы Prihod,poziz,tov

Раз дана таблица Prihod, рискну предположить, что существует и таблица Rashod. Так?
Почему бы не заменить ВСЕ подобные таблицы одной Document с указанием типа движения товара. При отмене действия формируй документ обратного действия.


 
Kley   (2007-12-17 14:00) [3]

>Sergey13 ©   (17.12.07 08:30) [2]
>Раз дана таблица Prihod, рискну предположить, что существует и таблица >Rashod. Так?
>Почему бы не заменить ВСЕ подобные таблицы одной Document с указанием >типа движения товара. При отмене действия формируй документ обратного >действия.
В таблице Prihod поле ActionX=1 приход, 2 расход
Прога уже была написана до меня досталась по наследству с исходниками
я только хотел возврат товара на склад замутить.


 
Petr V. Abramov ©   (2007-12-17 14:04) [4]


> я только хотел возврат товара на склад замутить.

потом захочешь списание брака замутить....


 
Sergey13 ©   (2007-12-17 14:13) [5]

> [3] Kley   (17.12.07 14:00)

> досталась по наследству
Это не причина не переписывать ее. 8-)

> В таблице Prihod поле ActionX=1 приход, 2 расход
Можно было бы сделать +1 и -1. Тогда простое умножение на него можно было бы легко использовать в запросах на подсчет суммы.

Как то странно видеть наименование товара в poziz, а не в tov. Откуда в poziz так же поля Sum (кстати это зарезервированное слово в SQL) и откуда оно берется? Вообще мутная структура какая то.


 
Petr V. Abramov ©   (2007-12-17 14:36) [6]


> Можно было бы сделать +1 и -1.

можно, только завтра автора попросят отчет
пришло | продано | возврат

а послезавтра - учтывать, по какой отгрузке был возврат


 
Sergey13 ©   (2007-12-17 14:40) [7]

> [6] Petr V. Abramov ©   (17.12.07 14:36)

У движения товара всего 2 состояния: приход и расход. Каждый различаются по типам/видам, типа первичный приход и возврат товара на склад - все равно это приход.


 
sniknik ©   (2007-12-17 14:49) [8]

>> В таблице Prihod поле ActionX=1 приход, 2 расход
> Можно было бы сделать +1 и -1. Тогда простое умножение на него можно было бы легко использовать в запросах на подсчет суммы.
в запросе выражение  iif(ActionX=1, 1,-1) заменяющее первое на второе.


 
Petr V. Abramov ©   (2007-12-17 14:56) [9]


> Sergey13 ©   (17.12.07 14:40) [7]

и так мы приходим к таблице остатков и таблице операций


 
Sergey13 ©   (2007-12-17 15:01) [10]

> [9] Petr V. Abramov ©   (17.12.07 14:56)

А куда без них. 8-)


 
sniknik ©   (2007-12-17 15:04) [11]

> А куда без них. 8-)
а нафига?
таблица остатков это тоже документ с которого начинается расчетный период... и все. (1С так работает)


 
Petr V. Abramov ©   (2007-12-17 15:05) [12]


> sniknik ©   (17.12.07 15:04) [11]


> 1С так работает

там еще и не таких чудес много


 
tesseract ©   (2007-12-17 15:29) [13]


> таблица остатков это тоже документ с которого начинается
> расчетный период... и все. (1С так работает)


Это при вводе остатков.  Таблицы остатков и движений там есть - основа 1с можно сказать. Так-же есть отдельные таблицы для "версионных" полей и BLOB-данных. Документы храняться в сводной таблице и в двух раздельных - отдельно шапка, отдельно табличная часть.

К ним можно даже на SQL обращаться при большом желании.


> там еще и не таких чудес много


Все написано сугубо теориии. Просто 1С не законченное решение.


 
Petr V. Abramov ©   (2007-12-17 22:58) [14]


> tesseract ©   (17.12.07 15:29) [13]

/off/
а соответствие таблиц-полей MSSQL "понятиям" 1С - где взять? имея доступ к базе MSSQL?


 
sniknik ©   (2007-12-18 00:27) [15]

> а соответствие таблиц-полей MSSQL "понятиям" 1С - где взять? имея доступ к базе MSSQL?
только к MSSQL? тогда никак, они в конфе "зашиты" (*.md вроде).
хотя, это только для семерки может быть верно, про восьмерку не знаю где оно хранит.



Страницы: 1 вся ветка

Текущий архив: 2008.05.18;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
2-1208127399
HF-Trade
2008-04-14 02:56
2008.05.18
Размер файла в сети


2-1208530727
che
2008-04-18 18:58
2008.05.18
Вопрос жизни и смерти


2-1208420080
operator
2008-04-17 12:14
2008.05.18
TGauge для вывода сколько процентов файла обработано.


3-1197527318
abhtr
2007-12-13 09:28
2008.05.18
Как восстановить удаленные записи в таблице Firebird


2-1208428138
arinyshka
2008-04-17 14:28
2008.05.18
Забдокировать изменение RadioGroup