Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Схема БД 
:(
    Опции темы
informatik
Дата 14.1.2008, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 1
Всего: 6



Привет всем!

Прошу помощи. 

В БД есть обычные таблицы Товары, Клиенты и т.д. Нужно в приложении, хотябы как то примитивно, реализовать продажу товаров..

Я бы хотел сделать какойто документ "Реализация" использующий Данные таблиц из БД..

Помогите кто чем может... (ой прям как попрошайка..  smile )
--------------------
namespace informatik
PM MAIL   Вверх
thomas
Дата 14.1.2008, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



informatik, 
Приветствую.
Сейчас иду в школу, вечером вернусь вышлю примерчик.
И напиши более подробно ТЗ
Успехов. smile 


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
informatik
Дата 14.1.2008, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 1
Всего: 6



Привет thomas!

Есть простенькая БД.

Тыблицы БД:
1. Products - Товары;
2. Clients - Клиенты;
3. Emoloyees - Сотрудники;
4. Departments - Отделы

Вот схемка в VS.

user posted image

В нее наверняка надо что-то добавить..

Цели:

1. В программе должен быть создаваемый документ "Реализация", для реализации товаров. В этом документе должны указываться: клиент, сотрудник и список товаров из соответствующих таблиц.

2. Ну и далее соответственно должна быть возможность выбирать данные по продажам.

Меня интересует конкретно как реализовать документ "Реализация"??

Заранее благодарен  smile .
--------------------
namespace informatik
PM MAIL   Вверх
thomas
Дата 15.1.2008, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



informatik, 
Приветствую.
Цитата

Меня интересует конкретно как реализовать документ "Реализация"??

Для этого нужно в БД создать две таблицы: первая содержит общие данные об этом документе, вторая сожержит детальные данные.
В первую таблицу заносим следующие данные:
-клиент, кому продан товар(поле client_id - связь с таблицей данных на клментов);
-сотрудник, кто продал товар (поле emp_id -  связь с таблицей сотрудники);
-дата, когда произошла продажа - поле типа datetime;
-оплачено/не оплачено - поле типа boolean, для контроля оплаты;
-номер документа -  поле типа string, для хранения номеров, если не предусмотрена специальная система нумерации, когда номер можно использовать как id записи в таблице; (*)
-собственно id записи, логично использовать автонумерацию.

* Для специальной нумерации можно, к примеру, применить формат уууу00001, где первые 4-ре знака год, а последующие номер в году. Т.е. с первого января каждого года отсчет возобновляется с 200800001, 20080002, 200800003, ... ,200900001, 200900002, ... . Такая нумерация уникальна, нет повторяющихся значений, может быть использована в качестве первичного ключа в таблице.

Во вторую таблицу заносим данные отражающие содержание документа:
- id записи - поле автонумерации;
- товар, который продан - поле p_id (связь с таблицей товаров);
- количество, сколько товара отпущено - поле типа int;
- цена, по какой цене отпущен товар - поле типа money(SQL server);
- id записи из предыдущей таблицы(номер документа) - поле соответствующего типа(int или string) для связи таблиц(главный-подчиненный).

Цитата

Ну и далее соответственно должна быть возможность выбирать данные по продажам.

Это делается через запросы к таблице содержащей данные на "шапку" документа реализации.
Записи фильтруются по дате, по клиентам, по сотрудникам, комбинации из дата + клиент, дата + сотрудник, дата + клиент + сотрудник.
Из связанной таблицы (данные о деталях) получаешь данные о суммарной стоимости проданного товара - для каждого отдельного документа или по группе или по всем.

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

С дополнительными вопросами милости просим. 
Успехов. smile 





--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
informatik
Дата 15.1.2008, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 1
Всего: 6



Большое спасибо thomas!!!  smile  smile  smile  smile 

А вопросы у меня конечно же еще есть..


Я создам форму "Реализация". 
В ней будет шапка и таблица с товарами. 
Товары должны выбираться из открываемой формы со списком товаров. 

Вопрос в том: Как лучше и проще организовать данную функциональность??



И еще вопросик:

Товары будут делиться по группам.
Как реализовать деление по группам и подгруппам, а также отобразить все это дело на форме..???

Хелп ми....
--------------------
namespace informatik
PM MAIL   Вверх
thomas
Дата 15.1.2008, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



informatik, 
Приветствую.
Цитата

Товары будут делиться по группам.
Как реализовать деление по группам и подгруппам, а также отобразить все это дело на форме..???

Для этого создаешь еще две таблицы и добавляешь еще одно поле idподгруппы в таблицу товаров, для связи с таблицей подгрупп.
Первая таблица группы: id, name
Вторая таблица подгруппы: id, name, idgroup(для связи с родительской таблицей)
Все.
На форме для групп и подгрупп можно использовать комбобокс. Загружаешь группы в первый комбобокс. Пишешь для него обработчик события выделения, в котором для выбранной группы  загружаешь её подгруппы во второй комбобокс. Пишешь обработчик события для выделения, в котором выбираешь товары данной подгруппы и отображаешь их в datagridview.
Выбрал товар в гриде и передаешь его в форму реализации.

Только вместо этого
Цитата

Я создам форму "Реализация". 
В ней будет шапка и таблица с товарами. 
Товары должны выбираться из открываемой формы со списком товаров. 

Использовать лучше одну форму. Иначе пользователю каждый раз надо открывать форму для выбора товаров.
А в одной форме гораздо удобнее: слева поместил комбобоксы один под другим и грид подними, а справа вверху поля для ввода данных шапки документа, ниже контролы для ввода строки с выбранным товаром. Все что выбрал отображается в гриде, а внизу контролы для отображения суммы и кнопка для сохранения документа.
Примерно так. Это как вариант. Можно конечно и по другому, в зависимости от предпочтений пользователя.


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
informatik
Дата 16.1.2008, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 1
Всего: 6



Еще раз тебе огромное спасибо!!! 


Цитата(thomas)

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


Я хочу в одном документе продавать много товаров(т.е. в нижней части документа будет таблица), именно для этого хочется выбирать товары из другой формы, и именно в форме выбора товаров нужно реализовать многогрупность..

--------------------
namespace informatik
PM MAIL   Вверх
tol05
Дата 16.1.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 11
Всего: 170



Цитата(informatik @  15.1.2008,  17:01 Найти цитируемый пост)
Большое спасибо thomas!!! 


Цитата(informatik @  16.1.2008,  18:36 Найти цитируемый пост)
Еще раз тебе огромное спасибо!!! 


 smile 
thomas, ты страшно давишь своим интелектом... становится трудно дышать...

тебе намекают, что хватит уже, хватит, а ты не успокаиваешься все  smile 
+1 


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
informatik
Дата 16.1.2008, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 1
Всего: 6



Да я на него недавил, и тем более не намекал  smile  ...  Просто thomas действительно "монстр", как выразился mr.DUDA вот в этой теме:

thomas, монстр!!! <-------------- Monster LINK


и плюсы ему по заслугам, была бы возможность то сам бы добавил... smile 

Это сообщение отредактировал(а) informatik - 16.1.2008, 23:30
--------------------
namespace informatik
PM MAIL   Вверх
thomas
Дата 17.1.2008, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



informatik, 
Цитата

Я хочу в одном документе продавать много товаров(т.е. в нижней части документа будет таблица),

то что я описывал выше может выглядеть примерно так:
user posted image

Там слева выбор группы, для нее выбор подгруппы, для подгруппы ниже отображаются товары. Если там выбрать товар, то его данные отображаются справа в "Данные документа реализации". Проставил кол-во, указал скидку и жми кнопку "Добавить" в заказ.
Ниже грид, для отображения этих строк. (Грид привязан к временной таблице в ДатаСет, для хранения строк текущего "заказа", после сохранения их в базу таблица обнуляется для следующего "заказа")
Снова выбрал товар в списке(надо поменял подкатегорию или даже категорию) проставил ко-во, указал скидку жми кнопку, товар добавился в список и отобразился в гриде.
Под гридом сразу же отображается общая сумма.
Добавил в заказ не тот товар жми кнопку "Возврат" и нет строки с этим товаром в заказе и в гриде.
Закончил набирать товары, жми кнопку "Сохранить" данные сохраняются в таблицы БД. Шапка документа реализации в свою таблицу, строки(детали) в свою таблицу.
Нажал на кнопку "Следующий" все текстбоксы и надписи очистились, таблица(временная, в памяти)  заказа обнулилась, грид очистился. Выбирай клиента, вводи код в текстбокс и жми Энтер, данные на клиента из базы отображаются в контролах на верху.
Дата документа сегодня, номер присвоился автоматически(при нажатии кнопки "Следующий") и отобразился.
Выбирай товар, набивай заказ.

И не надо двух форм. Одной вполне хватит. Все видно, и не надо передавать данные между формами.(код писать удобнее)

Надеюсь примерчик пригодиться. 
Успехов.  smile 


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
informatik
Дата 17.1.2008, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 1
Всего: 6



Усе понятно! Благодарствую thomas! 

--------------------
namespace informatik
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0640 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.