|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Коллеги, приветствую ! В голове никак не могу придумать, какую нужно организовать структуру базы и как потом быть с сформированием запроса ведомости по движению товара для следующих условий: Заказчик хочет чтобы была возможность смены цены в определённую дату и товар до этой даты считался по старой цене, а после этой даты - по новой. И чтобы таких дат со сменой цены могло быть неограниченное количество. Если кто с таким сталкивался или знает как реализовать - намекните на решение с формированием запроса по движению товара... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:21 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Придумал вот так... ID товара Дата начала цены Дата конца цены Цена 327 01.05.2016 31.05.2016 100 327 01.06.2016 30.06.2016 115 327 01.07.2016 120 А при выборе цены проверять дату операций на between дат у цен и использовать попадающую в промежутки. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:34 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Евген987Придумал вот так...Подобный подход требует наложения на систему хранения ограничивающего условия (гарантирующего отсутствие как наложения периодов, так и "пропусков"), которое в рамках MS Access реализовать невозможно. То есть имеется потенция нарушения целостности и непротиворечивости данных. Для реализации требования достаточно более простой структуры - (ИД товара, Цена, Дата начала её действия). Тогда для любой заданной даты и товара цена определяется просто выбором первой записи для этого товара с датой не более заданной при сортировке по убыванию дат. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:45 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Akina, спасибо, учту обязательно Ваши подсказки !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:47 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Евген987, в общих чертах как-то так: (а подробней - нет предела совершенству см это ) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 16:12 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Вообщем в двух словах: 1) Структура таблицы прайса 2) Структура таблицы операций и вот таким запросом считаем сумму операций за период Код: sql 1. 2.
Получаем следующее ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 19:52 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Евген987, С самого начала формирования номенклатуры по товару планируешь цепочку выстраивать? Товар смешанный? (производство РФ и импорт из зарубежного государства?). Роль твоей компании на рынке? (продавец,покупатель?) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 20:07 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Сергей Лалов, я думаю внедрять уже в действующий проект... про товар вообще не в курсе, мне без разницы до него, ну и про компании которые работают на проекте - они перекупы получается А что ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 20:15 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Коллеги, спасайте !!! Не вижу ошибки, а мне говорит есть... Вот сам код Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:10 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
До внедрения подзапроса с выбором цены был следующий вариант (который проверен и работает) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:34 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Удалите подзапрос из Group By. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:36 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
т.е. вместо d.prodprice пытаюсь инжектить подзапрос, который из справочника продукции (прайслиста) будет подтягивать цену на дату, которая спрашивается в запросе. Ну вот что не так я сделал ? - не пойму... :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:36 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:40 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
В тестовом запросе такой же точно подзапрос отлично отрабатывает Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:44 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Евген987, попробуй скопипастить запрос , который ниже себе в конструктор SQL запросов и выполнить , и скажи , что будет Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:53 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:08 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:11 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:12 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Евген987, база битая ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:22 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
guest_rusimport, попробуй снова, я перезаливал... сейчас ещё архивом выложу... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:24 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:25 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Евген987mds_world, результат :-(Ошибка из-за того, что в условии подзапроса написано z .prodid, а группбае a .prodid. Разумеется будет ошибка, ведь z.prodid не в группировке ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:26 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:31 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Стандартная задача учета товара по продажным ценам. Стандартно решается путем "прайс-листа" на дату. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:40 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
982183, согласен, так и пытаюсь решить, подтянуть цену по товару, которая была установленной на эту дату Но не взлетает... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:42 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Да, заработало при вот таком селекте Код: sql 1. 2. 3. 4. 5.
и удалении подзапроса из группбай ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:43 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
mds_world, Блин ! Вот уж не туда я смотрел... Спасибо ! Благодарю !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:48 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Остатки вычисляет, работает как надо, всё супер! Сейчас маюсь с запросом по расчёту движения товара (он в себя включает вычисление остатков на начало, расчёт движения товара по приходным/расходным операциям) и всё это в количественном и денежном выражении. Не знаю, стоит ли сами запросы тут публиковать, они места много занимают. Лучше опубликую базу, в ней лежат таблицы с данными и 2 запроса (до инжекта (проверенный рабочий вариант) и после инжекта подзапросов). Что я сделал, удалил группировку по prodPrice, заменил везде prodPrice на соответствующий подзапрос: 1) При расчёте начальных остатков из прайса беру цену на соответствующую начало периода 2) при операциях в расчётном периоде, из прайса беру цену - соответствующую дате операции и стало ругаться в запросе на то, что запрос не содержит дату операции как часть агрегатной функции - но мне и не надо !!! Попробовал включить её как агрегатную функцию - вообще дичь какую-то считает... Вот база http://korosteleff.narod.ru/infobase.mdb Модератор: Евген987, в дальнейшем выкладывайте примеры на форум, не заставляйте людей бегать по сайтам. Следующее такое вложение будет удалено ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 13:15 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Коллеги, подскажите плиз, как выложить файл который даже в архиве занимает ~300 Кб. Вот вижу что интерфейс предлагает прикреплять файлы размером не более 150Кб (не подходит). Правила почитал, FAQ почитал - нет нужной инфы... Может я всё-таки что-то пропустил ? (не хочу модера обижать, а то забанит...) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 14:01 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Многотомный архив. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 14:02 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Евген987982183, согласен, так и пытаюсь решить, подтянуть цену по товару, которая была установленной на эту дату Но не взлетает... В отработанных решениях формируется прайс лист на весь ассортимент товара, а не делаются диапазоны дат. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 14:11 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
982183, Мне кажется это излишне из-за части прайса дублировать всю таблицу... Хотелось бы, и думаю получится общими усилиями заставить работать более гибкий вариант... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 14:14 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Тебе место жалко? Прайс на остаток товара - вполне реальная штука. + отчеты и удобнее и быстрее будут делаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 14:26 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Евген987Коллеги, подскажите плиз, как выложить файл который даже в архиве занимает ~300 Кб. Оставь его на mail.ru, и укажи тут ссылку. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 14:27 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Коллеги, вопрос пока остаётся открытым... http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1230430&msg=19687158 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 14:45 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Скурпулёзная сборка запроса с "нуля" дала свои результаты. Запрос заработал, если кому интересно - вот он Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Сейчас буду его наращивать до полного функционала весь следующий день ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 17:14 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Нихрена, рано поторопился отрапортовать о победе, как только фиксированную дату заменил на b.operDate, так и снова получил сообщение про часть агрегатной функции Вопрос открыт... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 18:00 |
|
Алгоритм расчёта ведомости движения товара
|
|||
---|---|---|---|
#18+
Вся загвоздка в b.operDate Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Если b.operDate указан константой - то работает, как только приобретает значение поля - так нужна агрегация. Нужен доктор ! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 18:27 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1613133]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
others: | 388ms |
total: | 539ms |
0 / 0 |