Текущий архив: 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.045 c