Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 15

Программа для продажи товара (Delphi 7)

13.07.2017, 19:45. Показов 5727. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! Хочу создать программу через которую можно будет продавать товары. Уже создал базу данных в Access подключил ее в DBGrid через ADO теперь могу создавать, редактировать товар и сохранять в эту базу. Сейчас встал вопрос реализации самого момента продажи этого товара, не могу сообразить как это сделать. Вопрос такой, мне надо создать в этой БД еще одну таблицу (промежуточную), чтобы при выборе товара он заносился туда и когда чек будет закрыт все эти товары (точнее их количество) списывалось из первой таблицы? Верно я мыслю? Подскажите пожалуйста я новичок в программировании. Заранее благодарен!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.07.2017, 19:45
Ответы с готовыми решениями:

условие для продажи товара
имеется код, при рассчете суммы, должно выходить сообщение, если количество товара выбрано больше, чем есть в наличии... но у меня все...

Программа продажи товара в магазине по дням
Программа продажи товара в магазине по дням CLS INPUT “ Кол. рабочих дней: “, n INPUT “ Начальное кол. товара: “, R REM “...

Формула для вычисления поступления и продажи товара
У меня одна БД. В которой размещены товары. Они периодически поступают и периодически продаются. Продажа/поступление идет в разных...

39
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,659
Записей в блоге: 21
13.07.2017, 23:10
до программирования тут еще должно быть далеко
нужно про алгоритмы и работу с БД читать
сильно про теорию реляционных БД
про справочники и связи
про таблицу движения товаров и получение выборки по конкретному товару
много...
0
5966 / 4542 / 1094
Регистрация: 29.08.2013
Сообщений: 28,151
Записей в блоге: 3
14.07.2017, 06:51
Цитата Сообщение от СтранныйЯщер Посмотреть сообщение
Уже создал базу данных в Access
какие таблицы и поля?

Цитата Сообщение от krapotkin Посмотреть сообщение
до программирования тут еще должно быть далеко
+1
0
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 15
14.07.2017, 15:22  [ТС]
Таблица (Товары) поля (Код, Наименование, Цена, Количество). Просто не могу понять как таблицы должны с друг другом взаимодействовать, и вообще как происходит сам механизм продажи товара через них. Помогите, объясните вкратце.
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,659
Записей в блоге: 21
14.07.2017, 15:30
нет такой таблицы
есть справочник товаров
код, наименование
есть движение товаров
код товара, время, количество, код контрагента, входная цена, документ поставки/отпуска
если количество >0 - приход, <0 - расход

приход и продажа товара это занесение в таблицу движение товара новой записи
0
5966 / 4542 / 1094
Регистрация: 29.08.2013
Сообщений: 28,151
Записей в блоге: 3
14.07.2017, 16:43
Цитата Сообщение от СтранныйЯщер Посмотреть сообщение
как таблицы должны с друг другом взаимодействовать
никак, лежат таблицы в бд и хранят информацию

Цитата Сообщение от СтранныйЯщер Посмотреть сообщение
вообще как происходит сам механизм продажи товара через них
продажи идут не через них

продажа, как и закупка, это 1 строка в базе. вот например

купили 1 яблоко
продали 1 яблоко
купили 2 яблока

и так 100500 строк в базе
когда нам нужно узнать остаток мы берем сумму покупок и вычитаем сумму продаж
0
Айлурофил
 Аватар для Massaraksh7
511 / 445 / 111
Регистрация: 27.05.2017
Сообщений: 2,676
Записей в блоге: 5
14.07.2017, 18:44
Ещё, возможно, таблица остатков.
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,659
Записей в блоге: 21
14.07.2017, 19:01
тут три поста сверху, что нет таблицы остатков
0
Айлурофил
 Аватар для Massaraksh7
511 / 445 / 111
Регистрация: 27.05.2017
Сообщений: 2,676
Записей в блоге: 5
14.07.2017, 19:10
Не совсем понял, не нужна, что ли, по-вашему?
0
 Аватар для Пытливый
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
14.07.2017, 19:25
В идеале не нужна, но для облегчения расчетов и снижения нагрузки издавно повелось на начало года формировать такую таблицу. Современные мощности вполне позволяют обойтись без нее.
0
Айлурофил
 Аватар для Massaraksh7
511 / 445 / 111
Регистрация: 27.05.2017
Сообщений: 2,676
Записей в блоге: 5
14.07.2017, 19:29
С крупными оптовыми базами без неё не обойтись.
0
0 / 0 / 0
Регистрация: 13.07.2017
Сообщений: 15
14.07.2017, 20:10  [ТС]
То есть я создаю Таблица1 там делаю так:

КодНаименованиеЦена
1Яблоко10.00 руб.

Потом создаю Таблица2 и там так:

КодНаименованиеЦенаКоличествоДатаВремяПриходПродажа
пустопустопустопустопустопустопустопусто

В программе создаю Форма1 (привязанная к ней Таблица1) там окно где будут отображаться товары и остатки. Будет выглядеть так:

КодНаименованиеЦенаОстаток
1Яблоко10.00 руб.0

Потом создаю Форма2 (привязанная к ней Таблица2) где буду выбирать товар из списка (Таблицы1) будет выглядеть так:

КодНаименованиеЦенаКоличествоДатаВремя
1Яблоко10.00 руб.пустопустопусто

Создаю на Форма2 две кнопки [Приход] и [Продажа], при нажатии кнопки [Приход] откроется окно где введу количество товара (допустим 20) и нажму ОК то в Таблица2 запишется так:

КодНаименованиеЦенаКоличествоДатаВремяПриходПродажа
1Яблоко10.00 руб.2014.07.201712:48Приходпусто

И в программе в Форма1 я увижу это:

КодНаименованиеЦенаОстаток
1Яблоко10.00 руб.20

А если в Форма2 я нажму кнопку [Продажа] откроется окно где введу количество (допустим 11) и нажму ОК то в Таблица2 запишется:

КодНаименованиеЦенаКоличествоДатаВремяПриходПродажа
1Яблоко10.00 руб.1114.07.201712:53пустоПродажа

А в Форма1 я увижу это:

КодНаименованиеЦенаОстаток
1Яблоко10.00 руб.9

Так должно работать?
0
 Аватар для Пытливый
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
14.07.2017, 20:29
Давно это уже было, могу наврать, меня поправят если я ошибаюсь.
Вместо поля Приход используется обычно более универсальное поле - КодОперации. Там хранится ссылка на вид операции проведенной по записи. А приход/расход это просто объединяющие термины для положительной и отрицательной операции. Видов операций может быть очень много, скажем начисление зарплаты сотруднику может включать в себя больше десятка разных операций.
0
Айлурофил
 Аватар для Massaraksh7
511 / 445 / 111
Регистрация: 27.05.2017
Сообщений: 2,676
Записей в блоге: 5
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
Айлурофил
 Аватар для Massaraksh7
511 / 445 / 111
Регистрация: 27.05.2017
Сообщений: 2,676
Записей в блоге: 5
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.07.2017, 23:32
Помогаю со студенческими работами здесь

Доход от продажи 30шт. товара составляет 300 руб (M1) а от продажи 500шт. -1380 руб (M2) Определить доход
Доход от продажи 30шт. товара составляет 300 руб (M1) а от продажи 500шт. -1380 руб (M2) Определить доход от продажи 1000 шт товара при...

Вероятность продажи товара
Здравствуйте! Постановка задачи - есть дрель, стоимостью Cдрели. Даем в аренду это оборудование за Cуслуги. Мы не знаем, сколько клиентов...

Программа для продажи билетов в кинозал
Встала такая задача. Появилось несколько вопросов. Сам еще по универу изучал С++ builder. Так что немного в теме разбираюсь. ...

Организация продажи одного товара
Добрый день, уважаемые! Прошу поделится Вашим мнением по поводу настройки сервиса на WordPress по следующему сценарию. Необходимо...

Программа на прологе для продажи театральных билетов
Здравствуйте. Помогите пожалуйста с решением задачи: Составить программу для продажи театральных билетов, которая должна отображать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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 - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru