![]() |
|
|
![]()
|
|
| mirvel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 24.3.2008 Репутация: нет Всего: нет |
Вообщем имеется фирма, которая занимается доставкой одного типа товара к постоянным клиентам...Т.е. когда товар закончится клиент опять заказывает этот же товар... Товар доставляется курьером. Количество курьеров растет. Курьер в конце дня сдает отчет по доставленным товаром...т.е. сколько товара какому клиенту он доставил.
Необходимо создать программу или информационную систему, которая выполняла бы следующее: 1. Хранила информацию о клиенте ( т.е. его данные, карточка клиента) 2. Вела учет "отчетов курьера". Т.е. Курьер открывает форму - документ... и делает отчет на конкретную дату, выбирая из списка клиентов и подставляя их в форму - документ (отчет)... 3. Просмотр журнала доставки товара по клиенту Описание проблемы: Каким образом вводить данные отчета курьера в базу? У меня есть два варианта 1. Создать общую таблицу в которую данные отчета будут напрямую вводиться через установку фильтров этой таблицы 2. создать дополнительную таблицу....в которой будет создаваться отчет.. а затем программой копироваться в общую базу 3. Другая система ввода отчетов |
|||
|
||||
| mirvel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 24.3.2008 Репутация: нет Всего: нет |
Кстати так же вообще хочется почитать лит-ру по структуре баз данных.. Например как организована структура хранения и обработки данных в 1С предприятии....Что мне нравиться в 1С это то ...когда работаешь с документами..... есть такое ощущение как-будто бы каждый документ это один отдельный файл....хотя по моей практике это лишь мнимость..на самом деле все файлы -документы (и имею ввиду одного шаблона) храняться в общей базе...а их мнимая индивидуальность выполняется лишь за счет запроса или системой фильтров!
Просвятити меня по этому поводу...или дайте ссылки! Заранее спасибо! |
|||
|
||||
| SergV |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
mirvel, из своего опыта по структурированию баз, знаю одно, забудь про общую таблицу, если не хочешь гемороя.
Таблицы нужно делить и связывать между собой по индексам. Исходить нужно из такого принципа, когда для одного может быть много, и для многого одно. Тоесть если взять таблицу пользователей, то для неё к примеру нужны такие поля, как ID пользователя, Имя Фамилия Отчество, Адрес, Телефон(Контакты), ну и к примеру пол. Если учесть что могут встретится несколько однофамильцев, то для этого нужен индекс, чтобы в других таблицах можно было ориентироваться на индекс пользователя а не на имя. Дальше идёт адрес, это поле должно быть индексным и связано с таблицей адресов, так как по одному адресу могут проживать несколько людей(клиентов). Телефон или контакты, тоже индексное поле на другую таблицу, так как у одного человека могут быть несколько телефонов, факс и к примеру сотовый, плюс емайл, аська или ещё что. А вот пол, тут понятно, он один, это уже неизменно. Если всё это делать в одной таблице, то получатся лишние повторяющиеся данные, к примеру если взять фирму где работают десятки людей, и для каждого придётся вводить одни и теже данные по фирме. Да и по выборке отдельных данных будет проще, если к примеру надо получить адрес человека, то для этого не надо будет фильтровать таблицу на нужные поля, а просто взять целиком данные из нужной. |
|||
|
||||
| mirvel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 24.3.2008 Репутация: нет Всего: нет |
Понятно... Представь курьер в конце дня делает отчет... Открывает форму...вводит данные за день...Эти данные должны попасть в головную таблицу....Как ты сделаешь ввод данных через промежуточную таблицу...или прямо в таблице? т.е. вспомни 1С предприятие....там создается документ...который мы редактируем....когда данные все введены мы можем "провести документ" а затем сохранить документ, или вообще сохранить без всяких проводок. Не знаю как устроен 1С....но как кажеться что данные "проведенные" попадают в головную таблицу.... а документ дублируется.... |
|||
|
||||
| SergV |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
C 1C я не знаком. А по поводу отчета, то не вижу проблем, отчет это таже таблица, в которой используются данные из других таблиц. Тоесть к примеру если в отчет нужно ввести имя клиента, то оно выбирается из формы, и по нему через перекрёстные ссылки на другие таблицы в форму отчета вводятся автоматом данные по этому клиенту. Другими словами, когда курьер в форме отчета выбирает клиента Пупкина, то в таблицы клиентов в полях для данного клиента имеются такие поля как адрес, телефон и ещё что. В поле адреса связано с таблицей адресов и внем стоит индекс адреса в таблице. Тоже самое и с другими отдельными таблицами. Тоесть как только имя выбрано, мы имеем значения других полей, а всё что касается единичных записей, относящихся к конкретному событию и индивидуальны(цены к примеру), добавляются отдельно курьером.
Таким образом не какие данные не дублируются, они просто в отчет подставляются. Тоже самое и при выводе на печать, все необходимые данные берутся из нужной таблицы через связи. По структурированию и ссылкам(связям) таблиц, в принципе достаточно подробно описывают в книгах по дельфи, где идёт речь о базах данных. Можешь посмотреть книги по дельфи от А.Я.Архангельского, единственная из мне встречавшихся книг, где боле менее всё подробно расписывается и примеров хватает. Это сообщение отредактировал(а) SergV - 24.3.2008, 18:19 |
|||
|
||||
| Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Начинаем читать книги про реляционные БД, что это такое и зачем нужны нормальные формы 1-4, потом переходим к реализации на дельфи (то бишь читаем уже книги по дельфи). Про F1 не забываем. Если поняли как работает реляционная БД, тогда легко и просто понимаем принцип работы 1С (я смотрю для многих она является идеалом -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |