Как свести автосумму?

Автор Наталья, 30 мая 2010, 03:41

0 Пользователи и 1 гость просматривают эту тему.

Наталья

Я работаю в таблице Эксель, но хочу создать базу данных, чтобы упростить себе работу. Я веду кассу предприятия, в конце дня я должна сводить кассу (автосумма приходов и расходов). Кто-нибудь знает-как это сделать?

Helen

полагаю, с помощью макросов будет удобнее.

а тестовая база уже есть?

Syzygy

Цитата: Наталья от 30 мая 2010, 02:41автосумма приходов и расходов
Не очень понимаю, о чём речь :(. Напишите формулу, которую используете в Calce, попробуем её адаптировать для Base.
A Matter of Life and Death

dr.Faust

Да, пожалуй, требуется более подробное описание, и, желательно, файл базы.
Свобода информации - свобода личности!

BigAndy

#4
Легкт
Цитата: Наталья от 30 мая 2010, 03:41Я веду кассу предприятия, в конце дня я должна сводить кассу (автосумма приходов и расходов). Кто-нибудь знает-как это сделать?
Легко. Только не в кальке, а в base + postgres
Скажите, куда скинуть DDL, я скину (там большой объем данных, движок форума не позволяет их сюда присобачить)
Морду сами сконструируете?

Поправил тэги.

Наталья

В течение дня есть поступление ден.средств и различные расходы. Итого:-и есть автосумма, которую я свожу вечером, когда сдаю кассу, для сверки наличных денег. Первой вложение-таблица, в которой я сейчас работаю, второе-новая база (как я её вижу). Как подвести итог наличности в конце рабочего дня?

[вложение удалено Администратором]

dr.Faust

Извините, Наталья, но для начала нужно спроектировать нормально базу.
Мне не очень доступна бизнеслогика решения, да и в базах я не большой специалист - BigAndy подсказал бы лучше. Но.
Зачем вы пытаетесь запихнуть всё в одну таблицу?
Оставьте ключ, дату, сумму, контрагента и ОСНОВАНИЕ. Гора полей сразу отвалится, а все суммы окажутся в одном поле - столбце, в терминах Calc, если хотите.
Сделайте, ещё две таблицы - одну с контрагентами, другую с возможными основаниями типа - бензин, бонусы, прочие расходы и т.п.
База станет меньше по размеру, запросы упростятся, база станет легко расширяема, а ваша задача будет решатся суммой по одному полю.
Свобода информации - свобода личности!

Наталья

Я изначально так её себе и представляла, но не могу установить ключи к таблицам. В Виндоусе всё гораздо проще. У меня Линукс меньше месяца, я до конца ещё в нём не разобралась, поэтому и прошу у Вас помощи

dr.Faust

Дело не в Линукс, а в ООо - он одинаковый и там и там.
Так как мне сложно понять, что значит "не могу установить ключи к таблицам" можно чуть поподробнее - давайте начнём сначала и попытаемся разобраться, что конкретно не выходит...
Свобода информации - свобода личности!

Наталья

Мне нужно, чтобы можно было сделать выборку штрафов и авансов по конкретному сотруднику, по номеру заказа найти ЧП и сумму оплаты, по названию компании собрать все оплаты за определённый период. Все те поля, которые я создала в базе Тест.касса, - это столбцы в таблице, с которой я работаю сейчас. Честно говоря, я хотела создать несколько таблиц с данными: ЧП; банки; компании-поставщики; сотрудники; и ещё несколько, чтобы выбирать их из списка при вводе данных, но не могу привязать эти таблицы к базе данных. Мне трудно объяснить, что именно я хочу. Попробую сделать это на примере, может так будет понятнее. Я раньше работала в агенстве недвижимости, мы работали с Аксессе, вводили данные в форму, а потом можно было задать параметром поиска, например: кол-во комнат, район, цена (от и до), состояние, этаж (от и до), нажимали найти и выводился список подходящих квартир, выбрав одну, можно прсмотреть всю информацию о ней. Вот как-то так я себе и представляю свою кассу.

JohnSUN

ЧП - договор - платежи, видимо будут выглядеть как-то так?

В таблице ФЛП - название ЧПшника, где находится, как связаться, с кем реально разговаривать (а то называется ЧП Иванов, а на самом деле разговариваем с Сидоровым)... И дополнительно поле ИдентификаторКлиента - просто целое уникальное число, которое база сама будет создавать при внесении новой записи.
Договоры - номер, даты заключения и действия, какие-то дополнительные данные (просто описание условий договора)... Поле ИдентификаторКлиента, чтобы однозначно привязать вот этот договор к вон тому клиенту... И дополнительно поле ИдентификаторДоговора - такое же целое уникальное число.
События (или Платежи, или Касса) - всё что касается одного движения денег по кассе: когда, сколько, по какому из договоров (поле ИдентификаторДоговора)... Логическое поле ВидДвижения (Да - приход денег к нам, Нет - расход на что-то). Ну и - чисто по привычке, а вдруг где-то понадобится? - дополнительно поле ИдентификаторОперации - целое уникальное число.

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

Во всяком случае, "печка, от которой уже можно плясать" выглядит, ИМХО, именно так

[вложение удалено Администратором]
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Наталья

По-моему, я что-то делаю не так.

[вложение удалено Администратором]

Наталья

JohnSUN, спасибо за подсказку, но всё не так сложно, как Вы расписали. О клиентах (ЧП) вся информация сводится только к фамилии. Оплата происходит в форме нал или безнал, безнал в своё время состоит из нескольких банков. Если я пойму как связать всё это, то с расходами разберусь как-нибудь сама.

JohnSUN

Цитата: Наталья от  2 июня 2010, 13:12
...всё не так сложно...
[Шутка]Разумеется! Всё гораздо сложнее!!!  ;D [/Шутка]
Весь фокус в том, что перед тем как связывать все это в кучу, нужно развалить его на отдельные самостоятельные кусочки. В результате получится, что данные в базу можно будет занести один раз в одно место, а использовать многократно во многих местах... Ну, как было в той аксессовской базе в агентстве.
Окончательная задача Вашей базы пока формулируется приблизительно так: любое движение денег по кассе или банку нужно зафиксировать "документом" ("формой"), который можно увидеть целиком и при необходимости исправить; в документе должны быть договор ЧПшника и, возможно, кто-то из наших сотрудников в случае расхода; всё это нужно чтобы быстро получить общую картину за любой период начиная с "за день" и заканчивая "за весь период"  по любому клиенту, договору или сотруднику, по налу или безналу и прочее и при необходимости распечатать нужные формы с уже вписанными данными.
Чтобы эту задачу решить, нужно Вашу таблицу "Поля базы" разрезать на кучку маленьких табличек, в которых данные не будут повторяться... Ну, например, с ЧП Иванов уже заключено два договора: если бы договоры и их ЧПшники сидели в одной таблице, то ЧП Иванов нужно было бы вносить дважды (и, возможно, ошибиться при написании), а если в разных - то только указать уже имеющегося.
А потом через Сервис-Связи нужно указать для всех этих маленьких табличек "кто кому доктор", кто кого будет использовать... И когда база будет иметь эту информацию (о связях между табличками), тогда и все остальные задачи решаются очень просто - все представления, формы, запросы, отчеты создаются в несколько щелчков мыши.
Да, признаю, с описанием таблицы ЧПшников "ФЛП" я погорячился - столько данных и вносить-то не стоит, скучно. Но я не виноват! Это все ООо Base мне подсунул, когда таблицу с помощью мастера конструировал  :D
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Наталья

Я вроде бы делаю всё правильно, но форма открывается в режиме для чтения