Главная страница
    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.48 MB
Время: 0.06 c
15-1206998230
Германн
2008-04-01 01:17
2008.05.18
Кстати. Поздравляю всех, кто читает мой пост!


2-1208504519
lewka-serdceed
2008-04-18 11:41
2008.05.18
список в ячейке


8-1180440644
borodaj
2007-05-29 16:10
2008.05.18
попиксельное сравнение изображений


15-1207301611
Zoldberger
2008-04-04 13:33
2008.05.18
IdHTTP и ADO


2-1208926830
net send
2008-04-23 09:00
2008.05.18
Передать звуковое сообщение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский