|
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 15
|
|
Программа для продажи товара (Delphi 7)13.07.2017, 19:45. Показов 5727. Ответов 39
Метки нет (Все метки)
Привет всем! Хочу создать программу через которую можно будет продавать товары. Уже создал базу данных в Access подключил ее в DBGrid через ADO теперь могу создавать, редактировать товар и сохранять в эту базу. Сейчас встал вопрос реализации самого момента продажи этого товара, не могу сообразить как это сделать. Вопрос такой, мне надо создать в этой БД еще одну таблицу (промежуточную), чтобы при выборе товара он заносился туда и когда чек будет закрыт все эти товары (точнее их количество) списывалось из первой таблицы? Верно я мыслю? Подскажите пожалуйста я новичок в программировании. Заранее благодарен!
0
|
|
| 13.07.2017, 19:45 | |
|
Ответы с готовыми решениями:
39
условие для продажи товара Программа продажи товара в магазине по дням Формула для вычисления поступления и продажи товара |
|
|
|
| 13.07.2017, 23:10 | |
|
до программирования тут еще должно быть далеко
нужно про алгоритмы и работу с БД читать сильно про теорию реляционных БД про справочники и связи про таблицу движения товаров и получение выборки по конкретному товару много...
0
|
|
|
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 15
|
|
| 14.07.2017, 15:22 [ТС] | |
|
Таблица (Товары) поля (Код, Наименование, Цена, Количество). Просто не могу понять как таблицы должны с друг другом взаимодействовать, и вообще как происходит сам механизм продажи товара через них. Помогите, объясните вкратце.
0
|
|
|
|
|
| 14.07.2017, 15:30 | |
|
нет такой таблицы
есть справочник товаров код, наименование есть движение товаров код товара, время, количество, код контрагента, входная цена, документ поставки/отпуска если количество >0 - приход, <0 - расход приход и продажа товара это занесение в таблицу движение товара новой записи
0
|
|
| 14.07.2017, 16:43 | |||
|
продажа, как и закупка, это 1 строка в базе. вот например купили 1 яблоко продали 1 яблоко купили 2 яблока и так 100500 строк в базе когда нам нужно узнать остаток мы берем сумму покупок и вычитаем сумму продаж
0
|
|||
|
Айлурофил
|
|
| 14.07.2017, 18:44 | |
|
Ещё, возможно, таблица остатков.
0
|
|
|
Айлурофил
|
|
| 14.07.2017, 19:10 | |
|
Не совсем понял, не нужна, что ли, по-вашему?
0
|
|
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 14.07.2017, 19:25 | |
|
В идеале не нужна, но для облегчения расчетов и снижения нагрузки издавно повелось на начало года формировать такую таблицу. Современные мощности вполне позволяют обойтись без нее.
0
|
|
|
Айлурофил
|
|
| 14.07.2017, 19:29 | |
|
С крупными оптовыми базами без неё не обойтись.
0
|
|
|
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 15
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14.07.2017, 20:10 [ТС] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
То есть я создаю Таблица1 там делаю так:
Потом создаю Таблица2 и там так:
В программе создаю Форма1 (привязанная к ней Таблица1) там окно где будут отображаться товары и остатки. Будет выглядеть так:
Потом создаю Форма2 (привязанная к ней Таблица2) где буду выбирать товар из списка (Таблицы1) будет выглядеть так:
Создаю на Форма2 две кнопки [Приход] и [Продажа], при нажатии кнопки [Приход] откроется окно где введу количество товара (допустим 20) и нажму ОК то в Таблица2 запишется так:
И в программе в Форма1 я увижу это:
А если в Форма2 я нажму кнопку [Продажа] откроется окно где введу количество (допустим 11) и нажму ОК то в Таблица2 запишется:
А в Форма1 я увижу это:
Так должно работать?
0
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 14.07.2017, 20:29 | |
|
Давно это уже было, могу наврать, меня поправят если я ошибаюсь.
![]() Вместо поля Приход используется обычно более универсальное поле - КодОперации. Там хранится ссылка на вид операции проведенной по записи. А приход/расход это просто объединяющие термины для положительной и отрицательной операции. Видов операций может быть очень много, скажем начисление зарплаты сотруднику может включать в себя больше десятка разных операций.
0
|
|
|
Айлурофил
|
|
| 14.07.2017, 20:55 | |
|
Цены должны быть две - покупная и продажная.
Операции бывают: приход, продажа, списание, пересортица, изменение стоимости, возврат поставщику, возврат от покупателя, бой, порча и т.д. Добавлено через 13 минут Вообще, по-хорошему, ещё должно быть поле "партия товара".
0
|
|
|
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 15
|
|
| 14.07.2017, 21:28 [ТС] | |
|
Чет как то все заморочено. Уже больше похоже на программу по учету товара а не простой ее продажи. Мне по сути надо только забить товар в базу и не важно от кого он, какая там закупочная цена и т.д. и т.п., потом продать его и чтобы количество просто уменьшалось.
То есть такая концепция: 1. Создать Таблица1 в БД (код,наименование,цена,остаток), в программе сделать удобную форму (Форма1) для занесения товара в эту таблицу. 2. Создать Форма2 где можно было бы выбирать товар из Таблица1, потом указывать количество продаваемого товара и нажать кнопку [Продать], при нажатии указанное количество вычиталось бы из количества в Таблица1. Так не сможет работать?
0
|
|
|
Айлурофил
|
|
| 14.07.2017, 21:45 | |
|
Ты с какой целью делаешь, потренироваться, или для кого-то? Если потренироваться, пожалуйста, если для кого-то - не советую.
0
|
|
|
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 15
|
|
| 14.07.2017, 21:53 [ТС] | |
|
Да я просто учусь создавать программы, и вот решил сделать программульку по продажам товара. Мне интересно как это будет работать и по каким принципам. Спасибо что объяснили как все правильно должно работать в подобных программах. Но это больше похоже на 1С или что то из той серии. А мысль у меня была именно на такой концепции как я описал постом выше. Как мне такое сделать?
0
|
|
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 14.07.2017, 21:53 | |
|
Существуют еже давно проверенные модели, тебе советы дают ориентируясь по таким моделям. Никто тебе не мешает сделать свою модель, возможно даже более лучшую, но пока твои варианты не прокатывают.
Лучший способ проверить работоспособность модели, сделать таблицы по твоей задумке, внести тестовые данные и по внесенным данным сделать все запросы и отчеты которые ты запланировал. Если результат тебя устроит, то значит найдено удовлетворительное решение.
0
|
|
|
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 15
|
|
| 14.07.2017, 22:11 [ТС] | |
|
Можете мне пример привести такого запроса? У меня в принципе в этом вся и загвоздка. Например я создал БД в access там есть таблица называется (Товары) в ней поля (код, наименование, цена, остаток) подключил ее через ADO, создал на Форма1 интерфейс с таблицей в которую вношу данные товара (код, наименование, цена, остаток) и это потом сохраняется в БД таблицу (Товары). Потом создаю Форма2 интерфейс такой: поисковое поле для выбора товара (когда нашел нужный товар и выбрал его то появляется окно для ввода количества которое нужно продать), еще 2ое поле где отображается выбранный товар и выбранное количество (в этом поле отображаются все выбранные товары) и кнопка [Продать] при нажатии которой количество выбранного товара вычиталось из таблицы (Товары) БД. Так вот, какой для этого должен быть запрос(код) при нажатии кнопки [Продать]?
0
|
|
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 14.07.2017, 23:32 | |
|
Забудьте вы про интерфейс. У вас есть великолепная среда разработки и ведения БД. Сделайте запросы все а Акцесе, а когда они будут полностью работоспособны их можно импортировать в дельфи или просто обращаться к ним, как и к таблицам. Можно даже сделать все запросы с параметрами и обращаться к ним как к хранимым процедурам, т.е. вся работа с БД будет реализована в самой БД, а не в приложении. Вот когда это все у вас будет работать правильно, только тогда можно и интерфейс сделать.
0
|
|
| 14.07.2017, 23:32 | |
|
Помогаю со студенческими работами здесь
20
Доход от продажи 30шт. товара составляет 300 руб (M1) а от продажи 500шт. -1380 руб (M2) Определить доход Вероятность продажи товара Программа для продажи билетов в кинозал Организация продажи одного товара Программа на прологе для продажи театральных билетов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|