Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нужен совет или пример по созданию базы по учету реализации
 
 автор: al hombre   (22.08.2007 в 11:04)   личное сообщение
 
 

Добрый день всем !
Назрела необходимость написать простенькую базу по учету реализации и оплат. Т.е. особых наворотов не требуется - только контроль задолженности по покупателю. К сожалению особого опыта в проектировании подобных баз у меня нет. В связи с этим мучаюсь с одним принципиальным вопросом (остальные благополучно решил в предыдущем приложении): Как правильно сконструировать таблицу по учету отгрузок и оплаты ? Напрашивается 2 варианта :
1. Сделать поля Покупатель-Накладная-Сумма-Оплачено-Долг - тут все просто, сумма долга посчитана и хранится в таблице. Но ежели покупатель платит частями , то возникают сложности с корректным разнесение оплат.
2. Сделать поля Покупатель-Накладная-Вид операции(отгрузка/оплата) -Сумма - в этом случае сумма долга будет формироваться в результате выполнения запроса.
первый вариант подкупает простотой, а второй гибкостью. У кого есть опыт в создании подобных баз - поделитесь мыслями плиз.
З/Ы Если кто поделиться простеньким примером буду премного благодарен. Взамен могу предложить либо пиво (в ПИТЕРЕ) либо базу по планированию платежей (заявки на оплату, реестр платежей, выписка, отчеты)

  Ответить  
 
 автор: Ирча   (22.08.2007 в 12:33)   личное сообщение
 
 

1) таблица покупателя Код, наименование.
2) Таблица накладных КодНакладной, КодПокупателя, что-то еще, что вам надо хранить
3) Таблица движения товара и учета оплат
кодНакладной, Дата, Отгрузка, оплата

Долг и другие вычисляемые значения в таблицах не хранить

  Ответить  
 
 автор: al hombre   (22.08.2007 в 13:05)   личное сообщение
 
 

Спасибо, попробую

  Ответить  
 
 автор: osmor   (22.08.2007 в 12:44)   личное сообщение
 
 

(мечтательно) ПИВО.... (еще более мечтательно) В ПИТЕРЕ.... эх, мечтательно закатил глаза и сглотнул слюну
В общем тут для начала нужно понять что и как будем учитывать и как и что возможно:
1. нужно ли знать что оплатечена конкретная накладная или только сумма долга/оплат по клиенту в целом
2. возможна ли оплата конкретной накладной минуя оплату других неоплаченных накладных
3. возможна ли оплата одной накладной несколькими суммами?
4. возможна ли оплата нескольких накладных одним платежем?
5. Возможнали комбинация вариантов 2, 3 и 4? а в разной валюте?
6. Возможны взаимозачеты? а прощение долга?
ну для начала хватит

  Ответить  
 
 автор: al hombre   (22.08.2007 в 13:09)   личное сообщение
 
 

Да, п. с 1-4 возможны. Я просто походу немного туплю с алгоритмом определения скажем так оплаченности накладной. Попробую сделать как советовала уважаемая Ирч. Поскольку раскидав номера накладных по двум таблицам я ничего не добился. Но будем пытаться.

  Ответить  
 
 автор: Explorer   (22.08.2007 в 13:15)   личное сообщение
 
 

>Назрела необходимость написать простенькую базу по учету реализации и оплат. Т.е. особых наворотов не требуется -


контроль задолженностей по покупателю (разноска платежей) не самая простая задача в любой предметке. Предположим

покупатель заказал:

ORDERNUM    PRICE    VAT        AMOUNT    
_______________________________________________                
112233        400     72         472
668899        700     126        826
555001        1500    270        1770
_______________________________________________                
TOTAL AMOUNT                     3068    

и покупатель оплатил

DATE            ORDERNUM        AMOUNT    
_______________________________________________                
12.12.2006        555001        1675
12.12.2006        668899        826
30-02-2007        112233        567
_______________________________________________                
TOTAL AMOUNT                    3068    

как по вашему каково состояние задолженностей покупателя перед продавцом и продавца перед покупателем

(это я еще привел данные в которых нет ошибок в "предмет счета" в платежном поручении покупателя - так что просто пивом тут не отделаться :))) )

  Ответить  
 
 автор: al hombre   (23.08.2007 в 08:35)   личное сообщение
33 Кб.
 
 

Пиво выпил сам :))). И вот что получилось. Т.е. идея Ирча заработала. Остается только прикрутить покупателя и решить вопрос надо ли номер накладной и прочие её причиндалы заносить в отдельный справочник. Поругаете :))

  Ответить  
 
 автор: palarm   (22.08.2007 в 15:20)   личное сообщение
 
 

Может это поможет http://accessoft.ru/SP/SP5.html

  Ответить  
 
 автор: Ирча   (23.08.2007 в 14:10)   личное сообщение
 
 

Не понимаю что у вас заказ и что накладная? какой документ является первичным при фоктической отгрузке? если накладная, то именно её номер должен быть ключевым для таблицы операций...

  Ответить  
 
 автор: al hombre   (24.08.2007 в 09:48)   личное сообщение
 
 

Накладная. Тут идеи какие были - накладные из 1С через шаблон эксел попадают в таблицу - в этом случае возникает косяк с указанием наименования покупателя. Но он решаем на уровне шаблона. Или накладные вводятся вручную - тут проблем нет кроме ошибок в номере. В первом случае если мы делаем ключом номер накладной то получем проблему с повторением уникальных записей (если я все правильно понял насчет ключевых полей) т.е. внести оплату , сославшись на номер накладной мы уже не можем. И получается что сначала мы должны должны заполнить справочник накладных, а потом уже таблицу операций, что несколько громоздко. Вот в чем главная проблема. В примере я просто прикинул сам алгоритм выявления оплаченной накладной.
З/ы Что интересно - в интернете не нашел ни одного примера реализации такой базы. Хотя вроде бы это уровень 2-3 курса института. Может проблема настолько ерундовая, что нет смысла её решать

  Ответить  
 
 автор: Ирча   (24.08.2007 в 10:27)   личное сообщение
 
 

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

А в таблице движений привязываться к КодуНакладной....

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList