powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Принципы проектирования БД для учетных целей
204 сообщений из 204, показаны все 9 страниц
Принципы проектирования БД для учетных целей
    #32117805
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моим наблюденияем, большинство БД служат во имя учетных целей (складской учет, бухгалтерский, оперативный).
Несмотря на это, я что-то не встречал книг типа "как проектировать складскую БД" или "как сделать БД по учету ..." Есть толстенные книги, где много разной умной теории, но мало полезного. Меня интересует конкретно: какие должны быть таблицы и механизмы под такой-то тип учета.
Вопрос: где можно почитать о принципах проектирования БД для целей учета?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32117829
AISOFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Освойте проектирование и разработку баз данных, изучите проблемную область, и этот вопрос отпадет сам собой. Основная проблема не в том, как проектировать базу для учета, а в понимании, что такое учет.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32118197
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А откуда это понимание возникнет без теории? Но если посмотреть на литературу по этому вопросу, то в книгах по теории учета он рассмотрен, как правило, без привязки к теме "базы данных". Либо эта тема идет отдельным вопросом (совсем небольшим). По теме "Организация учета постредством баз данных" практически ничего нет.
Структура данных имеет принципиальное значение при проектировании системы. Если допустить ошибку в этом вопросе, исправить ее дальше будет почти невозможно. То есть к проектированию структуры надо подходить максимально серьезно. А без знания теории это, по-моему, почти невозможно. И не понятно, каким образом изучение предметной области может помочь сделать грамотную структуру. Это изучение поможет понять:1 какие данные на входе 2 Какие отчеты на выходе. А вопрос как из 1 сделать 2, я думаю, такое изучение не прояснит.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32118209
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это прояснит изучение проектирования и разработки БД и приложений для них.

Или ты как хотел - вот тебе все таблицы, процедуры, вот весь код, даже на CD - тогда зачем ты нужен? Любой бухгалтер зальет это на сервер и будет работать :)

А вдруг придется чего-то изменить? А ты не в зуб ногой :) - в книжках то нет такого :)

Да и везде все разное.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32118218
_Александр_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wara

Как правило, одни и те же вопросы интересуют многих людей.
А как следствие - если такой факт имеет место, появляется соответствующая
литература.
Отсюда вывод - раз такой литературы нет, значит или оно не надо, или
не поддается простому описанию.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32118345
AISOFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wara
Это изучение поможет понять:1 какие данные на входе 2 Какие отчеты на выходе.

Без понимания того какие данные на входе и на выходе, невозможно создать оптимальную схему базы, учесть избыточность, непротиворечивость, производительность, безопасность, запроектировать необходимые процедуры обработки данных т. д. Привести схему базы к любой нормальной форме дело не сложное, хотя и требует некоторой практики, но на этом этапе не имеет значение какая информация хранится в базе.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32118844
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По учету помогают очень разговоры с бугалтерами (либо другими лицами, которым предполагается поставить прогу), а так же хотя бы поверхнастное чтение книг по бугалтерии.
Да бугалтеров следует пытать, дабы вызнать у них все секреты о том что они сделают с бумажкой в том или ином случае... И еще, в бугалтерских базах, ИМХО, нужно очень внимательно работать с командой delete и update... Как правило туда данные только вставляются, и если они удалены, то запись просто помечается как удаленная, но есть в базе и ее можно всегда поднять, доказав что ты не осёл
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32118985
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр_,
Либо кому-то не выгодно делиться информацией, которая имеет ключевое значение.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119002
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarWind
При таком подходе Вы автоматизируете тот бардак, что имеется в головах у бухгалтеров. Да, возможно Вы проясните для себя их потребности. А потом начнете изобретать то, на что уже давно существовать четкая теория как именно это сделать.
Alsoft, я тут купил недавно книжку. "Теория учета" называется. Страниц 600-800. Попытался найти там что-то для себя. Вот что я оттуда почерпнул.
1.Двойная бухгалтерия - не единственный и часто не самый удобный способ учета.
2. В законодательстве по вопросу учета царит хаос и неоднозначность.
3. Терминология учета крайне запутана и неоднозначна.
4.Специалисты, которые имеют положительный опыт проектирования учетных программ лучше всех разбираются в вопросе, что же такое учет.
5. Существует много разных способов отражения операции приход/расход посредством базы данных и непонятно какой способ наилучший и есть ли он вообще.
Лучше бы я эту книгу не покупал - денег не тратил.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119026
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara
Так я и не понял - чего тебе надо то?

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

Или ты наоборот - ничего не хочешь знать, но чтобы все запрограммировать?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119146
VladSh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygra!
Не нападайте на wara
Он высказался по делу и совершенно прав (с моей точки зрения разумеется)
Я общался с очень многими бухгалтерами
Поверьте - толку от них никакого
Проектирование БД - не их задача
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119186
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно не их - их задача рассказать то что знают программисту. Естественно то, чего он сам не знает.

Но уж если ничего совсем - то тут чем поможешь?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119193
AISOFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wara
Alsoft, я тут купил недавно книжку. "Теория учета" называется. Страниц 600-800.

Надо читать базовые учебники по бухгалтерии, логистики, экономики, причем на первом этапе отечественных авторов. Кроме этого надо учитывать особенности учета той страны, для которой разрабатывается софт. Также надо учесть модель бизнеса организации, которая заказала разработку или предусмотреть возможность гибкой настройки. Возможность гибкой настройки - вещь полезная, но очень сложная, поэтому на данном этапе, лучше ориентироваться на конкретного заказчика. Реальность такова, что для успешной автоматизации в какой-либо предметной области, надо иметь объем знаний в этой конкретной области, которой приближается по объему ко второму высшему образованию. Вот это и есть тот секрет, который обычно не раскрывают. Если кратко, то процесс, обычно, строится по такой схеме - встреча с заказчиком, выяснение его потребностей, создание прототипа и т. д. Главное: выяснение потребностей заказчика и однозначное понимание его потребностей. Без хорошего понимания предметной области однозначное понимание потребностей заказчика, просто невозможно. Во-первых - специалисты предметной области с одной стороны и сами полностью не осознают, что им надо, а с другой искренне считают, что-то, что они недоговаривают и так понятно, во-вторых, один и тот же термин, в разных прикладных областях понимается по-разному.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119255
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, такой литературы просто пока нет - потому, что до сих еще не сформировалась сама область - проектирование учета. Т.е., есть успешные разработки - но это отдельные решения, основанные на таланте/опыте отдельных людей - а не опыт применения некоторой теории. Людей таких немного (и большинство, думаю, занято не осмыслением, а проектирование чего-то нового). И пока не накопится некая критическая сумма опыта и знаний, ничего не будет. К тому же, несмотря на то, что существует общность подходов, каждый учет довольно спецефичен.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119312
AISOFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aag
Я думаю, такой литературы просто пока нет - потому, что до сих еще не сформировалась сама область - проектирование учета

Такой области - проектирование учета, скорее всего и не будет, так как не понятно предметное содержание такой области. Чем должны заниматься специалисты, которые работают в данной области?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119508
_Александр_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень редко, но подобная литература встречается.
Купил как-то "бухгалтерский учет для технарей" называется. Смысл там
такой, чтоб тем, кто это дело автоматизирует, проще понять, что есть бух.
учет.

Но универсальных методов наверное нет. Это сильно зависит от конкретного
заказчика. AISOFT правильно сказал.
Могу добавить, что подход зависит и от разработчиков (я имею ввиду крупных, которые преобладают на данном рынке)

Ну а если даже такую книгу написать, то наверное она будет называться "как
мы (я, они и т.п.) автоматизировали ..."

Взять к примеру 1С. Имеет решения для огромного круга задач, выпускается
огромным тиражом. При этом имеется масса фирм и специалистов, кто
занимается "тонкой" настройкой.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119630
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем должны заниматься специалисты, которые работают в данной области?
Проектированием складского учета :)
На самом деле, хотя везде своя специфика, но можно выделить достаточно общие части. Если есть учет - значит, есть движение чего-то, есть какие-то остатки и пр. В одну общую задачу свести это нельзя, но рассмотреть типовые задачи напр., автоматизации банка, автоматизации склада и пр., думаю можно - абстрагируясь от значительного кол-ва "скелетов в шкафу".
И решения таких типовых задач существуют, их кол-во невелико, есть смысл их и рассматривать.
Да только не встречал я таких книг (правда, особенно-то и не искал)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119689
AlexB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что вообще может содержать в себе книга на тему "Организация учета посредством баз данных"? Описание какого-либо конкретного проекта? Но более-менее сложный проект это полсотни таблиц и полтысячи процедур.
Тут один только листинг с комментариями займет около 1000 страниц. Обалдеешь разбираться в этом. А какой-либо кусок, вырванный из контекста, вряд ли поможет понять, как спроектировать свою базу.
Нет, сначала надо подковаться в теории учета, как таковой, и в проектировании баз данных, как таковых, и тогда первое само начнет ложиться во второе.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119708
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygra
Я хочу знать минимум и только о принципах, а не о том, как там кто-то предложил чего-то классифицировать (какие придумал счета и зачем, что с чем корреспондируется и для чего...). Я думаю, что зная принципы, можно все это самому придумать. (меня интересует оперативный а не бухгалтерский учет).
И как эти принципы реализуются с помощью баз данных, какие есть варианты...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119712
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aag
Вот с Вашим мнением я полностью согласен. То, о чем говорит AISOFT - анализ требований, - штука полезная. Без него не обойтись. Но я ведь не о том, а о базовых принципах. Вот, к примеру, возьмем строительство. Я, к примеру строитель. Нашел я заказчика, беседую с ним, выясняю, что ему надо. А сам держу в голове то, чему в институте учили:как надо дома строить - строительные принципы. А то может получиться - построил я, приложив максимум творческих услилий, замечательный коттедж, а он у меня развалился через день...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119718
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexB "А что вообще может содержать в себе книга на тему "Организация учета посредством баз данных"? "
Вот вам пример (правда не книги, а статьи):
rsdn.ru - статьи-базы данных-проектирование-Информационная система и реляционная СУБД
Это единственная статья о принципах организации учета постедством БД, которую я вообще видел.
(Кстати, даже майкрософтовские учебные базы, входящие в Access и SQL-server, по моему мнению, сделаны так, чтобы продемонстрировав возможности продукта, не демонстрировать учетных принципов. Там, к примеру, нет нормального склада, взаиморасчетов и.т.п. То есть того, что наиболее актуально...)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32119780
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wara
Я совсем не говрил о том чтоб бугалтера рассказывали какие таблицы мне необходимы... я слав богу до такого маразма не дошел еще... Равно как и с пользователями "особо одаренными" пытаешься говорить на их языке... Равно как и хочешь или нет, а план счетов тебе придется знать... хотя бы общие принцмпы построения. Чтоб хотя бы в формах рисовать правельные буковки. При том что ты должен прекрасно знать документооборот, дабы знать, какая бумажка должна кому упасть. Что-то свое надо преподносить, как-то оптимизировать то что они предлагают... Но опять же нужно найти человека который разяснит можно ли так оптимизировать систему. И разумеется самому копить опыт. причем такое поведение характерно не только с бугалтерией, но и со всеми предметными областями . Не напишешь же на все книги...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32120306
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот вам пример из машиностроения. Есть предмет "сопромат". Его знание полезно и необходимо, но только зная его, ничего спроектровать невозможно. Далее идет, к примеру, "Детали машин". Это уже кое-что, какую-то отдельную деталь поможет спороектировать. И на последнем этапе курс "Методы проектирования таких-то устройств" ... диплом. То есть человек познал теорию, далее ему показали, как проектируют конкретные устойства, по которым он специализируется.
Так вот, базами данных (и созданием на их основе систем учета в разных областях) занимается уйма народа. А литературы по этому вопросу почти нет. Вывод:большинство творит как свободный художник кто во что горазд, насупая на те же грабли, на которые не надо наступать, зная теорию.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32120372
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какую теорию то?

Т.е. я, как программист, должен закончить штук пять институтов по тем специальностям, для которых должен программы писать?

Дык я и так пойму.

Или нужна литература, типа: Проектирование бух.системы за 5 минут или Склад на SQL-сервере для чайников ?

Так не бывает такого - пока сам не поймешь, чего делаешь, ничего не получится
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32120452
sergwsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara:
Хорошая была бы книжка !!!
Я бы купил.
Кстати, если внимательно штудировать форум - можно найти большинство "кубиков", из которых строиться учётная система.
А таких комментариев, как здесь, ни в одной книжке не напишут :-)).
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32120541
AISOFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wara
Вот вам пример (правда не книги, а статьи):
rsdn.ru - статьи-базы данных-проектирование-Информационная система и реляционная СУБД

Я эту статью прочитал, ничего интересного там нет, а уж нового нет точного. Кроме того, автор забыл, что проводки делаются по документу и, причем по документу делается не одна проводка, а группа проводок, типа <дебет, кредит, сумма, дата> и уже эта группа проводок называется, на языке бухгалтеров, проводкой. Естественно, что движение материалов нельзя привязывать ко всем проводкам, или если привязывать, то придется очень хитро обрабатывать. Также, он забыл упомянуть о том, что документы делятся на приходные и расходные, а счета бывают в одном разрезе материальные и денежные, а в другом - активные, пассивные и активно-пассивные и соответственно сальдо отображается по дебету, кредиту или и по дебету и по кредиту. Он много чего еще не написал. Да и много чего еще не упомянул.
Что в этой статье так поразило и удивило?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32120659
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Боюсь, что я не очень внимательно прочитал все постинги, и примера книги у меня нет(написать, что ли?). Но у меня возникло впечатление, что народ, в основном, идет от бухучета. На самом деле надо делать склад (или другую фичу), а потом его привязывать к бухучету. Тогда задача становится гораздо проще. Конвертер от нормальных данных к бухучету (в российской действительности) написать гораздо проще. Мои "склады" говорят с кладовщиками на их языке, а бухи получают данные на своем языке.
==========
Вот только, что я до сих пор не решил оптимально - места хранения. Тут бы лучше подходила иеврхическа БД, а на реляционных приходится извращаться.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32120699
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какая разница, для чего проектируется БД - для учетных или еще каких целей. Фактически все равно сводится к постановке, проектировке структуры и написания бизнес-логики. Если рассматривать проектирование структуры и бизнес-логики БД, то оказывается, что используемые в этом процессе решения не зависят от конкретной постановки, так как в конце концов проектирование уходит на уровень абстрагирования обьектов, и зависит уже больше от стандартов проектирования релляционных СУБД, возможностней выбранного сервера и правил, определяемых при проектировке и кодированием самими разработчиками. Все это наводит на мысль, что под все это катят добрые старые паттерны, коими уже так много лет пользуются разработчики Си, Java, а теперь и .NET . По идее паттерн под БД должен описывать некий абстрактный обьект (или группу обьектов, действие и т.д.) с определенным набором требований и функционала (например обьект, свойства которого могут изменятся во временном периоде, в том числе задним числом) и несколько способов реализации его хранения и бизнес-логики, соответствующе под стандартный SQL и диалекты существующих SQL серверов. Фактически такие паттерны сейчас существуют у каждого из нас, но только в виде опыта проектирования конкретных задач. Думаю, что если сравнивать реализацию БД, спроектированные под абсолютно разные задачи, то сравнение решений на абстрактном уровне у одной команды разработчиков будут полностью совпадать, а у разных будут как совпадения, так и отличия (разный уровень проффесионализма и опыта, различные реализации СУБД, разные требования к клиентской части и т.д.). За рубежом наверное такие паттерны есть (название может конечно быть другое, но что то обязательно быть должно, зная их страсть к стандартным решениям). У нас такого нет, а очень жалко :(

P.S. Прошу сильно не пинать за рассуждения, не силен я в терминологиях, мож где и глупость сказал :)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32120703
AlexB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже ознакомился со статьей
"rsdn.ru - статьи-базы данных-проектирование-Информационная система и реляционная СУБД". К проектированию учетных БД она имеет весьма косвенное отношение. На 18-и страницах печатного текста автор демонстрирует свои познания в T-SQL, на основе кастрированного бухгалтерского примера, который в таком виде стопудово ни в одной системе релизован быть не может. По причине своей искусственности и отрыва от реальности.
Помнится когда я начинал работать, то тоже решил взять чей-то проект, разобраться в нем, и таким образом преобретя начальные теоретические познания создавать уже свой проект. Так мне эта чужая схема так в голове засела, что не знал куда деваться. Начинаю делать какой-нибудь новый модуль, а в голове свербит - "а вот там это было сделано так, и работало!". Хотя вижу, что то, чужое решение, ко мне можно прикрутить только через одно известное место.
Нет, повторю еще раз: сначала надо подковаться в теории учета, как таковой, и в проектировании баз данных, как таковых, и тогда первое само начнет ложиться во второе.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32121558
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tygra , Вы писали "Или нужна литература, типа: Проектирование бух.системы за 5 минут или Склад на SQL-сервере для чайников?"
Если убрать окончания "за 5 минут" и "для чайников" - то будет именно то, что надо. Только таких книг почему-то нет.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32121560
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISOFT, меня ничто там особенно не поразило и не удивило, просто мне понравилось, что со мной разговаривают о том, что меня интересует и тем языком, что мне понятен. Естественно, матерым людям, у которых есть большой опыт и какая-то специальная литература, эта статья, может быть, и не откроет ничего нового. Я просто привел пример статьи, которую я встретил в единственном экземпляре по данной теме.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32121562
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2, если у вас есть, чем поделится с народом по данной теме, напишите, если есть возможность (хотя-бы статью). Будет очень интересно с ней ознакомиться.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32121565
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS, у меня, конечно, нет такого опыта, как, чувствуется есть у вас, но я интуитивно чувствую, что Вы в самый корень смотрите. Я тоже думаю, что есть какие-то паттерны (некие базовые структуры, основные ходы при пректировании, если я Вас правильно понял), которые все каждый раз изобретают заново. от того, что просто не знают о них.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32121608
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Базовые структуры складской БД.

Основные (имеют естественные первичные ключи)
Таблица текущих остатков
Таблица движения материальных ценностей
Таблица оплат
Таблица заказов

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

Необязательные (имеют суррогатные первичные ключи)
Разные справочники: контрагенты, склады, места хранения, группы товаров, артикулы, номенклатурные номера, изготовители, банки и т.д. и т.п - по потребностям.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32121651
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Прощу прощения, забыл основную таблицу - таблицу документов с суррогатным первичным ключом
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32121845
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О структуре таблицы движений

Cat2
Какова у Вас структура таблицы движений? Из литературы по учету, которую мне тут настоятельно советовали изучить, я узнал (правда я и раньше об этом догадывался), что существует несколько способов задать движение в реляционной структуре
1. ID, количество (со знаком), дата и.т.п.
2. ID, количество приход,расход, дата и т.п.
3. ID, количество,маркер (id типа движения), дата и т.п.
4. ID, количество со знаком .......
Везде ID того, что движется.
С помощью какого типа структуры Вы записываете движения (может у Вас тут есть какое-то ноу-хау?)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32121987
AISOFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wara
1) AISOFT, меня ничто там особенно не поразило и не удивило, просто мне понравилось, что со мной разговаривают о том, что меня интересует и тем языком, что мне понятен.

Ну и что, дальше. К реальной жизни - это имеет такое же отношение как полет на марс или космическая медицина, интересно, увлекательно, правда, толку никакого.

2) Естественно, матерым людям, у которых есть большой опыт и какая-то специальная литература ...

Купить литературу сейчас не проблема, проблема купить то, что надо. На начальном этапе надо покупать книги с грифом - 'рекомендовано в качестве учебника для высших учебных заведений'. А потом читать и читать, а не думать надо - не надо.

3) Если нужны паттерны - то рекомендую посмотреть книгу: Петер Коуд, Дэвид Нортон, Марк Мейфилд, 'Объектные модели: стратегии, шаблоны, приложения'
Издательство 'Лори' 1999 год. Но в любом случае, это не может заменить знание проблемной области.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32122432
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Да никакого ноу-хау. Разве-что в таблице движения уж никак не нужен ID. А вот конкретные поля - это уже не типовые вещи. Для разных случаев нужно по разному организовывать.

Ключ

ПК (первичный ключ) документа
ПК товара

Прочие поля

Цена
Количество со знаком
...

=======
А уж ПК документов и товаров могут быть разные. Для документов это может быть и ID, и Дата+Номер+Вид движения+ID контрагента+ID обработчика документа.

Для ПК товаров вообще куча вариантов. Для склада готовой продукции молокозавода одно, для мелко-оптовой торговли - другое. На молокозаводе наименований немного, можно польный справочник продукции огранизовать. А на мелкоптовом складе половина видов товаров два-три раза проскакивают - легче непосредственно таблицу движения заполнять.
=======
Пожалуй, единственное, что я могу сказать точно и определенно, что в таблице движения нужно хранить количество со знаком и отпускную/приходную цену.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32122479
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2
Спасибо за конкретные рекомендации.
А почему именно количество со знаком (я, честно говоря, свой первый маленький складик тоже так сделал). Вот в той книге (про котрую я выше упоминал) говорится, что лучше и количество со знаком и "маркер" движения ставить. (для какой-то там последующей коррекции что-ли?)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32122504
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Если под макркером движения понимается тип движения, то лучше его пихать в таблицу документов.

Типы движения

Покупка
Продажа
Внутреннее перемещение
Недостача
Излишек
Естественные потери
Форс-мажорная порча
Безвоздмезная передача
Безвоздмезный прием
Взнос в уставной фонд
Прием/передача на ответсвтенное хранение
Прием/передача в/из переработку
Выдача в подотчет
===============
Че-то еще кажется забыл
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32122655
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
Под типом движения я понимал только 2 типа:1.Приход (дебет?) 2. Расход (кредит?).
А количества или суммы в бух. базах вроде-бы хранятся без знака, а затем минусом корректируются ошибки. Есть несколько способов этих корректировок.
Если Вы в курсе всего этого, не могли бы Вы сказать, насколько все это актуально в современных условиях (все эти методики изобретены в 19 веке). Вернее не так: насколько обосновано тупое перенесения методов "докомпьютерного" учета в мир баз данных?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32122878
Некто
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2wara
>Под типом движения я понимал только 2 типа:1.Приход (дебет?) 2. Расход (кредит?).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare @mov table ( mov_id int , cor_who varchar( 255 ) ,  cor_whom varchar( 255 ) , obj varchar( 255 ) , qty int , price numeric( 19 , 2 ) )

insert into @mov
    select  1  , 'склад1' , 'склад2' , 'пиво' ,  100  ,  2  union all        -- это приход или расход?  :-)
 
    select  2  , 'склад2' , 'склад1' , 'пиво' ,  50  ,  2                       -- а это ?
 

select * from  @mov


По поводу "типов движений".
Оперируя этим термином Вы (да и не только Вы :-) ) сразу себя ограничиваете учетом по отдельной фирме , складу и т.п. Он Вам не нужен этот "маркер движения".
Не умножайте сущностей сверх необходимости. :-))
В примере для склада1 - первая операция - расход , вторая - приход. Для склада2 - наоборот. Тип движения для корреспондента элементарно вычисляется.
Но тогда вы можете построить любые запросы по любому корреспонденту (фирме, складу, мат.ответственному лицу и т.п.), хотя и выглядеть они будут чуть сложнее ( не на много )
Рано или поздно Вы все равно придете к такой необходимости. IMHO разумеется.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32123524
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergwsk,
А если нет времени штудировать форумы? Есть масса книг, как и куда тыкать мышкой в разных программах, а о самом главном - ничего нет.
Если информация по какому-то вопросу отсутствует, то либо она никому не нужна, либо кому-то не выгодно ей делиться.Я склоняюсь ко второму. Доступность такой литературы помогла бы людям делать более конкуретноспособные учетные программы, что не всем, очевидно, по душе.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32124085
sergwsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara:
Во-первых, согласен
Во-вторых -
Сложность создания учётных систем "переоценена". Никакой высшей математики - одна арифметика. "Высший пилотаж" начинается в нюансах (что впрочем относится и к другим предметным областям). Когда (например: Вадим Прудивус) вместо длинного клиентского решения применяет изящный SQL для расчёта книги продаж. И такие вот "фенечки" доступны далеко не всем.
ИМХО. Если не совершить явных огрехов при проектировании - достаточно просто сделать работающую учётную систему. ТщательнЕе надо и всё получится:-)).
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32124374
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergwsk,
Ну так все-таки: где об этом можно почитать? Мне было бы интересно ознакомиться с этим вопросом в таком виде:
1. Постановка задачи. (только самые ключевые и интересные моменты).
2. Какие существуют варианты решения этой задачи в плане организации данных.
3. Какая модель и механизм функционирования представляется более предпочтительным для таких-то задач...
Довольно часто на некоторых форумах, например на delphi.mastak.ru возникают интересные дискуссии на эту тему. Следует вопрос типа :"У меня такая задача. Какова должна быть структура БД? ". И народ начинает предлагать варианты кто во что горазд. Следить за ними довольно занимательно, только примеры, как правило, довольно искусственные, да и спор вдруг резко может оборваться, так и не дойдя до какого-то логического конца. В общем, форум-вещь полезная, но недостаточная для получения действительно глубоких знаний.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32124611
sergwsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara:
ИМХО, стоит Вам самому попробовать обобщить инфу из форумов и написать некий обзор.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32124742
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergwsk,
Попробовать, конечно, можно, но для этого надо 1 мес свободного времени в Интернете, обеспеченных деньгами (и месяц и Интернет). И потом, надо ведь это с кем-то обсуждать (в процессе написания). С кем? К тому же, более опытный человек сделает это более квалифицированно. Нет, лучше уж взять готовое и почитать.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32126071
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут на досуге порылся в старых бумагах и обнаружил статью А.Гордиенко с ресурса http://msaccess.da.ru/ (разное-"О предметной области то есть об учете"), в которой данный автор, с моей точки зрения, довольно грамотно излагает вопрос, близкий по теме.
Приведу несколько цитат.
1."Относительно структуры таблиц - тут придумывать ничего не надо. Есть ВЕКАМИ проверенные методики учета (речь идет о бухгалтерском учете, который только недавно начал использоваться для целей налогообложения - а всего век назад он использовался просто для хозяйственного учета). Надо только вникнуть в их механизмы и взять из них самое полезное. Вкратце принципы такие." (далее пропускаю - wara)
2. "У каждого счета (учетного регистра) имеется две стороны - левая и правая. Дебет и кредит. Счет можно представить в виде емкости с двумя трубками. По одной поток втекает, по другой вытекает. По которой втекает - это дебет. По которой вытекает - кредит. Не вздумайте решать проблемы направления потоков только знаком числа! Дебет и кредит не дураки придумывали! +10 рублей в дебет и -10 рублей в кредит приводят к одинаковому остатку - но это совсем разные потоки. +10 рублей в дебет - это просто поступление (из любой смежной емкости), а -10 рублей в кредит - это ВОЗВРАТ (в ту емкость, из которой ранее втекло). В бухучете любое корректное движение отражается положительными числами. Отрицательными производится ВОЗВРАТ РАНЕЕ НЕКОРРЕКТНО СДЕЛАННОГО ДВИЖЕНИЯ. Ругательно это называется "сторнирование". И его необходимо отличать от обычного движения потоков. Запись "Дебет 10 "Материалы" Кредит 60 "Поставщики" 100руб" означает "пришло материала (счет 10) от поставщика (счет60) на сумму 100рублей". Запись Д10 К60 100 - обратите внимание (!) очень похоже на команду MOV из ассемблера. Причем приемник точно так же располагается слева, а источник справа. Похоже, что и ассемблер, и бухучет придумали арабы . При проведении этой проводки сумма 100 рублей "перемещается" (MOV) из кредита счета 60 (вытекает из трубы счета 60) и помещается в дебет счета 10 (затекает в трубу счета 10). Это приводит к увеличению дебетового остатка счета 10. Кредитовый остаток на счете 60 увеличивается, дебетовый уменьшается. К примеру, на счете 10 до проводки было 5 рублей в дебете, на счете 60 до проводки было 40 рублей в дебете. После проводки Д10 К60 70руб на счете 10 станет остаток 75 рублей в дебете, на счете 60 станет 30 рублей в кредите."
По этому поводу возникает ряд вопросов.
1. Так как же все-таки следует проектировать - реализовывать известные методы учета в структуры таблиц или придумывать что-то новое?
2. Как же все-таки грамотно записать эту несчастую складсую проводку - со знаком, или еще как? (кстати, предложенный автором Некто метод мне показался очень похожим на запись обычной бухгалтерской проводки Д(откуда) К(Куда) Value(величина) из статьи Гордиенко.
Буду признателен всем за интересные ответы и адреса ресурсов по данной теме.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32126079
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и еще вопрос в связи с темой. Если вся бухгалтерия объясняется одним оператором ассемблера из трех частей, то почему же так сложны (точнее грмоздки) бухгалтерские программы. Нельзя ли тот же самый функционал сделать на основе чего-то более простого и красивого?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32126109
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Глубоко убежден что попытки создания учетной БД идя от бухгалтерии порочны по своей сути. Давайте вспомним, в чем заключается изначальный смысл и назначение бухгалтерии. В любом учебнике по бухучету написано, что целью деятельности бухгалтерии является отражение финансового положения предприятия.

Первоначальная идея создателей двойной бухгалтерии была остроумна и свежа – любая денежная сумма отражается в журналах дважды: один раз указывая на конкретные деньги (актив), другой раз на источник финансирования (пассив). И все было хорошо. И были прекрасно отработаны механизмы. Но с развитием систем учета перед бухгалтерией стали ставить все новые и новые задачи. Одна из них – количественный учет материальных ценностей. Бухгалтерия вышла из этого положения придумав счета аналитического учета. Но это настолько загромоздило бухучет, что учет движения товаров стали выносить на отдельные рабочие места, а собственно бухгалтерия получала от этих рабочих мест только сводные проводки.

По правилам ведения учета движения товарно-материальных ценностей (ТМЦ), их аналитический учет может вестись как в бухгалтерии, так и на складе. Надеюсь, что никто не будет спорить, что обработка информации должна производится в месте ее зарождения. Понятно, что складским работникам глубоко пофиг, какие там дебеты и кредиты, сальдо-бульдо. Они оперируют понятиями: приход, расход, остаток, от кого принято, кому выдано.

Даже принцип ведения учета у них иной, чем у бухгалтеров. Например. По какой-то причине неправильно был оформлен приход партии товара – количество и сумма были указано больше, чем пришло на самом деле. Причем это было обнаружено после закрытия учетного периода. Бухгалтерия делает сторнирующую исправительную проводку текущим периодом. И у нее все правильно и хорошо. Если так же сделает склад, то получится, что в прошлом периоде у них товар был, а в следующем - пропал. Но ведь так быть не может! На складе исправления делаются в том периоде, в котором сделана ошибка. Это очень важно для управленческого учета.
Вот, расписался, еще и управленческий учет приплел, который тоже является отдельным понятием и который бухгалтерия делает очень плохо. На самом деле на любом предприятии существует как минимум три вида учета: бухгалтерский, складской и управленческий. Только вот обычно их пытаются свалить в одну кучу и навесить на бухгалтерию.
Чето надоело мне писать.

Отвечу только на вопросы.
Почему количество со знаком, а не приход-расход и сторно. Меньше полей в таблице, понятнее логика запроса, а так как сторнирующих операций обычно не очень много, то их лучше выделять отдельным признаком, например, вид движения – «возврат оборотной тары».

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

Бухгалтерские программы так громоздки, потому, что для ввода одной операции нужно сделать несколько проводок. Если идти по пути от склада, то по одной введенной операции для бухгалтерии формируется несколько проводок. И еще, хотя уже и совсем лень писать. Бухучет в условиях России давно превратился в механизм для вычисления налогов. В связи с этим он так запутан, непрозрачен и громоздок.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32126654
Некто
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2wara
>кстати, предложенный автором Некто метод мне показался очень похожим на запись обычной бухгалтерской проводки Д(откуда) К(Куда) Value(величина) из статьи Гордиенко.

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

По поводу организации структур для хранения данных для учетных задач вообще.
Дж.Дейт во "Введении в системы реляционных баз данных" отмечает всего 3 возможных подхода к хранению данных:
Хранение первичных данных, непосредственно введенных пользователем без оглядки на запросы пользователя к системе.
Хранение уже обработанных данных (при обращении пользователя не приходится их обрабатывать). В качестве иллюстрации, мне приходилось видеть систему, в которой сам документ не хранится, а хранятся только сформированные по нему проводки :-( .
Хранение данных в промежуточном виде. Т.е при внесении данных, они частично обрабатываются и так хранятся. Перед выдачей пользователю, они обрабатываются дополнительно. Способ частично принятый в 1С.

IMHO. Вы не можете знать для каких целей создаете структуру данных.
Сейчас - это склад, завтра - бухгалтерия, послезавтра будет CRM или какая - другая хрень. Ваша задача - зафиксировать факты жизнедеятельности предприятия максимально абстрагируясь от тех запросов, которые заявляют пользователи сейчас. Запросы изменятся очень быстро, структуры данных, особенно в работающей системе - поменять сложнее.

2Cat2
>Вот, расписался, еще и управленческий учет приплел, который тоже является отдельным понятием и который бухгалтерия делает очень плохо.

IMHO, у Вас превратное представление об управленческом учете. Управленческий учет - бухгалтерский учет , предназначенный для информирования не внешних пользователей (владельцы, инвесторы и т.д.), а внутренних - (директора, менеджеры...). Он строится на принципах двойной записи и баланса. Там просто детализация другая, и принципы построения (типа - по учет центрам ответственности, внутрифирменные цены и себестоимость и т.п.). Складской учет в том виде, как понимаете его Вы к управленческому имеет крайне мало отношения.

2All. Для того, чтобы проектировать систему учета, нифигово пару книжонок по учету (лучше западных) почитать. Оно тогда понятнее становится. IMHO разумеется.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32126827
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некто, какие книжки Вы бы порекомендовали? (а то те, которые я попытался прочитать, меня только запутали. Там оказалось много "ботаники" (классификации), но очень мало принципов и законов)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32126847
Некто
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2wara
Даже не знаю, чего конкретно Вам посоветовать.
Дело в том, что все простые :-) книжки, я уже пораздавал в хорошие руки :-(. А авторов и названия уже и не помню. Попытаюсь в ближайшее время вспомнить и сообщу.
Попытаюсь сформулировать общие требования к такой литературе.
Боже вас упаси от отечественных авторов. Они действительно засыпят Вас классификацией, номерами счетов и схемами проводок (а у нас и схемы проводок часто в виде СчДт - СчКт - Сумма, что IMHO не лучший вариант). Потому - западные.
Чем тоньше - тем лучше. Чего-нибудь в духе самоучителя.
Начинать с самого простого. Принципы учета (их в буржуинском варианте всего 7, если я не ошибаюсь). Основное уравнения учета. Сущность двойной записи и баланса. Типы счетов. Методы списания. Принципы отнесения расходов на издержки (или издержек на расходы :-) ). И т.п. Чем больше элементарщины - тем лучше.

Впрочем, полагаю, что все необходимое для первоначального ознакомления доступно в Инете. Так что Google Вам в руки.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32127096
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Некто, спасибо за формулировку требований. (добавлю, что я не просил посоветовать Простые книжки, а просил посоветовать Полезные).
2.Никак не могу догадаться по контексту, что означает таинственное "IMHO"?
Это какая-то учетная аббревиатура?(:-))
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32127241
Некто
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2wara
Код: plaintext
1.
2.
3.
IMHO 
сокр. In My Humble Opinion по моему скромному мнению ( стандартная фраза при обмене сообщениями в электронной почте)

-- и учетная тоже :-)


Если Вы не изучали бухучет в институте в течение 1-2-3 лет, то самая простая книжка западного автора и будет самой полезной. IMHO разумеется. :-)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32128837
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Книжки по учету я конечно еще почитаю. Но я решил схитрить и, чтобы побыстрее разобраться, что же такое бухгалтерия, взял журнал "Бухгалтерский учет" №22 за 2002 г. и открыл на странице с близкой мне темой "Учет компьютерных программ" (автор - Э.А. Ошманова). Что же я там увидел?
1. Длинный перечень различных документов, которыми регулируется учет компьютерных программ.
2.Юридические комментарии по теме.
3. Далее следуют примеры "хозоперации" с рекомендуемыми проводками.
Приведу один из них:
"Пример 1.
Организация приобретает компьютер. Поставщику компьютера оплачено 30 000 руб (в т.ч. НДС 20% - 5000 руб). У того же поставщика приобретена операционная система стоимостью 12000 руб (в т.ч. НДС - 2 000 руб.). Операции отражены в бухгалтерком учете записями:
1. Д60 К51 42 000
2. Д08 К60 35 000
3. Д19 К60 7 000
4. Д60 К60 42 000
5. Д01 К08 35 000
6. Д68 К19 7 000"
В связи с этим у меня возникает вопрос о том, в чем состоит функция бухгалтера в плане работы с "входными данными"? Из данного примера я сделал следущий вывод:
1. Бухгалтер каким-то образом классифицирует хозоперацию
2. В соответсвии неким алгоритмом, зависящим от класса опреации он определяет, какие будут в связи с этим проводки.
Почему бы этот алгоритмы не "прошить" в программу (хотя может быть так оно и сделано, но я не в курсе). Тогда бы все "проводки" в зависимости от типа операции формировались автоматически. Если это так и сделано, для чего тогда нужны журналы для бухгалтеров и сами бухгалтеры? Вводить информацию может обычный оператор, а анализировать готовые данные - любой умный человек.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32129223
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara:
>Почему бы этот алгоритмы не "прошить" в программу (хотя может быть так оно и сделано, но я не в курсе). Тогда бы все "проводки" в зависимости от типа операции формировались автоматически.

см. 1С - Типовые проводки.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32129290
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senin Viktor, может быть бухгалтеры нужны из-за того, что в условиях суровой российской действительности "нетиповых" проводок гораздо больше, чем "типовых"?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32129383
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Некто

Не, не могу молчать... (с)

Управленческий учет - бухгалтерский учет, предназначенный для...

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

Да, УУ предназанчен именно для этого - для оперативного информирования лиц, принимающих решения по самым актуальным для них вопросам. Одинаковые моменты и там и там присутствуют - где-то информация возникает, как-то обрабатывается и в виде каких-то отчетов выплевывается. Но посадите бухгалтера делать управленческий учет - будет как в том анекдоте, где мужик таскал запчасти с завода, чтобы детскую коляску сварганить, а потом, как ни собирал, у него все пулемет получался.

Гы. Все это было бы смешно, когда бы не было так грустно - настолько разителен контраст после успешного внедрения системы УУ, когда систему делали с пониманием того, что нужно и для чего и заваленного проекта, в котором управленческий учет понимался как "это то же самое, что и бухгалтерский, только ежедневный". Оперативный баланс - это вообще верх идиотизма был. бл... все беды - от непрофессиналов и идиотов.

Тьфу, наболело. И надоело, пошел я пиво пить...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32129422
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Циничный Кот,
Вы, по всей видимости, опытный человек в области создания учетных систем. Так может быть поделитесь к-л ссылками на ресурсы, книги, и.т.п., чтобы меньше становилось непрофессионалов и идиотов, о которых Вы говорите?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32129427
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Циничный Кот,
Если Вы в обоих проектах участвовали (и в успешном и в неуспешном), то может быть поделитесь с "идиотами и непрофессионалами" (хотя, может быть это заинтересует и умственно полноценных профессионалов) опытом: что было разного в этих проектах и почему один провалился, а другой завершился успехом.
Кстати, какое пиво вы предпочитаете?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32129522
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Wara. Советую посетить

http://buhgalt.h1.ru/menu.htm

К сожалению автор перестал поддерживать этот очень интересный проект. Но в тех немногих выпусках рассылки, которые вышли, инфы больше, чем во многих книгах.

=========
Ну слава Богу, Циничный написал то, что мне было лень.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32130520
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2
Спасибо за адрес.
Пожалуй, лучше, чем отечественные практики, эту тему никто не осветит. Попробовал в выходные почитать книгу западного автора - ну не принимают мои мозги такого стиля изложения, хоть тресни. Возникает ощущение, что все можно сказать гораздо проще, но автор пытается разжевать, и получается еще зануднее...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32131013
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara

ну не принимают мои мозги такого стиля изложения, хоть тресни. Возникает ощущение, что все можно сказать гораздо проще

А кто говорил что будет легко???... ;o)


Касательно успешных/заваленых проектов, в 2х словах:

1. Успешный проект: (с моей точки зрения, не путать со словом идеальный)
Дали (время и деньги) разобраться с предметной областью, досконально выяснить, что именно нужно. Постановкой задачи занимался грамотный специалист, имевший понятия как о бухучете, так и о принципах обработки информации. Не давили со сроками сдачи - работать по 12-15 часов в день не приходилось. Рамки проекта ограничили сразу, захватив минимальный кусок, лишь чуть-чуть потом его расширив. Воплощеним (в код) занимались люди, которые умели программировать на достаточно высоком уровне. Архитектура системы была отдана им на откуп - никто их не контролировал, лишь бы конечные данные на основании исходных получались те что надо. Минимизировали ручную работу - дополнительных данных в систему вручную вводить почти не приходилось. Стыковку с существовавшей системой бухучета сделали на уровне исходных данных - забирали оттуда все что там было, и больше в нее не лезли. Никаких интеграций, улучшений, ничего лишнего. Практически обособленный модуль. Самое смешное, что почти вся необходимая информация в системе бухучета была. Вернее, были данные. Информацию из данных уже делали мы. По окончании (когда все в целом было готово) еще почти месяц отлаживали (исправляли ошибки) и запускали (учили пользователей). За все этапы все что обещали, заплатили. Не жирно, но ровно то, о чем договаривались.


2. Заваленный проект. Тут букет выглядел так:

На все про все дали (начальство сверху на уровне приблизительно ген.директора) полтора месяца. Потом со скрипом - два. Сроки - безумные. Работать надо было где-то по 12-15 часов в день. Периодически захватывая субботы. Нормальных (компетентных) специалистов со знаниями нескольких областей - не было. Вернее, их пытались найти уже в ходе проекта. Объем задачи - управленческий учет, охватывающий все (!) стороны деятельности предприятия. Офигенный объем, я это выяснил потом, когда уже вляпался. Осуществляли его, естественно, по принципу "все - и сразу". Так же я узнал, что какая-то фирма им предлагала свои услуги, но как только услышали, что только постановка задачи займет полгода, от сторонних услуг отказались, решив обойтись "своими силами". Что из этого вышло, отдельная песня:

Главный постановщик задачи - тетка с бухгалтерским образованием и опытом. В области компьютеров ее знания ограничивались хорошим знанием Excel. Со всеми вытекающими. А именно - все создавалось в Excel. То есть вообще все. Понимание задачи у нее было. Но - весьма оригинальное. По сути - повторяли бухучет в собственной оригинальной формулировке. Стыковка с существующей системой бухучета (1С) - была. На уровне распечатки (!) отчетов из 1С и ручного (!!) вбивания цифирок в новую систему. Работали только с тем и только так, как говорили. Навроде оловянных солдатиков. Любые попытки, что-то улучшить встречали одинаковую отговорку: "это конечно хорошо, но это мы сделаем когда-нибудь потом, а сейчас делайте то-то и то-то". Читай - никогда. Даже очевидный идиотизм с дублированием (а кое-где троекратным(!!!) дублированием) ввода данных. Не говоря уже о том, чтобы перенести систему в архитектуру клиент-сервер ("это мы сделаем когда-нибудь потом"). Никакой "защиты от дурака". Кто угодно мог влезть в какие угодно файлы и как угодно их поменять. На поиск только таких ошибок с ростом системы уходила масса времени.

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

Требования к системе менялись еженедельно. Это считалось нормальным. Существовали они только в голове, никакой бумажной документации. На мое замечание, что их необходимо записать, последовал удивленный ответ: "А зачем???... Я и так все знаю, и у меня нет времени заниматься бесполезной работой!!!..."

No more comments...

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


ЗЫ. В 2х словах не получилось
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32131030
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заметьте: описание зваленого проекта раза в два больше описания удачного. Почему? В двух словах любой удачный проект можно описать так - есть определённые годами наработанные правила и мы им следовали.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32131045
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 1024

Не все так просто как кажется. Есть, скажем, годами наработанная методика СММ, и неуправляемые (читай - заваленные) проекты, в которых в точности ей следовали.

Я не про то, что методикам не надо следовать. Я к тому что методика - это далеко не все. Имхо, есть три области, без фундаментальных знаний в которых вероятность успешно завершить проект близка к нулю. А именно:

1. Управление проектами.
2. Предметная область. (в нашем случае бухучет и УУ)
3. Средства разработки.

Поскольку одному человеку быть профессионалом как минимум в 3-х областях весьма сложно, я не верю в уникальных специалистов "all in one". Впрочем, опять же имхо. Когда увижу такого - поверю.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32131054
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Средства разработки (или выбор его) я бы скорее отнёс к управлению проектами. Я говорил именно об организации работы, а хорошее знание предметной области погоды не делает.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32131063
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а хорошее знание предметной области погоды не делает.

Согласен. Погоду делает отсутствие знаний предметной области... Причем любой из 3х, что я перечислил.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32131139
Некто
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Циничный Кот
>Но посадите бухгалтера делать управленческий учет - будет как в том анекдоте, где мужик таскал запчасти с завода, чтобы детскую коляску сварганить, а потом, как ни собирал, у него все пулемет получался.

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

>Оперативный баланс - это вообще верх идиотизма был. бл... все беды - от непрофессиналов и идиотов.

No comment.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32131165
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Некто

Ага. Я еще и программистов не видел. Кто такие???... И компьютер тоже не видел. Что за девайс такой???...

И вообще, скажу вам по секрету - до сих пор работаю по старинке, при свечах...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32131279
Некто
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Циничный Кот

Не злитесь. Не хотел Вас обидеть. НО
Не могу согласиться с тем, что отчет о состоянии склада на текущий момент (или любой другой отчет аналогичного плана) является наиболее ярким примером , иллюстрирующим сущность управленческого учета. Мне приходилось видеть ТЗ на подсистему управленческого учета (учет по центрам ответственности), написанное консалтерами KPMG. В основном - схемы проводок . Так что управленческий учет - разновидность бухгалтерского учета - по крайней мере в буржуинском понимании.

По-поводу успешности или неуспешности проектов.
IMHO, Вам просто не повезло.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32131567
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за интересные мнения, особенно Циничному Коту за описание удачного и неудачного проекта, в которых он участвовал.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32131740
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Некто

Не злитесь.
Я не злюсь, я прикалываюсь. ;о) Есть небольшая разница.


отчет о состоянии склада на текущий момент (или любой другой отчет аналогичного плана)

Покажите мне место, где я говорил про "отчет о состоянии склада"???... Интересно взглянуть. Хотя данные, на основании которых этот отчет рисуется, имеют принципиальную важность. А именно, в совокупности с другими данными из них можно извлечь информацию . Какую именно - другой вопрос. Обычно ту, которая нужна. И ваше счастье, если человек, затребовавший информацию, точно знает, что ему нужно. Иначе есть высокий риск, что придется писать "красную кнопку", на которую нажимаешь - и вам вылезает то, что надо... :о))) Этой техникой в совершенстве владеет Старик Хоттабыч, заинтересованным лицам рекомендую пройти у него одно-двух или трехгодичный курс обучения... )

А теперь сереьзно. Рассмотрим очень простое понятие - "себестоимость". Любой бухгалтер знает это слово. Кое-кто даже умеет выдавать цифирку. Так вот, я рискну заявить, что в 9 российских фирмах из 10 эта цифирка имеет весьма отдаленное отношение к реальному содержанию этого понятия. Большинство фирм не знает реальной себестоимости продукции и своей реальной маржи. Ценовая политика ставится от балды, фирмы управляются вслепую. Ни разу не видели случая, когда на бумаге прибыль нарисована, все налоги посчитаны, а денег их платить нет???...

Даже в тех компаниях, в которых бухгалтера умеют высчитывать себестоимость более ли менее правильно, эта информация, мягко говоря, запаздывает - если данные берутся на основании данных прошедшего квартала (3 мес), эта информация в лучшем случае доступна через 3-4 месяца. Если ваше предприятие - гигант типа АвтоВАЗ-а, то в общем-то несмертельно. А если ваша фирма небольшая, действует оперативно, и вас интересует то, что происходило на протяжении последней недели-двух, максимум месяца???... Забудьте о бухгалтерии. Она со словом "оперативность" несовместимо. Скорее всего часть данных еще даже не забита в систему - отгрузка уже идет, а прихода еще нет. При этом схема проводок существует просто таки в идеальном виде.


По-поводу успешности или неуспешности проектов.
IMHO, Вам просто не повезло.


Имхо, мне очень интересно, что было бы, если бы вы были ответственным за проект, который окончился... Скажем мягко, не так, как запланировали... Вы бы те же самые причины выдвинули: "мне просто не повезло???"... Хотел бы я посмотреть, как вы это скажете гендиректору, перед которым полгода назад распинались и говорили, что через пару-тройку месяцев все будет тип-топ.


=============================
Ладно, чего я тут распинаюсь. Хрен с ним, пусть все будет по-вашему. Оперативный учет - разновидность бухгалтерского, бухгалтера - лучшие постановщики задач, схема провод - самое главное, что должно быть в проекте. Когда такой проект будет успешно завален, нам гораздо проще будет договариваться с вашим начальством...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32132509
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернемся к исходному вопросу.

Автор рассылки (теперь уже "исторической) с ресурса http://buhgalt.h1.ru/menu.htm, адрес которого любезно подарен Cat2, более грамотно сформулировал интересующие меня вопросы:

"Обучение началам понимания бухгалтерского учета как программистов, так и руководителей.

Более углубленное исследование информационного наполнения данных учета, т.е. бухгалтерский анализ и аудит.

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

Рассмотрение методологии программирования систем учета, инструментов (CASE-систем, компиляторов, СУБД), примеры решений.

Возможные структуры баз данных, решающие те или иные задачи.

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

Если кто-нибудь знает адреса живых ресурсов по данным темам, было бы замечательно, если бы вы ими поделились.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32134097
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
wara, а Вы попробуйте связатся с автором рассылки. Пригласите его на наш форум. Честно говоря я никогда не читал более четкого описания проблем и задач. Голова у парня варит на все 100. Хотя я с ним не во всем согласен.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32139518
Вовчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я «проектировал» систему оперативного учета

Прочитав рассказ Циничного Кота о его удачном и неудачном проекте я тоже решил поделиться с людьми, и рассказать о своем опыте «проектирования». Не знаю, правда, будет ли мой рассказ точно соответствовать теме «принципы проектирования БД для учетных целей», но надеюсь, что все-таки будет.
Начало
В моем маленьком городке работу найти нелегко, но все ж таки удалось мне устроиться на завод оператором-наладчиком токарных станков с ЧПУ. Освоив за пару дней программирование станка, я стал думать о том, чем бы занять свои мозги, которые после написания программы типа F10 M3 X164 Y236 …(установить размер подачи, «запустить» шпиндель, «подъехать» на такую-то координату…) были совершенно свободны.
Как-то раз я зашел в диспетчерскую за своим производственным заданием и стал свидетелем такой сцены. В комнате взволнованный представитель заказчика продукции нашего заводика беседовал с работниками диспетчерской: «У нас план горит, вы нам недогрузили изделий N365 в количестве 100 штук». «Да нет, мы вам отгрузили изделий N365 такого-то числа целых 150 штук!», - был ответ. «Так 100 штук из этих 150 было из заявок NN238 и 239, которые вы нам уже давно были закрыть, а про остальные 50 штук я вашему директору лично звонил». «Ничего подобного, вот нахал, я лично помню, что позицию N365 ваш начальник в заявках N238 и N239 просил аннулировать, я с ним по телефону разговаривала.Так что эти сто штук были отгружены совсем по другим заявкам!Не надо лохматить бабушку! Утверждайте новую заявку, будут вам через месяц 365-е». «Но у меня план горит! Меня же уволят!» - восклицает снабженец - «Я был на складе, такие изделия там есть, отгрузите их мне, будьте так добры». «То, что лежит на складе, предназначено для других, к тому же еще по другим заказам по этой позиции дефицит 500 штук, почему это мы именно вам их должны отвалить?»
Тут в диспетчерскую входит мастер цеха полуфабрикатов и радостно риторически сообщает: «Ну вот, только что снял форму под изделие N365, теперь весь дефицит тютелька-в-тютельку будет закрыт. И чтоб в течение месяца мне о нем больше не напоминали!». Но, услышав разговор с заказчиком, тут же меняется в лице: «Да мне, чтобы сделать заготовки под те изделия №365, что вы потом брать не стали, пришлось за час до окончания работы формы переставлять в прошлом месяце. Я только что весь дефицит по ним закрыл, если они вам нужны, идите, сами форму заново ставьте!».
Почувствовав, что тут и до мордобоя недалеко, я взял свое задание, и удалился, подумав про себя, что что-то в этой диспетчерской происходит не так. К тому же, я давно заметил, что те изделия и количества, что распределитель работ приносит нам на клочке бумажки, даются по какому-то непонятному принципу. Бывает, делаешь, делаешь какую-нибудь деталь полдня, переналаживаешь станок, начинаешь делать другое, а на следующий день к тебе приходят и говорят: «Делай снова то, что вчера утром делал, срочно надо». И приходится, не закончив партию, доделывать то, что можно было изготовить еще вчера без переналадки.
Купив по дороге домой книжку «Access в подлиннике», я сел после ужина за компьютер и стал думать, как ситуацию поправить, какую надо сделать базу и какие в ней должны быть таблички...(если кому-нибудь будет интересно, в следующий раз продолжу свой рассказ)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32139590
x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
x
Гость
Реальный опыт всегда интересен. Я бы с удовольствием почитал
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32139679
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно было бы увидеть комментарий специалиста по бизнес-процессам - что же там за бизнес-процессы описаны в 3 абзаце рассказа Вовчика и в чем причина конфликта - в организации учета или в неправильной организации работы служб предприятия (и как бы можно было бы эти процессы перестроить?)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32142571
Вовчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я «проектировал» систему оперативного учета (часть 2)

Поскольку имеются заинтересовавшиеся, продолжу свой рассказ.

Сначала я было собрался рассказать, какую структуру я придумывал и как, но, боюсь, что если поподробнее не рассказать о том, что творится на предприятии, уважаемые знатоки не смогут определить, что в моей структуре правильно, а что нет, поэтому расскажу кратко о других аспектах работы предприятия, не отраженных в 1 части.
Производство практически позаказное (это видно из 1 части), многономенклатурное, дискретное. На 8% номенклатуры (90%) в количественном выражении - достаточно устойчивый спрос. На остальное - крайне неопределенный. Готовые изделия представляют из себя несложные сборки без промежуточных узлов. 4 основных цеха - полуфабрикаты, комплектующие 1, комплектующие 2, комплектующие 3.
Задачу я себе (первоначально, далее появлялись новые) поставил следующую: Организовать учет заявок и оформление отгрузочных документов таким образом, чтобы в любой момент иметь полную информацию о состоянии каждого заказа.
Кстати, учет в штуках а не в рублях - это, вроде бы тоже учет, так что, я, наверное, не отклоняюсь от темы. (продолжение следует...)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32142577
x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
x
Гость
Ждем. Только рассказ такими порциями будет длиннее санты-барбары
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32142582
x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
x
Гость
Вдогонку. Может начать заново в новом топике ?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32142584
Вовчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x,
А мне без критики учаcтников форума писать неинтересно. Хоть кто-нибудь сказал бы какую-нибудь гадость по теме...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32142587
Вовчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут хоть топик приличный, а то как это можно назвать? Разве что "Как чайник писал дурацкую программу."
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32142591
x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
x
Гость
Как начнешь описывать проектные решения, так и начнут критиковать. А сейчас можно сказать какую-нибудь гадость только о порядках на твоем заводе, но это не интересно.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32142631
Вовчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я «проектировал» систему оперативного учета
Часть 3

Ну, короче, дальше даже думать почти не пришлось. У одного дилера (да, у нас там еще дилеры есть) я увидел листок, на котором он ведет учет своих заявок. Этот листок выглядел следующим образом :

1)Атрибуты, касающиеся заявки (дата, вх №, уникальный номер по реестру дилера, заводской регистрационный номер, дата заявки и.т.п) 2) в строках - изделия заявки, их количества, количества в отгрузках 3) в заголовках столбцов - даты отгрузок.

При перемещении изделий со склада завода на склад дилера по накладной (в которой могут входить изделия из 20 заявок дилера) девушка "разносит" эту накладную по вышеописанной бумажке (проставляет в заявке напротив соответствующей позиции дату и количество полученных изделий). Когда заявка по какой-то позиции полностью укомплектована, девушка берет желтый маркер, и закрашивает соответствующую строчку. Когда весь листок становится полностью желтым - заявка полностью скомплектована.
"Вот она где собака зарыта", - подумал я, - "Нужно установить соответствие между заявками и отгрузками. Для каждой позиции заявки (номенклатуры) надо хранить следующцю информацию: даты отгрузок, количества, номер отгрузочного документа. Причем процесс "разнесения" надо как-то автоматизировать.
Тут я бы сделал отступление на счет того, что вышеописанный подход я считаю неправильным. Надо было не процесс "разнесения" накладной по заявкам, а поменять всю систему работы с заявками и методику учета. А эта система была такова.
1.Поступление заявки и счет на оплату
1. Заказчик присылает заявку
2. Заявка регистрируется (вх №)
3. Заказчику выписывается счет на оплату (изделия, количества, деньги)
4. Копия счета поступает на склад
5. Копия счета поступает начальнику производства
6. Оригинал счета поступет в бухгалтерию.
7. Заявка записывалается в специальный журнал (аналог вышеописанного документа дилера)
2. "Некто" принимает решение о том, что заявка "активна"
3.Склад узнает о том, что такая-то заявка "активна" и начинает комплектовать заявку из того, что есть на складе (а если этот заказчик еще и блатной, то из изделий, предназначенных(или даже скомплектованных) для других заказчиков.
4. Начальник производства получает информацию о том, что такую-то заявку из его пухлой папки надо изготавливать.
5. С определенной дискретностью, на основании своей личной "статистики" потребления изделий и информации (неполной, естественно, поскольку складского учета тогда не было) склада о том, что "по такой-то заявке таких-то не хватает" начальник производства принимает решение изготавливать какие-то комплектующие.
6. Изготовленные комплектующие поступают на склад, где ими либо сразу комплектуют заявки по совершенно нечеткому алгоритму (об этом надо говорить отдельно), либо идут в "задел".
Но обо всем этом я узнал потом, а вначале принялся "автоматизировать хаос" следующим образом … (продолжение следует)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32142639
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Жалко, что Вовчик пропал. Всегда полезно узнать о чужих методах работы.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32143197
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, еще вернется.

А вот автоматизировать хаос никому бы не пожелал. Во-первых, намаетесь, во-вторых, маловероятно, что что-то путевое получится. В той системе, что он описал, очевидно следующее - процессы не синхронизированы, раз, ответственные лица не прописаны, два. Есть несколько информационных "потоков" живущих сами по себе - поток входящих заявок, поток объектов с производства и поток объектов со склада.

Впрочем, не буду перебивать, хочу дослушать до конца.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32143634
Вовчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я «проектировал» систему оперативного учета
Часть 4.

Ну а дальше, под неправильно поставленную задачу я стал придумывать структуру

1. Справочник номенклатуры (ГП)
2. Справочник всех деталей из которых собирается ГП
3. Таблица связок между 1 и 2.
4. Справочник контрагентов
5. Справочник "своих" фирм
(так и не вспомнил, для чего их 2 сделал, можно было 1 обойтись)
6. Справочник "типы всего" (иерархический), там лежат типы деталей, документов, контрагентов и.т.п, короче всякая классификация.
7. Таблица заголовков заявок
8. Таблица строк заявок
9. Таблица заголовков документов (счета-фактуры, накладные, счета на предоплату, еще чего-то там...)
10. Многострочная часть документов
11. Заголовки накладных дилерам
12.Многострочная часть накладных дилеров
(тоже не помню, для чего отдельно, можно было пп 8-9 обойтись
через некоторое время к этому добавилось
13. Таблица движений по комплектующих
14. Таблица движений по ГП.
15.Спр.полуфабрикатов (поскольку он сильно отличается по аттрибутам от п2)
16-20 Еще всякие справочники:материалы, цеха, люди и т.п. (в принципе их тоже можно было в один свалить, ничем люди от материальов, в принципе, в данном случае не отличаются)

Ну, в общем , все таблицы нет смысла перечислять, к тому же чем их больше, тем глупее разработчик.(вернее наоборот, чем глупее разработчик, тем их больше)
Расскажу лучше, в чем заключался первый геморрой...(продолжение следует)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32145307
Вовчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему-то отсутствуют критические замечания. Все со всем согласны или моя "Санта-Барбара" никого не заинтересовала?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32145644
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вобщем то всё гуманно. :)

Только чё то не видно журнала операций и прочей бух. хрени. типа счета, баллансы, справочник типовых проводок, корреспонденция счетов.
Похоже, что оперативно учитывать деньги в задачу не входило.

И ещё, пожалуй самый большой пробел, отсутствует упоминание о workflow, т.е. кто кому, когда, зачем, почему, на каком основании, опись, протокол, взял-принял, отпечатки пальцеу.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32145768
asubklm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините что перебиваю историю, но вопрос в тему (про бух учет):
В какой момент наиболее правильно было бы пересчитывать остатки с точки зрения целостности и оперативности получения данных:
1.Прописать триггер на проводки, т.е. при любых изменениях в таблице проводок пересчитывается таблица остатков начиная с даты измененной (удаленной, обновленной) проводки (остатки собираюсь хранить на каждый день по всем счетам - может это неправильно?).
2.При создании отчетов которые требуют расчета остатков.

Посоветуйте плиз!
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32146518
Вовчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akuz,
Да, вы правы, главная задача, которую я перед собой поставил -организовать учет заявок и расчет дефицита комплектующих под определенное подмножество заявок (план производства). Это мне предсавлялось гораздо полезнее, чем вести какие-то там счета для налоговой инспекции (или вообще для непонятно кого или чего)
Если у Вас будет время, может расскаажете нам про workflow (что это такое и как его можно использовать?)?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32148608
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, если кому-то это действительно интересно, приведу скрипт простенькой БД, которую я разрабатывал для этих целей.
К сожалению она не доделана и не пошла, ввиду решения руководства об использовании Lotus Workflow,
но как начальная идея вполне работоспособна.
Возможно здесь не видны некоторые другие БД, необходимые для её работы,
например БД в которой хранится секурити и разнесение усеров по ролям,
но уж не обессудьте.
Смысл в том, что все документы, которые необходимо проводить по пути утверждения,
хранятся в других БД и имеют поле [doc] [uniqueidentifier] NOT NULL,
которое является неявным внешним ключом к таблице docs в этой БД,
а всё что связано с прохождением документа по различным путям утверждения хранится в одном месте.
Можете использовать и развить эту идею, но без меня. :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
CREATE TABLE [dbo].[actions] (
	[id] [smallint] NOT NULL ,
	[name] [varchar] ( 50 ) NOT NULL ,
	[name_ru] [varchar] ( 50 ) NULL ,
	[form] [bit] NOT NULL ,
	
    [bit] NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[doc_type_flow_types] ( [id] [smallint] IDENTITY ( 1 , 1 ) NOT NULL , [doc_type] [smallint] NOT NULL , [flow_type] [smallint] NOT NULL , [start_stage] [smallint] NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[doc_types] ( [id] [smallint] IDENTITY ( 1 , 1 ) NOT NULL , [db] [tinyint] NOT NULL , [table] [nvarchar] ( 128 ) NOT NULL , [name] [varchar] ( 50 ) NOT NULL , [name_ru] [varchar] ( 50 ) NOT NULL , [create_action] [smallint] NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[docs] ( [id] [int] IDENTITY ( 1 , 1 ) NOT NULL , [doc] [uniqueidentifier] NOT NULL , [type] [smallint] NOT NULL , [flow_type] [smallint] NOT NULL , [stage] [smallint] NOT NULL , [state] [smallint] NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[flow_defs] ( [id] [smallint] IDENTITY ( 1 , 1 ) NOT NULL , [type] [smallint] NOT NULL , [stage] [smallint] NOT NULL , [state] [smallint] NOT NULL , [action] [smallint] NOT NULL , [type_next] [smallint] NULL , [stage_next] [smallint] NULL , [state_next] [smallint] NULL , [roles] [varchar] ( 255 ) NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[flow_types] ( [id] [smallint] NOT NULL , [name] [varchar] ( 50 ) NOT NULL , [name_ru] [varchar] ( 50 ) NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[stages] ( [id] [smallint] NOT NULL , [name] [varchar] ( 50 ) NULL , [name_ru] [varchar] ( 50 ) NULL , [process] [varchar] ( 50 ) NOT NULL , [process_ru] [varchar] ( 50 ) NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[states] ( [id] [smallint] NOT NULL , [name] [varchar] ( 50 ) NOT NULL , [name_ru] [varchar] ( 50 ) NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[workflow] ( [id] [int] IDENTITY ( 1 , 1 ) NOT NULL , [doc] [int] NOT NULL , [stage] [smallint] NOT NULL , [state] [smallint] NOT NULL , [action] [smallint] NOT NULL , [sysuser] [nvarchar] ( 128 ) NOT NULL , [user] [smallint] NULL , [date] [datetime] NOT NULL ) ON [PRIMARY] GO ALTER TABLE [dbo].[actions] ADD CONSTRAINT [DF_actions_form] DEFAULT ( 1 ) FOR [form], CONSTRAINT [DF_actions_list] DEFAULT ( 0 ) FOR
      , CONSTRAINT [PK_actions] PRIMARY KEY CLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [dbo].[doc_type_flow_types] ADD CONSTRAINT [DF_doc_type_flow_types_start_stage] DEFAULT ( 1 ) FOR [start_stage], CONSTRAINT [PK_workflow_doc] PRIMARY KEY CLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [dbo].[doc_types] ADD CONSTRAINT [DF_doc_types_start_state] DEFAULT ( 1 ) FOR [create_action], CONSTRAINT [PK_doc_type] PRIMARY KEY CLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [dbo].[docs] ADD CONSTRAINT [DF_docs_doc] DEFAULT (newid()) FOR [doc], CONSTRAINT [DF_docs_flow_type] DEFAULT ( 0 ) FOR [flow_type], CONSTRAINT [DF_docs_stage] DEFAULT ( 0 ) FOR [stage], CONSTRAINT [DF_docs_state] DEFAULT ( 0 ) FOR [state], CONSTRAINT [PK_docs] PRIMARY KEY CLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [dbo].[flow_defs] ADD CONSTRAINT [DF_flow_defs_type_next] DEFAULT ( 0 ) FOR [type_next], CONSTRAINT [PK_workflow_def] PRIMARY KEY CLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [dbo].[flow_types] ADD CONSTRAINT [PK_type] PRIMARY KEY CLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [dbo].[stages] ADD CONSTRAINT [PK_stage] PRIMARY KEY CLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [dbo].[states] ADD CONSTRAINT [PK_state] PRIMARY KEY CLUSTERED ( [id] ) ON [PRIMARY] GO ALTER TABLE [dbo].[workflow] ADD CONSTRAINT [DF_workflow_sysuser] DEFAULT (suser_sname()) FOR [sysuser], CONSTRAINT [DF_workflow_date] DEFAULT (getdate()) FOR [date], CONSTRAINT [PK_workflow] PRIMARY KEY CLUSTERED ( [id] ) ON [PRIMARY] GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE [dbo].[apply_action] @doc uniqueidentifier, @action smallint AS IF NOT EXISTS(SELECT 1 FROM [dbo].[docs] d INNER JOIN [dbo].[flow_defs] fd ON d.[flow_type] = fd.[type] AND d.[stage] = fd.[stage] AND d.[state] = fd.[state] AND fd.[action] = @action WHERE d.[doc] = @doc) RETURN 1 BEGIN TRAN INSERT [dbo].[workflow] ([doc], [stage], [state], [action]) SELECT [id], [stage], [state], @action FROM [dbo].[docs] WHERE [doc] = @doc IF @@ERROR <> 0 GOTO error UPDATE [dbo].[docs] SET [stage] = fd.[stage_next], [state] = fd.[state_next] FROM [dbo].[docs] INNER JOIN [dbo].[flow_defs] fd ON [dbo].[docs].[flow_type] = fd.[type] AND [dbo].[docs].[stage] = fd.[stage] AND [dbo].[docs].[state] = fd.[state] AND fd.[action] = @action WHERE [dbo].[docs].[doc] = @doc IF @@ERROR <> 0 GOTO error COMMIT TRAN RETURN 0 error: ROLLBACK TRAN RETURN 1 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE [dbo].[apply_action_by_name] @doc uniqueidentifier, @action varchar( 255 ) AS DECLARE @act smallint, @ret int SELECT @act = [id] FROM [dbo].[actions] WHERE [name] = @action IF @@ROWCOUNT = 0 RETURN 1 EXEC @ret = [dbo].[apply_action] @doc, @act RETURN @ret GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE [dbo].[create_doc] @type smallint, @doc uniqueidentifier OUTPUT AS DECLARE @ret smallint, @ca smallint BEGIN TRAN SET TRAN ISOLATION LEVEL SERIALIZABLE INSERT [dbo].[docs] ([type]) SELECT @type IF @@ERROR <> 0 GOTO error SELECT @doc = [doc] FROM [dbo].[docs] WHERE [id] = @@IDENTITY IF @@ERROR <> 0 GOTO error SELECT @ca = [create_action] FROM [dbo].[doc_types] WHERE [id] = @type EXEC @ret = [dbo].[apply_action] @doc, @ca IF @@ERROR <> 0 OR @ret <> 0 GOTO error COMMIT TRAN RETURN 0 error: ROLLBACK TRAN RETURN 1 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS OFF GO CREATE PROCEDURE [dbo].[get_available_actions] @doc uniqueidentifier AS SELECT a.* FROM [dbo].[docs] d INNER JOIN [dbo].[flow_defs] fd ON d.[flow_type] = fd.[type] AND d.[stage] = fd.[stage] AND d.[state] = fd.[state] INNER JOIN [dbo].[actions] a ON fd.[action] = a.[id] WHERE d.[doc] = @doc GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE [dbo].[get_doc_flow_types] @doc uniqueidentifier AS SELECT ft.* FROM [dbo].[docs] d INNER JOIN [dbo].[doc_type_flow_types] df ON d.[type] = df.[doc_type] INNER JOIN [dbo].[flow_types] ft ON df.[flow_type] = ft.[id] WHERE d.[doc] = @doc ORDER BY ft.[id] GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE [dbo].[get_doc_status] @doc uniqueidentifier, @stage smallint OUTPUT, @state smallint OUTPUT AS IF NOT EXISTS( SELECT 1 FROM [dbo].[docs] WHERE [doc] = @doc) RETURN 1 SELECT @stage = [stage], @state = [state] FROM [dbo].[docs] WHERE [doc] = @doc RETURN 0 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE [dbo].[set_doc_flow_type] @doc uniqueidentifier, @flow_type smallint AS DECLARE @ret smallint IF NOT EXISTS(SELECT 1 FROM [dbo].[doc_type_flow_types] df INNER JOIN [dbo].[docs] d ON df.[doc_type] = d.[type] WHERE d.[doc] = @doc AND df.[flow_type] = @flow_type) OR NOT EXISTS(SELECT 1 FROM [dbo].[docs] d INNER JOIN [dbo].[flow_defs] fd ON d.[flow_type] = fd.[type] AND d.[stage] = fd.[stage] AND d.[state] = fd.[state] WHERE d.[doc] = @doc AND fd.[action] = 0 ) RETURN 1 BEGIN TRAN EXEC @ret = [dbo].[apply_action] @doc, 0 -- predefined (Set Workflow) IF @@ERROR <> 0 OR @ret <> 0 GOTO error UPDATE [dbo].[docs] SET [flow_type] = @flow_type, [stage] = df.[start_stage] FROM [dbo].[doc_type_flow_types] df INNER JOIN [dbo].[docs] ON df.[doc_type] = [dbo].[docs].[type] WHERE [dbo].[docs].[doc] = @doc AND df.[flow_type] = @flow_type IF @@ERROR <> 0 GOTO error COMMIT TRAN RETURN 0 error: ROLLBACK TRAN RETURN 1 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32149499
Вовчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akuz,
Спасибо за пример, но я то думал, что Вы словами расскажете, что это за workflow такое. А так - непонятно (мне, по крайней мере), что это за база и для чего она?
Ну а я, раз обещал, продолжу свой рассказ.

Как я «проектировал» систему оперативного учета

Часть 5.("Рыба")

Про геморрой, я, пожалуй, расскажу в другой раз, а сейчас я поведаю, как я вообще получил «добро» от руководства на разработку программы. Пришел я, в общем, после наблюдения сцены в диспетчерской, описанной в ч1, и в голове моей возникла структура базы почти в том виде, что я описал выше. Ключевой вопрос, как я уже говорил, заключался в том, как организовать учет заявок. Но как это сделать? Как я уже говорил, в «заявочный» журнал отгрузки вносились крайне нерегулярно и поэтому там было много ошибок. Как же автоматизировать этот процесс? Чтобы не создавать электронный аналог этого журнала, а как-то упростить весь процесс… Для этого придется рассказать более подробно про то, как происходил процесс отгрузки (о том, как происходила работа с заявкой, рассказано в ч.3).
1. Заказчик появляется перед «внешним диспетчером» и сообщает, что он хочет что-то получить по своим заявкам
2. Диспетчер идет на склад и сообщает работникам склада, что приехал такой-то заказчик и хочет что-то получить
3. Работники склада ищут копии документов (их может быть 5-8, и по каждому есть какие-нибудь «долги»), описанного в п.3 (заявки с количествами и датами отгрузок), выясняют, что «недогрузили», и что из этого скомплектовано. Если что-то не скомплектовано - комплектуют.
4. После того, как они что-то скомплектовали, они пишут на листке, что они скомплектовали и относят этот листок обратно «внешнему диспетчеру». На основании этого листка «внешний диспетчер» выписывает счет-фактуру, идет с клиентом на склад и происходит торжественная передача товара.
5. Некий человек в определенное время берет выписанные счет-фактуры и «разносит их по заявкам»(напротив позиций номенклатуры пишет количества и даты отгрузок, закрашивая «закрытые» позиции желтым маркером и вычеркивая полностью погашенные заявки.
Вообще говоря, налицо как-то неправильно организованный процесс обмена информацией и распределение ролей. Вот список замеченных нестыковок:
1. «Внешний» диспетчер, общающийся с заказчиком, не имеет информации о состоянии склада и ходе комплектования заказа. При возникновении к-л спорных моментов он сразу «переключает» звонок клиента на склад.
2. Решение, что и кому отгружать принимает, по сути дела, склад на основании своего, «параллельного» учета.
3. Человек, который «разносит» заявки (на основании этой информации затем планируется производство), никак не заинтересован в качестве своей работы.
4. Зачастую начальник производства принимает решение что-либо изготавливать на основании информации склада о том, что «по такой-то заявке того-то не хватает».
Если бы я был бизнес-аналитиком, я бы, пожалуй предложил варианты, как надо перестроить процессы учета заявок и отгрузки ГП, но тогда я принялся автоматизировать то, что есть. В таблице многострочной части заявок сделал несколько полей «отгружено1», «отгружено2»… «отгружено5» (то же самое с датами) – чувствую, что сейчас мне достанется за такую кривую структуру - и написал процедуру, которая «разносит» накладную по следующему алгоритму:
1. берет позицию из накладной клиенту
2. Ищет самую раннюю заявку данного клиента.
3. Если отгруженное количество> долг, прописать в поле «отгружено N» число=Долг, запомнить Котг=Котг.-Долг (Если Котг<Долг, прописать это и закончить процесс)
4. Найти такую же позицию в более поздних заявках.
5. Повторить п 3.
6. Взять след. позицию накладной
7.Повторить все с п 2.
По сути дела этот алгоритм реализует логику «справедливого разнесения заявок», когда отгружаемое количество погашает сначала более раннюю заявку, затем более позднюю и.т.п. То есть делал то, что как я потом догадался, должен был вносить в систему тот, кто и принимал решение о том, что и по какой заявке он отдает – склад. Но тогда на складе компьютера не было, учета тоже, и я сделал то, что сделал
Ну а далее я сделал быстренько формы ввода заявок, выписки счетов и кнопку «провести накладную и разнести по заявкам», ввел несколько тестовых заявок, и показал лицу, принимающему решение (жене директора), как можно усовершенствовать работу с заявками. «Вот смотрите, как упростится работа», - пел я как соловей, - «вот сюда вносятся заявки, вот здесь выписываются счета. Далее оператор нажимает на кнопочку – и все, далее – любая информация доступна: все дефициты, нехватки и состояние каждого заказа и в деньгах и в штуках». «Да, в этом что-то есть», сказало ЛПР. Через неделю я сидел в диспетчерской и в рабочее время писал свою прогу. Но все оказалось намного сложнее, чем представлялось первоначально.
(Возможно, будет продолжение)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32149532
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Вот объясните мне, зачем выдумывать велосипед. Ведь на текущий момент
существуйте море продуктов решающих проблемы бухгалтерского учета.
Ваша задача закодировать процесс отличный от бухгалтерского.
Нужно создать конвертер который будет выплевывать
результаты в программу бухгалтерского учета.
Обязанность бухгалтера настроить проводки по документам и прочую сопутствующую информацию. Учетчику не нужны проводки, бухгатеру не
нужны вся лабуда со складом. Все довольны и друг другу не мешают.
Сложнее когда бухгалтер он же учетчик. Он начинает применять свои дебиты/кредиты к вашей программе, в итоге получается страшный монстр.

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

2 Вовчик
Суды по вашему описанию постановкой вы занимались так сказать на ходу выясняя все новые и новые подробности ? Если ДА, то в таком случае Ваш проект склоненн к постепенному загибанию (конечно если он уже не реализован или не загнулся :-) ). При таком подходе несколько полей «отгружено1», «отгружено2»… «отгружено5» (то же самое с датами) Вы будете обречены на изменение как самой базы, так и программы в случае если этих отгрузок потредуется больше чем заложенно. Ну да ладно. Моя цель здесь не чувствую, что сейчас мне достанется за такую кривую структуру все же интересно почитать мысли в проектировании других людей.

2 wara.
Вы сейчас задали вопрос не из области программирования, а из области "Управление знаниями". В ней описаны не структуры, не конкретные реализации на конкретных языках программирования, а общие методы и подходы к описанию процесса учета чего-либо. Уже многие пытаются систематизировать такие знания, но пока к сожалению информации и результатов практически нет.
А чтобы получить такой результат, необходимо участие большого количества разработчиков и не меньшее количество технических писателей. Благо когда качество разработчика и писателя совмещены в одном лице, в большенстве же случаев (и я в том числе) программисту сложно описать все что у него в башке на нормальном языке.

Сам себе удивляюсь сколько написал. НАдеюсь все понятно или ...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32149547
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Andrew Campball
По пп 1-2 полностью согласен

По п.3. Не надо на Вовчика нападать. Он ведь свой первый опыт описывает. Ну ясно дело, с первого захода хорошую базу не напишешь. Своего опыта не хватает и веришь задачедателям.

«отгружено1», «отгружено2»… «отгружено5» - это наверняка кто-то из кладовщиков напел: "Мол больше пяти отгрузок у нас не бывает".

Это уже потом приходит понимание, что если задачедатель говорит "Так делается всегда", то это значит, что через месяц все поменяется. А если он говорит "Этого не может быть никогда", то, значит, в следующем году это обязательно случится. И умение на автопилоте писать нормализованую базу тоже не сразу приходит.

По п.4. Именно это и хотелось видеть главным предметом разбирательства в форуме "Проектирование БД". Как селект написать или как отчет напечатаь - это в других.

Сомневаюсь я, что если взять пару сотен разработчиков и технических писателей, то они быстро все систематизируют, опишут и дадут стройную теорию.
Вот канаву они быстро выкопают, намного быстрее чем выкопал бы один Кодд.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32149597
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что же, попытаюсь описать моё понимание workflow. Сознательно не перевожу это понятие на родной язык, потому что все известные переводы не отражают суть.

В моём понимании workflow, это динамическая система разграничения полномочий. Для каждого объекта в системе на любой момент времени, в зависимости от состояния объекта, существует определённый набор действий, разрешённый определённым ролям, в отличие от общепринятых систем разграничения полномочий, реализованных, например, в MSSQL Server и имеющих предопределённый, не зависящий от состояния объекта, набор действий и маску разрешений.

Возьмём для примера заявку на какой либо ресурс. Допустим она имеет следующие атрибуты:
Этап: 1. Инициация (заявки нет в системе) 2. Выпуск, 3. Утверждение, 4. Исполнение, 5. Архив;
Состояние: 1. Создана, 2. Выпущена, 3. Утверждена, 4. Отклонена, 5. Исполняется, 6. Помещена в архив;
Возможные действия: 1. Создать, 2. Выпустить, 3. Просмотреть, 4. Редактировать, 5. Утвердить, 6. Отклонить, 7. Закрыть, 8. Удалить.
Список ролей: 1. Сотрудник, 2. ЛПР, 3. Исполнитель

Для каждого этапа мы имеем маску полномочий:
Действие | Кому разрешено | Новый этап | Новое состояние

1. Начальное состояние (заявки нет в системе)
Создать | Сотрудник | Выпуск | Создана

2. Выпуск
Просмотреть | Сотрудник | Выпуск | Не меняется
Редактировать | Сотрудник | Выпуск | Не меняется
Выпустить | Сотрудник | Утверждение | Выпущена
Удалить | Сотрудник | Удаляется из системы

и т.д.

Такие же маски мы имеем для любого другого типа документов.

Тут есть ещё масса наворотов с персонофикацией прав, т.е. с динамическим переназначением состава ролей для каждого экземпляра документа, навешиванием специфических обработчиков на каждое действие, ведением журнала действий и т.д. Вобщем не всё так просто, как кажется на первый взгляд, но если у вас имеется достаточно разнообразный и продвинутый workflow, то такая система оправдывается с лихвой.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32149983
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2
Сомневаюсь я, что если взять пару сотен разработчиков и технических писателей, то они быстро все систематизируют, опишут и дадут стройную теорию.

А не кто и не говорит, что все должно быть быстро.
Просто это нужно делать систематизированно.
Организовать виртуальный клуб в котором можно обсудить все тонкости учета. Соответсвенно, после обсуждения вносит исправления или дополнения в уже готовый документ описания сущности задачи. И т.д. и т.п.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32149999
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2akuz

Ты забыл добавить:

гарантированная доставка сообщений -
типа, звонят в бухгалтерию а им отвечают что никто заявку на покупку стульев не получал

ну и как следствие прозрачность или контроль -
т.е. однозначно можно определить получала бухгалтерия заявку или нет
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150492
Вовчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за интересные комментарии. Прямо так и хочется воскликнуть как герой фильма "Короткое замыкание": "О-о-о, information"

Andrew Campball
1."Суды по вашему описанию постановкой вы занимались так сказать на ходу выясняя все новые и новые подробности ? Если ДА, то в таком случае Ваш проект склоненн к постепенному загибанию (конечно если он уже не реализован или не загнулся :-) ). "
A:Да, заниматься постановкой задачи приходилось по ходу пьесы в довольно экстремальных условиях. Однако, несмотря на это, "проект не загнулся"(Вам, может быть от этого и было бы весело, а мне - нет), а принес, несмотря на шероховатости, значительную пользу решив следующие задачи:
1.)Автоматизирована работа с заявками
2) Автоматизирована работа склада
3) Склад, внешний диспетчер, внутренний диспетчер, начальник производства и сотрудники ПДО и т.п. работают в единой информационной среде, получая ценную оперативную (и "аналитическую" информацию)
4)Автоматизировано составление плана многономенклатурного производства (
2500 позиций номенклатуры) в условиях практически непредсказуемого спроса (количества заказываемых изделий одной номенклатуры колеблется от 0 до 10 000 шт.)
В результате использования программы предприятию удалось справится с большим объемом заказов в период пика без найма доп. раб. силы (только за счет "полуручного" планирования запасов и удобного плана производства) и создать запасы дефицитных изделий пропорционально пронозируемому спросу в период практически полного отсутсвия заказов без увольнения сотрудников.
Была собранна ценная статистика по динамике спроса и производительности труда рабочих, выяснилось, к примеру ....

2 Andrew Campball, ("При таком подходе несколько полей «отгружено1», «отгружено2»… «отгружено5» (то же самое с датами) Вы будете обречены на изменение как самой базы, так и программы в случае если этих отгрузок потредуется больше чем заложенно.")
A: Несмотря на неправильность такой структуры, это ни разу ни привело ни к каким проблемам (хотя я согласен, что сделано некрасиво) - я ни разу не видел, чтобы одна и та же номенклатурная позиция отгружалась по одной конкретной заявке в 5 приемов - максимум в 3
3.Andrew Campball, надеюсь, что Вас не затруднит дать совет начинающему на следующий вопрос:
Постановка задачи:
Необходимо как можно быстрее создать связанную с данными форму (при изменении данных в форме должны меняться данные в источнике данных) следующего вида (OLAP - компоненты и перекрестные запросы не использовать, как и "ручную" загрузку данных в сетку и выгрузку в таблицы, temp-таблиц - не более одной, а желательно вообще без них):
заголовки столбцов - количество1, дата1, количество2, Дата2 ...количество N, Дата N
Строки - позиция номенклатуры, количество в заказе, количество в 1 отгрузке, дата 1 отгрузке, количество во 2 отгрузке, дата 2 отгрузки, ...количество в N отгрузке, дата N отгрузки.
Данные заявок хранятся в таблице следующего вида : id строки заявки, FK заявки,FK номенклатуры, количество.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150503
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wara :
"Интересно было бы увидеть комментарий специалиста по бизнес-процессам - что же там за бизнес-процессы описаны в 3 абзаце рассказа Вовчика и в чем причина конфликта - в организации учета или в неправильной организации работы служб предприятия (и как бы можно было бы эти процессы перестроить?)"

Andrew Campball:
"2 wara,
Вы сейчас задали вопрос не из области программирования, а из области "Управление знаниями". В ней описаны не структуры, не конкретные реализации на конкретных языках программирования, а общие методы и подходы к описанию процесса учета чего-либо. Уже многие пытаются систематизировать такие знания, но пока к сожалению информации и результатов практически нет.
А чтобы получить такой результат, необходимо участие большого количества разработчиков и не меньшее количество технических писателей. Благо когда качество разработчика и писателя совмещены в одном лице, в большенстве же случаев (и я в том числе) программисту сложно описать все что у него в башке на нормальном языке."
wara:
Уважаемый Andrew Campball, совершенно согласен с Вами, что заданный вопрос не относится к теме "Проектирование БД", но зато относится к теме "Что должен знать проектировщик БД, чтобы у него не получилась хреновая БД". Не думаю, что стоит открывать отдельную ветку по последней упомянутой мною теме.
Andrew Campball:"Когда качество разработчика и писателя совмещены в одном лице, в большенстве же случаев (и я в том числе) программисту сложно описать все что у него в башке на нормальном языке."
wara: По моему мнению, в том абзаце рассказа, о котором идет речь, все достаточно наглядно описано. Мой вопрос заключался в том, чтобы по этому описанию расписать бизнес-процессы, и выявить, какие там нестыковки - что надо автоматизировать, а что - нет. Если у Вас есть что сказать народу по этому поводу, можете сделать это в отдельной ветке.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150632
2 Andrew Campball

Для реализации успешного проекта необходимо:
- Четкая постановка задачи. Причем любое дальнейшее дополнение ТЗ ведет к увеличению срока разработки, сдачи проекта и финансовых вливаний.

Суды по вашему описанию постановкой вы занимались так сказать на ходу выясняя все новые и новые подробности ? Если ДА, то в таком случае Ваш проект склоненн к постепенному загибанию (конечно если он уже не реализован или не загнулся :-) ).


Конечно в идеале заказчик знает чего хочет.
На практике это обычно не так. И реальная разработка идет итерационно.
Поговорили-сделали-попробовали-поговорили-сделали-попробовали...
И такие циклы нужно заранее закладывать в проект. Это не отклонение - это норма.
А если полгода ставить задачу, полгода проектировать, затем реализовывать, затем внедрять - вот это верная смерть проекта.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150670
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поддерживаю заказчика на 100%. :)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150695
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно в идеале заказчик знает чего хочет.
На практике это обычно не так. И реальная разработка идет итерационно.
Поговорили-сделали-попробовали-поговорили-сделали-попробовали...
И такие циклы нужно заранее закладывать в проект. Это не отклонение - это норма.
А если полгода ставить задачу, полгода проектировать, затем реализовывать, затем внедрять - вот это верная смерть проекта.


ЕСли заказчик знает, то необходимо от него и добиваться.
Делол в том, что в любом проекте существует ОЧЕНЬ много подводных камней
о котрых даже и не задумываешся, а потом оказывается, что необходимо
перелопатить базу.
Ну работаю я над таким проектом, говорили мне давай постепенно начнем
в ходе работы все высним и сделаем каонфетку. Куда уж там.
Вместо положенных 5 месяцев растянулось на 8. Меня уже просто начинает подташнивать от этого проекта в следствии - работа практически нулевая.

Уж лучше месяц-два потратить на нормальную постановку задачи, чем на ходу переделывать.

Это все равно что ездить на машине без шипованных шил зимой и постоянно вколачивать по 1-2 шипа. Ведь мы же не знаем на какие шипы будет основная нагрузка.

2 Вовчик
"проект не загнулся"(Вам, может быть от этого и было бы весело, а мне - нет),

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

Насчет вопроса то стоит почитать о таких компонентах как: TQuery(TTable) TDataSet и TUpdateSQL

Извините что если резко, просто сегодня не очень удачный день в жизни.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150725
2 Andrew Campball

ЕСли заказчик знает, то необходимо от него и добиваться.
Делол в том, что в любом проекте существует ОЧЕНЬ много подводных камней
о котрых даже и не задумываешся, а потом оказывается, что необходимо
перелопатить базу.


А заказчик эти подводные камни нюхом чует ?... Я за собой таких способностей не замечал.
И не знает он(я), что нужно (в деталях). Во первых с моей стороны проект затрагивает многих людей и множество процессов. Далеко не все я детально знаю. Во вторых даже то, что я знаю, я не всегда могу связно изложить. Осознать и сформулировать требования - это большой труд. Если исполнитель будет требовать, чтобы это делал я, а не он, то я поищу другого исполнителя. В третьих даже если мне облегчат жизнь не на 100, а на 50% я буду рад. И если встретятся по пути подводные камни, то претензий - почему не предусмотрели заранее - у меня не будет. Будем преодолевать их вместе.

Ну работаю я над таким проектом, говорили мне давай постепенно начнем
в ходе работы все высним и сделаем каонфетку. Куда уж там.
Вместо положенных 5 месяцев растянулось на 8. Меня уже просто начинает подташнивать от этого проекта в следствии - работа практически нулевая.


А вот это - Ваша личная проблема. Есть работа - есть хобби. И поэтому я никогда не закажу систему какому-то отдельному лицу или нестабильной группе - только солидной софтверной компании, которая не исчезнет через полгода.

Уж лучше месяц-два потратить на нормальную постановку задачи, чем на ходу переделывать.

Увы - переделывать придется.

Это все равно что ездить на машине без шипованных шил зимой и постоянно вколачивать по 1-2 шипа. Ведь мы же не знаем на какие шипы будет основная нагрузка.

Скорее это попытка использовать шипы, если не получилось - цепи, не получилось - гусеницы.
А проектировать с самого начала шагающий экскаватор там, где возможно будет достаточно лопаты (десяти лопат) - невыгодно.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150737
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2заказчик проекта

Просто-таки-напростаки склоняю голову. Скажите честно, свидетелем скольки проваленых проектов вы были прежде чем пришло такое понимание сложностей внедрения?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150744
2 1024

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

Да многих. И успешных и проваленных. И со стороны заказчика и со стороны исполнителя.

Настаиваю - попытка сделать болшую систему разом за одну большую итерацию - утопия.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150811
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 заказчик проекта

А никто и не говорит, что заказчик должен предоставить все данные.
В том то вся и соль, что он только предоставляет поле деятельности,
а уж в той команде которая будет вести разработку ДОЛЖЕН быть
человек(и) которые излазять все разрешенные отделы и изучать весь
бизнес процесс. На остовании их данных и стоит приступать.

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

А насчет больших систем, помоему тут никто и не заикался.
Ясно с самого начала, человек занимается один (2-3) задачей локального характера.

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

2 all
Если все считают необходимость, то думаю стоит найти место, где можно было бы определится с описываемой системой и предложить методики их осуществления в принципе даже спускаясь на уровень описания таблиц.

Почему не здесь ? Я например не могу читать описание таблиц описанных линейно строчка за строчкой (конечно если надо, о смогу). А предоставлять все в виде схем нужно соответствующее место и описание.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150812
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 заказчик проекта

А никто и не говорит, что заказчик должен предоставить все данные.
В том то вся и соль, что он только предоставляет поле деятельности,
а уж в той команде которая будет вести разработку ДОЛЖЕН быть
человек(и) которые излазять все разрешенные отделы и изучать весь
бизнес процесс. На остовании их данных и стоит приступать.

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

А насчет больших систем, помоему тут никто и не заикался.
Ясно с самого начала, человек занимается один (2-3) задачей локального характера.

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

2 all
Если все считают необходимость, то думаю стоит найти место, где можно было бы определится с описываемой системой и предложить методики их осуществления в принципе даже спускаясь на уровень описания таблиц.

Почему не здесь ? Я например не могу читать описание таблиц описанных линейно строчка за строчкой (конечно если надо, о смогу). А предоставлять все в виде схем нужно соответствующее место и описание.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150832
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Campball
"Я например не могу читать описание таблиц описанных линейно строчка за строчкой"
Когда Вам понадобилось найти недостаток в работе другого - вы смогли предствить структуру по линейному описанию и ткнуть человека "мордой" в это (хотя человек сам честно написал, что ему стыдно за свою структуру) . А когда Вам задали конкретный вопрос - вы в ответ -"Почитайте про компоненты". Человек на Access пишет, и указанных Вами компонент там никогда не было, нет, и, скорее всего, никогда не будет.
И вообще, если Вам нравится представлять всех дураками, а себя одного - умным, с умным видом поучать других, не сообщая ничего конкретного, то у меня, как зачинателя этой темы, к Вам просьба - откройте свою ветку и излагайте там чего хотите, на портите здесь нам приятной и корректной дискуссии.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150850
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
заказчик проекта, \r
Тут вот недавно Артем1 спрашивал\r
"Какими качествами должен обладать руководитель проекта, чтобы он мог\r
из примеров, про которые говорил Репликант, взять только полезное и \r
отбросить цитата "грубые методологические ошибки"?. Способность к \r
критическому анализу? Опыт не менее N проектов? Или это неэффективный \r
способ обучения? Лучше изучать методологию и самому пытаться применять \r
ее на практике?"
в вопросе \r
("Нужна помощь по документированию проекта"), но ответа так и не получил.\r
\r
Если у Вас найдется немного свободного времени, может вы попробуете на него ответить на основании своего опыта, думаю всем было бы интересно...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150906
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И такие циклы нужно заранее закладывать в проект. Это не отклонение - это норма.

Согласен. Есть даже умные слова, которыми это называется - спиральная модель разработки ПО.

НО.

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


А если полгода ставить задачу, полгода проектировать, затем реализовывать, затем внедрять - вот это верная смерть проекта.

Смотря какого проекта. Смотря какие огранчения у вас на время разработки. Смотря как ставить задачу. Смотря как реализовывать. Смотря кем реализовывать. Можно и запороть, можно и конфетку сделать. Вася Пупкин с командой студентов скорее запорет, Боинг - скорее сделает. :о)


2 Andrew Campball

Уж лучше месяц-два потратить на нормальную постановку задачи, чем на ходу переделывать.

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

НО.

Что вы будете делать если постановка задачи в принципе не ясна спустя два месяца???...


==========================
2 заказчик проекта

Осознать и сформулировать требования - это большой труд. Если исполнитель будет требовать, чтобы это делал я, а не он, то я поищу другого исполнителя.

Гут. Ваша правда тут тоже есть - вы платите, вы и заказываете музыку.

НО.

А всегда ли заказчик адекватно платит за этот "большой труд"??? Имхо, далеко нет - нередко хотят поиметь аналитика на половину зряплаты разработчика или вовсе опустить этот этап - мол, не надо, потом когда-нить разберемся...



Увы - переделывать придется

Смотря насколько. Если меньше 25% от общего объема работ - тогда терпимо. Если больше 50% - стоит задуматься, а не проще ли сделать новый проект, чем чикать старый. Затраты на переделку могут быть намного больше, чем на создание нового...
ИМХО.




2 Andrew Campball

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

Не поверите - до боли знакомая ситауация. Только у меня не было результатов обследования, за него просто сразу платить отказались. И вот этот результат:

Вместо положенных 5 месяцев растянулось на 8. Меня уже просто начинает подташнивать от этого проекта в следствии - работа практически нулевая.

тоже - более чем предсказуем. Более того, как выяснилось апостериори - уже давно описан в ставших классическими книгами по управлению проектами вообще и разработкой софта в частности. Можно дальше накаркать - то, что вы делаете, будет создано с боооооольшим опозданием по сравнению с тем, что делали бы на заказ, будет содержать массу ошибок и обладать минимальной функциональностью по сравнению с тем, что хотели. В силу вполне объективных причин. Скупой, как известно, платит дважды...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150921
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скупой, как известно, платит дважды...

Скупой не платит, он расплачивается.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150952
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara

Когда Вам понадобилось найти недостаток в работе другого - вы смогли предствить структуру по линейному описанию и ткнуть человека "мордой" в это (хотя человек сам честно написал, что ему стыдно за свою структуру) . А когда Вам задали конкретный вопрос - вы в ответ -"Почитайте про компоненты". Человек на Access пишет, и указанных Вами компонент там никогда не было, нет, и, скорее всего, никогда не будет.

Во превых никто никого не тыкал, я даже не имел в виду предыдущие публикации.
А насчет компонент. Виноват однако. Видно тяжелый день у меня, т.к.
не обратил внимание, что человек пишет на Access'e, а я в нем полный нуль.


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


Ну почему же сразу дураками ?!
А что вас интересует конкретного я по крайней мере не услышал ничего конкретного что вас интересует. Интересует склад ? Давайте поговорим про склад. БУдет интересно, вечерком накидаю умные мысли. Может тогда меня дураком выставят.

2 Циничный Кот

НО.

Что вы будете делать если постановка задачи в принципе не ясна спустя два месяца???...


Тогда вообще не стоит браться за такой проект какие бы деньги он не сулил.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150985
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Campball

"Интересует склад ? Давайте поговорим про склад. БУдет интересно, вечерком накидаю умные мысли. Может тогда меня дураком выставят"

Не думаю, что надо вообще так вести диалог, чтобы кто-то ощущал себя умным, а кто-то дураком. Если у кого есть потребность поскандалить, для этого есть специализированные телепередачи и сайты "Окна", чаты сленга, и т.п. Многие приходят сюда, по-моему, для того, чтобы пообщаться, получить информацию, совет более опытного человека. И не надо превращать этот форум в способ снятия нервного напряжения.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32150988
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда вообще не стоит браться за такой проект какие бы деньги он не сулил.

Юношеский романтизм.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32151019
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не думаю, что надо вообще так вести диалог, чтобы кто-то ощущал себя умным, а кто-то дураком.

Если кто-то себя ощущает себя дураком - это сугубо индивидуальные проблемы того индивидуума.

Чтобы не было такого ощущения достаточно понять одну простую вещь - очевидно что, сколь бы я ни был умным и продвинутым, есть много того, чего я пока или до сих пор не знаю. Причем "это" может включать в себя целые пласты знаний. Из этого никак не следует что я дурак... :о) И меня обычно как-то не ломает спросить и уточнить что-то. Пусть даже вопрос получится абсолютно дурацким - будет куда от него плясать - либо читать ликбез-литературу, либо копаться в справочниках, либо с умным видом поучать других... ;о)))
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32151034
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Циничный Кот

Спасибо за поддержку

2 akuz
По вашему стоит взяться и сидеть, сидеть, сидеть и коптеть над этим
проектом ?
ДА я лучше мелких проектов накрапаю за это время и не факт что за тот же объем денег.

2 wara
А как еще вести.
Если вас интересуют какие-то вопросы Вы задайте.
Если я смогу Вам помогу, а нет - начит нет.
Что тут не понятного ???!!
А посылать в другие передачи ... хм ваше желание отвернуться
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32151152
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Campball
Прошу прощения, если чем-то Вас обидел, просто Ваша манера разоваривать меня чем-то "заводит" (даже не знаю чем, со мною это довольно редко бывает). Похоже, Циничный Кот прав в том смысле, что если кого-то от чьих-то слов коробит, то это проблемы того, кого коробит. И естественно, в условиях свободы слова я не имел никаких основания посылать Вас на какие-то передачи... В общем, говорите, что хотите и где хотите - я просто не буду прочитывать Ваш текст во избежании аллергии
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32151177
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чё сегодня все сруться?
Звёзды что-ли раком встали?
===
Отвечать не обязательно.


По вашему стоит взяться и сидеть, сидеть, сидеть и коптеть над этим
проектом ?


какие бы деньги он не сулил

Всё зависит от количества. Если денег платят много и регулярно, то можно и в носе поковырять. :)

Когда постановка задачи не ясна, это лишь вопрос вашего профессионализма, другое дело, когда постановка задачи ясна, но заказчик пытается навязать вам свои идеи по реализации, несовместимые со здравым смыслом, вот здесь надо проявить волю и не соглашаться ни на какие уступки, вплоть до отказа от проекта, иначе действительно будет мучительно больно...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32151178
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чё сегодня все сруться?
Звёзды что-ли раком встали?
===
Отвечать не обязательно.


По вашему стоит взяться и сидеть, сидеть, сидеть и коптеть над этим
проектом ?


какие бы деньги он не сулил

Всё зависит от количества. Если денег платят много и регулярно, то можно и в носе поковырять. :)

Когда постановка задачи не ясна, это лишь вопрос вашего профессионализма, другое дело, когда постановка задачи ясна, но заказчик пытается навязать вам свои идеи по реализации, несовместимые со здравым смыслом, вот здесь надо проявить волю и не соглашаться ни на какие уступки, вплоть до отказа от проекта, иначе действительно будет мучительно больно...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32151179
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чё сегодня все сруться?
Звёзды что-ли раком встали?
===
Отвечать не обязательно.


По вашему стоит взяться и сидеть, сидеть, сидеть и коптеть над этим
проектом ?


какие бы деньги он не сулил

Всё зависит от количества. Если денег платят много и регулярно, то можно и в носе поковырять. :)

Когда постановка задачи не ясна, это лишь вопрос вашего профессионализма, другое дело, когда постановка задачи ясна, но заказчик пытается навязать вам свои идеи по реализации, несовместимые со здравым смыслом, вот здесь надо проявить волю и не соглашаться ни на какие уступки, вплоть до отказа от проекта, иначе действительно будет мучительно больно...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32151382
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 akuz

Кпопку "опубликовать" заело ? :-))))
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32151523
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Andrew Campball
Грешно смеяться над бедой. У него прокси :-(
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32151643
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С Праздником весны и труда всех. Оставим в прошлом все обиды и проблемы, а после выходных с новыми силами примемся за работу.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32162304
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akuz "если у вас имеется достаточно разнообразный и продвинутый workflow"
То, о чем написал уважаемый akuz достаточно интересно, вот только не совсем понятно, это workflow - это просто принципы какие-то, которые можно реализовать в любой среде разработки или это все можно реализовать через какие-то специальные Case-средства?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32162392
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
workflow. Достаточно близкий перевод на русский - "Схема работы". Это принцип построения допусков и ограничений. Может быть реализована самыми разными методами, которые включают в себя правила на уровне SQL-сервера, операционной системы, приложения. Это очень абстрактное понятие, в которое каждый вкладывает свой смысл. Мне кажется, что akuz в основном делает упор на уровень приложения. Вполне достойный метод. Его главное преимущество - независимость от ОС и SQL. Вы сами понимаете, что в этом и его слабость. Обычно лучшим оказывается некотороя комбинация.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32162445
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рискуя не попасть в топик, сообщу:

Ну и чего вы в структуры, таблицы, процессы уперлись? Человек, поднявший сабж,
начинающий девелопер, который считает, ихмо, что кроме "правильной структуры БД"
нет ничего важнее. Не циклите человека на одной стороне медали!!!
Дорогой wara, мне, как юзверу, глубоко пополам, что там внутри вашего детища, мне
важен результат - как работает и работает ли вообще? Юзер нифига
окромя интерфейса не видит, поэтому, wara, лобайте потроха как
получится (се равно в первый раз получится криво:), а к интерфейсу
повнимательней! Ить если даже кишки вашей БД будут достойны постамента
а юзер увидит на экране вид своей клавиатуры (кнопочки с буковками, призванными
фильтровать товары по первым буквам названий) - провалитесь с треском на
первой же "презентации".

Из личного опыта:
Позвали меня на фирму, занятую в оптово-розничной торговле перестроить БД,
оставшуюся от их прежнего "спеца", который даже о первом уровне нормализации
Кода ничего не слышал :( Кошмар!!! Попытался я врубить заднюю, но посулили шибко
много - не смог устоять.
Перестраивать структуру БД - нереально, легче написать с 0, но это время, а
заказчик желает видеть результаты уже "вчера"! Дабы не упустить возможность
незначительно обогатиться пошел по пути "накладывания губной помады на бультерьера":
переработал ключевые формы, добавил немножко "искусственного интеллекта", реорганизовал
(в интерфейсе) доступ к данным и т.п. Операторы на фирме просто пищщщщали! Ген.директор
был сдержан и просто предложил долгосрочное сотрудничество. Выгодное сотрудничество.
Так что, wara, интерфейс - рулез, ихмо.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32162461
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Нуф-нуф

Я, уважаемый Нуф-нуф, ни уха ни рыла в управлении автомобилем, и мне глубоко пох..., что там внутри вашей колымаги, мне главное - чтобы быстро попасть из пункта А в пункт Б. Поэтому, товарищ водитель, главное давите педаль газа в пол посильнее!!!... Мне главное - слышать свист ветра и понимать, что мы ежем быстро... Все остальное - неважно, даже если руль ни вправ ни влево не крутится...



ЗЫ. До первой колдоебины, правда...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32162462
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гммм... А вот, кажется, та самая колбоебина... Уж не знаю, перавя или нет...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32162482
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Ценичный Кот...
А нафик мне руль, ежли машину на рельсы поставили, которые как раз и ведут из пункта А в пункт Б? Не слышали про такое направление, как "Анти-ламерство"? Это специально для таких "рулил"... шобы такой "ни уха ни рыла в управлении" не влез куда-нить в табличку и создается интерфейс - рельсы для вашего авто...
Впрочем это уже мимо топика... Просто хотелось сказать, что побольше внимания интерфейсу - не самое последнее дело, ведь без него ни руля ни педалей...

А на счет той самой колдоебины , то я и не говорил, что являюсь спецем в клиент/серверных технологиях. В интерфейсных - да, а в колдо&бинах - не...
//думает, что нарвался на супер спеца... иш как над колдо&биной рассмеялси...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32162495
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Нуф-нуф

На роль супер-спеца не претендую, это к кому-то другому... Только, имхо, спор в духе "что в машине важнее - колесо или руль???" (читай: в системе - фронтенд/бэкенд) совершенно бессмысленен. Что от любой системы требуется??? Чтобы она эффективно выполняла свои функции. В понятие "эффективно" много чего входит, в т.ч. скорость, надежность и удобство работы. И у разных людей очень разные потребности. Вспомните притчу про то, как трем слепым дали пощупать слона с разных сторон - одному ногу, второму хобот, третьему хвост... Оценки разнились разительно.


Таж фигня и с интерфейсом. Все согласны, что интерфейс должен быть "удобным". И мало кто задумывается, что удобство в довольно-таки сильной мере определяется тем, к чему человек привык. Привык он, скажем, к ДОС-овским окошкам - его на виндовс пересадить не так-то просто будет. Привык он текст в простеньком редакторе набивать - ему Вордом пользоваться будет НЕУДОБНО. Причем это будет правдой - ему действительно пользоваться неудобно, причем чем старше люди, тем неохотнее они переучиваются на новое. Так что отдавать на откуп операторам оценку того, хорошо или плохо работает система - не есть правильно. Они-то слона только с одной части видят... Измените интерфейс сильно - вообще всем будет плохо, даже при условии, что функционал системы будет больше, надежность - выше, скорость работы - та же... Ну и все прелести с гендиректором из той же оперы - дадут под зад за хорошую работу только потому, что воплей много будет. Для чего, кстати, и нужен толковый начальник информационного отдела - чтобы зерна от плевел очистить и не принимать перекрашивание запорожца за переделку его в мерседес.


ЗЫ. То, что вы назвали антиламерством, называется защитой от дурака и было известно еще задолго до изобретения PC. Только одно но - абсолютной защиты все-таки не существует...


ЗЫЗЫ. Вполне возможно, ваша колдоебина неразрешима в ваших же терминах - "как надо выбирать на клиента много записей, если их выбирать не надо"???... Истоки проблемы могут быть в том, что люди не умеют (или не привыкли) по-другому информацию получать, кроме как набирая курсором слова в строчке. Опять же, не верю я, что им надо полмиллиона записей в день просматривать - наверняка им надо лишь сотню-другую, не более.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32162505
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Ценичный Кот

Цетирую себя:
>"Человек, поднявший сабж, начинающий девелопер, который считает, ихмо, что кроме "правильной структуры БД" нет ничего важнее. Не циклите человека на одной стороне медали!!!"
Цетирую вас:
>"Только, имхо, спор в духе "что в машине важнее - колесо или руль???" (читай: в системе - фронтенд/бэкенд) совершенно бессмысленен."
млин... то же яйцо, но тока в профиль... А я о чем? Человек зациклился тока на внутренней реализации ни слова ни упоминув об внешней стороне проекта! На что я, достаточно мягко, ихмо, указал!

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

По поводу колдо&бины... Она разрешима минимум тремя известными мне способами:
1. простым, но не отвечающим всем условиям задачи;
2. красивым, но мало снижающим нагрузку на сеть (хотя и снижающим);
3. полностью удовлетворяющим условиям задачи, современным и высоко-технологичным, от чего его сопровождение несколько усложняется, хотя решение очень даже мощьное.
Просто хотел спросить у All его соображения по данному поводу.
Но это совсем другой топик...

з.ы. жаль, что wara не модератор... а то бы он как прекратил бы эту вышедшую из топика дискуссию, каа-а-а-ак прекратил бы :)

Извиняюсь за причененное беспокойство. Удаляюсь...
Хм... Тока для wara еще по топику...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32162506
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для wara

Универсальных комплексных решений, как и было уже сказано, нет. Но зато есть узкоспециализированные решения: как описывать и хранить сущности, как оформлять бизнес-транзакции, как организовывать DW-хранилища и т.п. У каждого разработчика эти решения свои - этакая библиотека решений
(что-то типа классов в ООП).
Каждый до таких библиотек доходил своим умом, ибо очень часто разбираться
в чужих наворотах в 100 раз труднее, чем самому наворотить.
А на счет что и в каких таблицах, то пользуйся правилами нормализации и...
логикой :) Не пытайся хранить цены в текстовых полях, не храни названия
в числовых и т.п. ;)
Обязательно документируй все свои решения, ибо потом к ним ой как часто
будешь обращаться. Не к решениям васи пупкина, а к своим решениям.

Все это, конечно, ихмо.

Удачи в онном...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32163466
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за информацию, советы и комментарии.
Буду думать.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32163477
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не умаляю важность интерфейса. Просто я считаю, что структура превична, а интерфейс вторичен. В том смысле, что вначале проектируется структура - что где и как будет хранится - а уже потом на это навешивается интерфейс. Как в строительстве - вначале проектируется фундамент, создается проект здания, далее проводятся прочностные расчеты - как оно устойчиво к тем или иным нагрузкам. И уже самая последняя стадия - отделка фасада и квартир. В последнее время дома даже сдают без отделки : "мы вам сделали самую сложную часть работы - а уж декор - ваше дело".
В общем, я считаю, что лучше плохой интрфейс при хорошей структре (его всегда можно переделать), чем хороший интрфейс - при негодной структуре.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32163479
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Абсолютно с тобой wara не согласен !
Можно зделать развесистую структуру, под которуй очень сложно подвести интерфейс.
Да к тому же интерфейс пользователя это лицо вашей программы. Начинка из базы видна только профессионалу. Но разве вы работаете на профессионала или на пользователя.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32163484
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Cat2

Я говорил лишь о workflow уровня системы приложений, не касаясь остальных уровней, всё остальное осталось за кадром. Естественно это комплексное решение.

2 wara

Правильно мыслишь.

2 Andrew Campball

Хорошая структура <> развесистая структура.
Интерфейс пользователя должен быть удобен как для пользователя так и для разработчика, иначе ничего хорошего не выйдет.

Да к тому же интерфейс пользователя это лицо вашей программы.

Хорошая мина при плохой игре будет быстро раскушена, как только речь зайдёт о цене изменений.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32163490
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для wara

Незря я, имхо, влез в данный топик. Ваше отношение к интерфейсу, мягко говоря, индифирентно, что очень, ОЧЕНЬ не есть хорошо!

Во 1, подход " сначала структура, а затем интерфейс (может быть... )" изжил себя с появлением графических и об.ор.интерфейсов, так же как и в свое время изжил себя рынок продавца, уступивший место рынку покупателя (см. основы экономической теории). Т.е. успешность вашего предприятия (читать "проекта") будет зависить не от того, что вы можете или хотите сделать, а от того, что заказчик хочет чтобы вы сделали. А как заказчик будет судить о вашей работе? Пра-а-а-альна... По интерфейсу. Который вы клятвенно пообещаете переделать в ближайшем будущем, когда люди на фирме к нему привыкнут (если, конечно, дойдет до запуска проекта) и их предется переучивать, тренинги проводить по изменившемуся интерфейсу, содержать огромную группу технической поддержки, консультирующую юзеров по вашим взглядам на интерфейс (или на изменения в интерфейсе), и главной фразой в общении с заказчиком станет: "Это не поломано, так и должно работать!" :)

Во 2, все это не мое имхо, это НЕ СКРОМНОЕ мнение пользователей ваших будущих творений!

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

Сбалансируйте внешнюю и внутреннюю часть проекта и цены ему не будет! Или будет, но очень высокая :)

Еще раз удачи...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32163498
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akuz именно развесистая структура подразумевалась Хорошая структура

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

Чем же интерфейс должен быть удобен для разработчика ?
Вы должны уже на этапе проектирования задуматься: "А что же хочет этот пользователь", "А как думает и видит это пользователь".
Я не настаиваю, что нужно бегать по всем и справшивать, но и
полагать, что "Я знаю как им надо!!!". Такое проходили, исправляли.
И до сих пор приходится.

Хорошая мина при плохой игре будет быстро раскушена, как только речь зайдёт о цене изменений.
Вот как раз с Вашим подходом: база, интерфейс Унифицированнный (для пользователя и разработчика).
Юзверь потыкается, потыкается и скажет НЕ-ХО-ЧУ!!!!

И не стоит придумывать своего все уже давно за нас придумали.
Есть еще такая наука: Эргономика.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32164480
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"модератор... как прекратил бы эту вышедшую из топика дискуссию, каа-а-а-ак прекратил бы :)"
Учетные программы состоят из базы данных и интерфейса. Проектируя базу данных надо иметь в виду интерфейс (ориетироваться на это). Следовательно, поскольку вопрос интерфейса влияет на проектирование баз данных учетных систем, данный вопрос не является сильным отклонением от темы, и я думаю, что умный модератор не выкинет этот вопрос. К тому же в этой жизни совершенно не ясно, что важнее - попасть в тему или поднять какой-то близкий вопрос, который вдруг приведет к неожиданным результатам...
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32167912
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обидели Вовчика. Не хочет он больше писать свою "Санта-Барбару" :-(
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32181465
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос на праздники:
"Двойная запись" - имеет ли смысл это понятие применительно к учету постредством баз данных?
(Если да, то какой, если нет,то почему)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32181887
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Нет. Двойная запись в учетных системах имеет избыточную информацию. Причем напоминаю, что даже при ручном ведении бухгалтерии "двойная запись" в чистом виде не используется. Бухгалтера давно уже придумали журналы-ордера (кредитовый способ записи, когда учитывается расход со счета) и ведомости (дебетовый способ записи).
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32183327
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
Спасибо, "Двойную запись" отправляем в тотальный игнор. И все-таки, возвращаясь к самому первому вопросу данной ветки, что надо знать, чтобы спроектировать нормальную систему для учета чего-либо? Так сказать, "кандидатский минимум". У меня сейчас сложилось такое мнение, что знать надо следующее:
1. Особенности предметной области, подлежащей учету.("анализ и спецификация требований"???)
2. Реляционная теория (Дейт, к примеру)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32183713
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara
Я бы сократил список требований до 1 пункта:
Особенности предметной области, подлежащей учету.("анализ и спецификация требований"???)

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

Техническая реализация - дело десятое, ибо если не понимаешь что и зачем делаешь, то получишь в результате замечательную БД, но толку от нее будет нуль.

Третья нормальная форма давно уже не является необходимым условием построения "правильной" базы данных. В концепции хранилищ данных (datawarehouse) в отдельных случаях третья нормальная форма вообще вредна.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32183727
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Третья нормальная форма давно уже не является необходимым условием построения "правильной" базы данных. В концепции хранилищ данных (datawarehouse) в отдельных случаях третья нормальная форма вообще вредна.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184099
Катик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ох мужчины..., по-истине движущая сила жизни - стремление к первенству, оно же стремление к власти, оно же стремление быть лучшим самцом для самок. :)

Хватит флеймить, подскажите лучше вот что:
Как хранить лицевые счета контрагентов (сотрудников и клиентов), их может быть до 1 млн, а следовательно это потенциальное узкое место при создании отчетности и прочих запросов по иерархии счетов.
Наследовать ли все счета (бухгалтерские, лицевые) от абстрактного счета или вообще стоит разделить полностью эти сущности как на логическом так и на физическом уровне.
Спасут ли partition view в случае если наследоваться от абстрактного счета и по какому принципу организовывать партиции.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184272
Катик 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Катик

1 миллион это не много. Просто для отчетности порой данные переливают в таблицы отчетности и все
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184346
Катик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, но еще есть проводки по этим счетам.
В среднем по 10 на каждый счет за день -> получаем 10 млн. за день, которые нужно группировать и складывать с хранимыми на начало каждого дня/месяца остатками что бы получить отчетность "реального времени"
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184384
Катик 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это что за предметная область такая где 1000000 счетов и по каждому из них проводки?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184398
Катик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Автоматизированные системы рассчетов (биллинг)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184418
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А подробнее расписать можете ?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184440
Катик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну что тут подробнее еще можно добавить...
Учет звонков АТС и интернет-сессий в реальном времени.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184459
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну давайте начнем так:
- Есть клиенты
- по ним существую счета и проводки

так ?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184475
Катик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть клиенты, по ним существуют лицевые счета, счета на оплату услуг.
По лицевым счетам существуют проводки по каждому факту оплаты/оказания услуг(списания).
Проводка по списанию средств формируется для каждой сессии/звонка.
Все должно работать в режиме реального времени, клиент может запросить остаток средств, движения по своему лицевому счету на любой момент времени.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184881
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varivan,
Процитирую Л. Мацяшека (просто его книжка у меня в сумке лежит, а не потому, что я считаю его лучшим спецом по данной проблеме) "Анализ требований и проектирование систем", стр 115:
"Установление требований - первый этап жизненного цикла разработки системы...Цель установления требований состоит в том, чтобы дать развернутое определение функциональных, а также нефункциональных - требований, которые участники проекта ожидают утвердить в реализуемой и разворачиваемой системе."
В принципе, то что Вы сказали (кроме "принципов управленческого учета" - мне вообще непонятно, что это такое), вполне укладывается в этот "раздел".
Никаких теоретических знаний для того, чтобы произвести "анализ и спецификацию требований, по сути дела (по-моему), не требуется. Нужно лишь уметь наблюдать, разговаривать с людьми и обладать здравым смыслом.
То есть общий вывод такой - никаких теоретических знаний для того, чтобы спроектировать нормальную учетную систему, не требуется?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184931
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть клиенты, по ним существуют лицевые счета, счета на оплату услуг.
По лицевым счетам существуют проводки по каждому факту оплаты/оказания услуг(списания).
Проводка по списанию средств формируется для каждой сессии/звонка.
Все должно работать в режиме реального времени, клиент может запросить остаток средств, движения по своему лицевому счету на любой момент времени.


На вскидку схема такова:

Клиенты (ID PK, ....)
Лицевой счет (ЛС) (ID PK, CLIENT_ID FK2Клиенты, Баланс NUMBER, ....)
Документы движения (ДД) (DOC_ID PK, AMOUNT, ISSUED_DATE, ....)
Движение средств (проводки) (PERS_ACCOUNT_ID FK2ЛС, DOC_ID FK2ДД, ISSUED_DATE, DEBIT, CREDIT, ...)

Теперь более подродно:

- Таблица "Клиенты" предназначена для хранения общей информации о клиенте, такие как например: Адрес, паспорт, телефоны, ...
- Таблица "Лицевой счет" предназначена для хранения информации по конкретному клиенту такой как например: номер телефона, номер договора, ...
- Таблица "Документы движения": скорее всего нужно каждый вид докумета разнести в отдельные таблицы (поступление денег, оказание услуг, звонок).
- Таблица "Движения средств" - аккумулированная информация о движении средств по лицевому счету клиента. ДУмаю многие заметят некоторую избыточность данной таблицы, НО в данном случае нам нет необходимость связывать остальные таблицы документов, чтобы получить дополнительную информацию (например: дата). Плюс мы не завязаны на конкретные виды документов и всегда без особой переделки приложения и существующий таблиц добавить новый вид документа движения средст.

Информацию о состоянии счета на текущий момент мы всегда можем получить из лицевого счета клиента. Баланс на конкретную дату: Банас из ЛС +Дебет -Кредит ДС

НАдеюсь ничего не упустил.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32184976
Катюша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, :-) ничего, только вопрос то о другом был...
Наследовать ли все счета (бухгалтерские, лицевые) от абстрактного счета или вообще стоит разделить полностью эти сущности как на логическом так и на физическом уровне.
Спасут ли partition view в случае если наследоваться от абстрактного счета и по какому принципу организовывать партиции.


А именно, уточню более конкретно, является ли лицевой счет клиента/контрагента частным случаем бухгалтерского счета(есть ли у бухгалтерского счета и лицевого счета общий предок) и по какому принципу разбивать на партиции эту таблицу счетов.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32185036
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс !

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

Лицевой счет должен являтся аналитикой бухгалтерского счета, и никакого общего предка у них быть не должно. По одной операции лицевого счета (например поступление денег на счет) должны быть сформированы как минимум 2 проводки (поправте если я не прав).
Вы IMHO пытаетесь скрестить ужа с ежом.

Быхгалтерия сама по себе в сущности самое примитивное ПО.
Д К Сумма, да плюс расчет или хранение остатков.
Все остальное это необходимый инструментарий для облегчения работы бухгалтера.

Ваша же задача имеет свою специфику. Стоит подумать отдалится от самой бухгатерии как таковой в вашей системе и при необходмости генерировать проводки.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32185087
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Campball, позвольте с вами не согласится.
Лицевой счет должен являтся аналитикой бухгалтерского счета, и никакого общего предка у них быть не должно.
Вы в хотите абсолютно разделить понятие бухгалтерского счета и лицевого.
Но зачем, Катик правильно мыслит, бухгалтерский счет и лицевой - это подклассы абстрактного счета в котором существуют общие для обеих типов счетов атрибуты и методы для работы(хп).
Зачем дублировать сущности? Есть годами проверенная схема работы со счемтами на основе двойной записи и проводок. Зачем придумывать для лицевых счетов что то свое? Не понимаю.
Относительно к бухгалтерии: так там вообще лицевой счет сотрудника - это субсчет счета "Расчеты с персоналом".
Другой вопрос - касательно интерфейса, т.е. не всегда оператор должен оперировать проводками, они должны формироваться автоматически внутри системы. Но это уже отступление от темы.
Задача имеет свою специфику. Стоит подумать отдалится от самой бухгатерии как таковой в вашей системе и при необходмости генерировать проводки
Зачем, вы опять предлагаете создать идентичный бухгалтерской схеме модуль, а затем сводить концы с концами?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32188132
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Campball, позвольте с вами не согласится.

Позволю

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


И какие же Вы видите обощающие атрибуы ?

Зачем дублировать сущности? Есть годами проверенная схема работы со счемтами на основе двойной записи и проводок. Зачем придумывать для лицевых счетов что то свое? Не понимаю.
Относительно к бухгалтерии: так там вообще лицевой счет сотрудника - это субсчет счета "Расчеты с персоналом".


В бухгатерии лицевой счет сотрудника представлен в виде счет.субсчет.аналитика1....аналитикаN дебет кредит
Вот "аналитикаХ" и есть указание на лицевой счет вне бухгалтерии.

Лицевой же счет сотрудника вне бухгалтерии думаю можно расширить до самых невероятных размеров путем описания дополнительных параметров.

Другой вопрос - касательно интерфейса, т.е. не всегда оператор должен оперировать проводками, они должны формироваться автоматически внутри системы. Но это уже отступление от темы.

Как раз нет. Оператор НИКОГДА не должен даже знать о проводках.

Зачем, вы опять предлагаете создать идентичный бухгалтерской схеме модуль, а затем сводить концы с концами?

Бухгатерия это аксиома и оспаривать важность и нужность ее никто не берется, просто вопрос встает в другом. Пускать ли операторов работать в самой бухгалтерской программе или все же иметь отдельную программу для них, а проводки автоматически формировать в бухгалтерию.
А насчет бухгалтерской схемы вы конечно загнули. Повторюсь еще раз, но ЧИСТАЯ бухгалтерия с точки зрения построения БД является примитивной задачей.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32188274
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И какие же Вы видите обощающие атрибуты?
Тотже код счета, наименование.
Кроме атрибутов - методы для работы со счетами(перевод стредств с одного счета на другой - формирование соответствующих проводок). Эти методы должны реализовываться на более высоком уровне иерархии чем бухгалтерский счет/лицевой счет

Абстрактный Счет(код, наименование,...)
|
--Бухгалтерский счет(...)
|
--Лицевой счет(ID Контрагента,...)

В бухгатерии лицевой счет сотрудника представлен в виде счет.субсчет.аналитика1....аналитикаN дебет кредит
Вот "аналитикаХ" и есть указание на лицевой счет вне бухгалтерии.

Сначала нужно определиться что вы подразумеваете под аналитикой.
Аналитика - это все же субсчет или т.н. понятие "субконто" которое используется в 1с, и которого, кстати говоря нет в чистом бухучете?
Как лучше организовать - это вопрос проектирования.
Я считаю, что для подобной задачи более прозрачным и удобным является создание аналитических субсчетов для сотрудников/клиентов (так сказать вертикальная аналитика), а не "горизонтальная аналитика" основанная на "субконто". Для горизонтальной аналитики подходят скорее такие примеры как привязка к проводке документа(счкета на оплату, например).
Как раз нет. Оператор НИКОГДА не должен даже знать о проводках.
Оператор - согласен, не должен, я этого и не отрицал, но для системы и для бухгалтера, работающего с бухгалтерской программой - это та же схема на проводках. Просто одна и таже схема для оператора и бухгалтера отображается разными понятиями.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32188416
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Роман Дынник:
1. т.е. лицевой счет потомок бухгалтерского?
2. общая операция перевода денег это хорошо но ничего кроме наглядности не даст - так как, например, нельзя делать проводки между этими двумя счетами
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32188659
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to funikovyuri
1. т.е. лицевой счет потомок бухгалтерского?
Нет, лицевой потомок абстрактного счета.

общая операция перевода денег это хорошо но ничего кроме наглядности не даст - так как, например, нельзя делать проводки между этими двумя счетами
Это почему же нельзя? Как раз так можно.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32189672
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Wara

В принципе, то что Вы сказали (кроме "принципов управленческого учета" - мне вообще непонятно, что это такое), вполне укладывается в этот "раздел".

Вообщем-то да. Идея общая: перед тем чтобы что-то делать надо четко себе представлять что, зачем, почему и для чего это делается.
Под принципами управленческого учета я подразумевал понимание того, что есть управленческий учет и как его использовать для поддержки принятия решений высшим менджемнтом компании.

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

А вот здесь Вы заблуждаетесь. Изучение наблюдением нормальный путь, но объект наблюдения в этом случае должен быть "правильным". Другими словами, в такой комапнии уже должен быть поставлен управленческий учет, соответствующие ему бизнес процессы и все это работает. В такие компании Вас (и меня) вряд ли позовут. Зовут в такие, где все "плохо". Причем, лекарство от этого "плохо" всегда огранизационное, иногда организационно-техническое и никогда только техническое.

То есть общий вывод такой - никаких теоретических знаний для того, чтобы спроектировать нормальную учетную систему, не требуется?

Для того, что бы спроектировать учетную систему нужны не только теоретические знания, но и много-много практических.
Приведу пример: классическая российская торговая компания, состоящая из N юридических лиц, не связанных между собой отношениями долевого участия (т.е. официально не холдинг). Хозяин хочет видеть всю картину по компании, при этом классическая бухгалтерия такую картину дать не может (может по каждому юр-лицу). И как Вы без специальных знаний будете строить управленческий учет (в части финансов)? Причем реалии Российской действительности почти никогда не вписываются полностью в теорию.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32189761
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varivan,
Конечно, насчет того, что "ничего теоретического знать не недо", я специально передернул. В том то и вопрос - что именно надо знать (помимо теории БД, среды проектирования/программирования)? Вы же сами в своем ответе задаете этот вопрос: "И как Вы без специальных знаний будете строить управленческий учет (в части финансов)?" Хотелось бы получить на него ответ - что именно из этого самого пресловутого "учета" надо знать, чтобы создать эффективную БД?
А насчет того, что "реалии не вписываются в теорию" я бы сказал : "Скорее теория отстает от реалий".
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32189776
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые специалисты в области учета госп. Роман Дынник, Andrew Campball, Катик.
Наблюдаю за вашей дискуссией про биллинг, в которой вы употребляете ряд замысловатых терминов, смысла которых я не понимаю. Не могли бы вы, в целях ликвидации безграмотности, написать, как вы понимаете эти слова? К сожалению, мое личные познания в этой области ограничиваются следующим:
"Счет - это некий объект, который фиксирует поступление/расход некого ресурса".
Вот список слов, ваше понимание значения которых мне хотелось бы получить:
"счет"
"абстактный счет"
"бухгалтерский счет"
"лицевой счет"
"наследование счета" (это учетный термин или термин теории БД?)
"аналитики"(название-то какое стренное)
Интересно также ваше мнение относительно того, помогают ли данные понятия проектировать БД, или можно просто взять задачу в голом виде, и обойтись одним своим словарным запасом и теорией БД?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32189799
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara

Хотелось бы получить на него ответ - что именно из этого самого пресловутого "учета" надо знать, чтобы создать эффективную БД?

Боюсь, списка из перечня знаний составить не удастся. Дело в том, что управленческий учет это самый неоднозначный учет из учетов на предприятии, ибо преследует цели предостваления информации по деятельности компании для среднего и высшего менеджмента компании для принятия решений. Причем управленческий учет это всегда компроммис между оперативностью, точностью и стоимостью учета. Причем стоимость не только программного продукта, но и стоимость самого учетного процесса.
Соответственно, управленческий учет (в полном объеме) для каждой отдельно взятой компании это уникальное явление. И зависит он в первую очередь от сложившегося стиля управления, организационной структуры, существующих бизнес процессов, способности и возможности компании к изменениям и т.д. и т.п.
Например, для одних компаний нужен учет основных средств, с управленческой амортизацией.
Другие живут за счет рекламных акций и им интересна аналитика по их эффективности.
Третьи занимаются поиском дешевых денег и продажей этих денег дочерним бизнесам и хозяину не интересен учет внутри каждого бизнеса.
Четвертым все это вместе, а пятые вообще таможат бытовую технику как зеленый горошек и у них главное требование, что бы база была уничтожена в мгновение ока легким движением левой ноги....
Это лишь то немногое, что пришло навскидку в голову. Можно выделить десятка полтора больших функционально независимых блоков (или подсистем). Причем, по своей практике, ни разу, ни один из этих блоков не внедрялся без модификаций под конкретную компанию.

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

Рискуя накликать на себя гнев обитателей сего форума скажу, что "эффективная" (я это понял как скорость в первую очередь. если Вы имели ввиду что-то другое, то прошу поправить) БД дело десятое во всей этой кухне. Главное что бы не падала и данные там не терялись. Иногда информационная безопасность важна. А на скорость всем вообщем то плевать (в разумных пределах, конечно). Скажем так, скорость отклика на действия линейных операторов должна быть на уровне психологически приемлимой. А в больших (по объему обрабатываемых данных) люди могут подождать и существенно дольше.
Например, в тех проектах, которые вндрял я, общий баланс строится 3-4 минуты (на объемах 1-1,5Гб). Можно, конечно, уперется и его ускорить в несколько раз, но зачем?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32189893
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to wara
"абстактный счет" - в абстрактный счет выносятся общие атрибуты и поведение дочерних классов, это необходимо для нормализации.
"наследование счета" (это учетный термин или термин теории БД?)Это термин проектирвания. Наследование реализуется с помощью связи 1-к-1 между двумя таблицами/сущностями
"аналитики"- чаще всего - это дополнительное поле отражающее привязку к какому-либо объекту/группе объектов учета.
Интересно также ваше мнение относительно того, помогают ли данные понятия проектировать БД, или можно просто взять задачу в голом виде, и обойтись одним своим словарным запасом и теорией БД?
Конечно помогают. Представь себе твой заказчик говорит на русском языке а ты ему пытаешься что то объяснить на китайском.
Невозможно решать задачу без знания предметной области. И нечего об этом флеймить.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190073
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынник.
1. Спасибо за определения
2. Никто не утверждает, что не надо знать предметную область. Вопрос о том, что надо знать из "теории учета". Не один из трех терминов, которые Вы разъяснили, не относится ни к "предметной области" ни к "теории учета". Я бы их отнес к группе "жаргон проектировщиков учетных систем посредством РБД".
Основная проблема в том, что успешный проектировщик, сам того не подозревая, использует знания из самых разных областей, но эти знания ему довольно трудно формализовать. Естественно, через 10 лет набивания шишек мы будем разговаривать на одном языке, но нельзя ли сократить это время?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190154
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обсолютно поддерживаю сказанное выше Varivan от сегодня, 01:03.
На западе уже давно (если ошибаюсь, то поправте) оказались от специалистов широкого профиля. Трудность таких специалистов постоянное общение с простыми людьми, специалистами в своей областиЮ но ничего не понимающих в нашей.
Время между обследованием, проектированием и конечной достигает довольно больших интервалов. Без понимания процессов происходящих в организации создать довольно приемлемое решение НЕСКОЛЬКО затруднительно. Конечно если вы в штате и вам нужно отрабатывать деньги которые вам выделили, и главное что бы был видим процесс (довольно неприятно слышать от руководителей старшего звена, что не виден результат нашей работы) то такой подход допустим.
И самая большая проблема, что вы как разработчик знающий как оптимизировать бизнес процессы огранизации ДОЛЖНЫ доказать руководству, что НУЖНО на каком то участке изменить сам процесс, возможно даже коренным образом. А вот что бы доказать это вы и должны обладать знаниями как миниму того руковдителя с кем ведете беседу иначе он вас не сможет понять.

2wara как вы понимаете эти слова?...."жаргон проектировщиков учетных систем посредством РБД"

К сожалению так оно и есть. Основная проблема, что при проектировании довольно часто не определяют термины, которыми оперируют как разработчики, так конечные пользователи. В итоге практически всегда говорим на разных языках.
И через 10 лет ничего не изменится, можно писать книжки, публиковать в интернете "Сайт жаргонных слов по отраслям" :-)) но к единому целому никода не придем. Время не стоит и язык постоянно дополняется новыми словами или меняются понятия старых. А потому стоит описывать термины на этапе проектирования для каждого конкретного случая (не исключая возможности использовать и превносить свои термины). Взять вариант с 1С. Субконто до них было не известно, однако со вренем оно вошло в обиход и многие пользуются и бухгалетра понимают уже о чем идет речь.

Жаль, что столь великий и могучий язык пропадает зря. Ведь одним словом можно описать очень многое :-))))
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190155
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я коротко описал те термины, которые могли быть непонятны заказчику/бухгалтеру и в принципе он о них может вообще ничего не знать, ему это не нужно.
но наряду с этими терминами есть еще и "проводка", "двойная запись", "реестр остатков", "дебет", "кредит" и мне даже трудно представить как их еще охарактеризовать кроме как "предметным" языком и зачем.
Основная проблема в том, что успешный проектировщик, сам того не подозревая, использует знания из самых разных областей, но эти знания ему довольно трудно формализовать
Ничего ему не трудно формализовать, все уже давно формализовано, например средствами UML, стандартами IDEFX. Проектировщик проецирует предметную область на объектную/концептуальную модель, затем на физическую модель данных, затем на объектную модель приложения потом на интерфейс приложения. В итоге на входе и на выходе должно получиться "одно и то же". Т.е. интрефейс приложения должен соответствовать предметной области и предъявляемым требованиям.

Я предлагаю закрыть это обсуждение, иначе все превращается в пустую болтавню, не соответствующую названию топика.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190411
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Роман Дынник

Ничего ему не трудно формализовать, все уже давно формализовано,

А Вы никогда не задумывались, почему внедрением корпоративной информационной системы занимаются люди разных профессий:
1) консультанат (консалтинг)
2) "внедренец"
иногда еще и
3) проектировщик
4) программист(ы)

Программист не случайно стоит не последнем месте... И так при каждом успешном(!) внедрении....
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190493
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно, каждый занимается своим делом, используя UML,IDEFX и стандартизованные системы требований, часто все работают в едином CASE-инструментарии, вплоть до заказчика, если ему позволяет квалификация.
Один составляет модель бизнес-процессов, которая направляется проектировщику для создания концептуальной и физической модели (если что то не понравилось, модель бизнес-процессов направляется обратно на доработку), потом программисту и так гоняется по кругу/спирали пока система не будет удовлетворять всем требованиям.
Вы это хотели сказать?
Я просто хочу сказать, что все давно формализовано используемыми case-средствами.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190571
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varivan,
Спасибо за высказанные соображения, Ваша точка зрения мне наиболее близка.
Под эффективной БД я пониаю БД, которая позволяет заказчику эффективно решать проблемы. Это не обязательно должна быть быстрая БД, это должна быть БД, шустрая в такой степени, в какой это необходимо для решения определенной задачи. Если считается какой-то там годовой баланс, пользователь может 10 минут чайку попить пока он считается - в этом случае скорость не очень критичный параметр (если конечно заказчику не нужно нечто специфическое в режиме реально времени получать). А если к оператору стоит очередь за какими-то документами, то в этом случае скорость очень критична и задержка в несколько секунд очень даже нежелательна.Ну, плюс, естественно, требования по надежности, по удобству интерфейса, и.т.п.
Роман Дынник
"но наряду с этими терминами есть еще и "проводка", "двойная запись", "реестр остатков", "дебет", "кредит" и мне даже трудно представить как их еще охарактеризовать кроме как "предметным" языком и зачем."
1. Может быть я и не прав, но я не стал бы относить учет как таковой к понятию "предметная облать". В моем понимании предметная область в данном случае - определенная сфера деятельности с определенной схемой работы. К примеру, завод по производству к-л продукции с определенной схемой реализации. Изменнилась схема - изменилась предметная область, или определенный класс торговых фирм. Небольшой магазин, торгующий бижутерией, к примеру.
2. Что касается терминов. Цель моего выяснения состоит в том, чтобы выяснить набор терминов, понятий из "теории учета", рально полезных для проектирования БД.
Какая польза, к примеру, от понятия "дебет", кроме того, что это слово знают бухгалтеры? Ну не знаю я его, к примеру, ну и что? Можно отразаить изменение знаком, можно самому придумать как назвать этот маркер "колонка1" и "колонка2", к примеру. Короче, это понятие совершенно бессмысленное в сегодняшних условиях. То же самое касается "двойной записи" и "проводки". Тут можно привести цитату из книги т. Медведева "Общая теория учета" :
"Бухгалтерский учет призван отображать некоторые видоизменения объектов хозяйственной деятельности во времени; однако для этого имеется несколько способов. [/color] Есть веские основания полагать, что метод записи, избранный бухгалтерским учетом, не является оптимальным
Во как! Проводка, это только один из способов отразить изменение, причем не самый лучший. Так на кой мне этим голову засорять, лучше я сам что-нибудь придумаю...
Andrew Campbal,
"И через 10 лет ничего не изменится, можно писать книжки, публиковать в интернете "Сайт жаргонных слов по отраслям" :-)) но к единому целому никода не придем" -
А вот с этим я не согласен. До Дм. Менделеева, к примеру, думали, что разннобразие химических элементов не поддается никакой логике, а он эту логику нашел.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190599
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to wara
Знаешь когда бухучет возник? в 15 веке, даже Менделеева тогда еще не было! Тогда и сложились основные понятия "калькуляция","дебет","кредит","баланс", метод двойной записи.
С такой логикой ты мог бы сказать: "зачем мне знать как арабские цифры пишутся, я могу на пальцах/палочках/костях показать". :-))
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190622
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынник
И учет в те времена велся посредством баз данных?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190635
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Роман Дынник

Относительно Case средств я не стал бы обобщать. Я, например, использую в своей работе MS Visio и то только для того, что бы картинки рисовать. Тем более не стал бы утверждать, что формализовано все .
как я уже писал выше, управленческий учет поддается формализации процентов на 80 (внутри одной отрасли), IMHO

Относительно бухгалтерского учета могу сказать, что ни в одном проекте мне не удалось брать данные для управленческого учета из бухгалтерского (в части движения финансов). Да и термины (точнее показатели, а еще точнее способы их расчетов) в бухгалтерском учете и управленческом сильно различаются. Например, аванс от покупателя это дебиторская задолженность со знаком "-" в управленческом учете и кредиторская задолженность в бухгалтерском.
Дабы избежать путаницы, мы о каком учете говорим?

2 Wara
в пункте 1 один Вы говорите скорее об отрасли, а не о предметной области

Цель моего выяснения состоит в том, чтобы выяснить набор терминов, понятий из "теории учета", рально полезных для проектирования БД

поищите различные показатели деятельности компании и способы их расчета. Почитайти статьи по управленческому консалтингу. Некоторые ссылки из своих закладок (работоспособность не проверял):

Про CRM
Серевр по консалтингу
еще один
бюджетирование
словарь терминов и показателей
про аудит
постановка управления через ЦФО
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190641
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынник, вот именно, для учета на палочках, счетах и папирусе, эти понятия, в основном, и полезны.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190646
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varivan,
Спасибо за адреса. Почитаю.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190670
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, ребята, с вами не соскучишься. Все попытки перевести ветку в полезное русло получили крах. Продолжайте в том же духе сотрясать воздух.

использую в своей работе case только для того, что бы картинки рисовать.

вот именно, для учета на палочках, счетах и папирусе, эти понятия, в основном, и полезны.


Без комментариев.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190686
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Роман Дынник. А карточки складского учета были еще в Древнем Египте. И ничего, справлялся как-то народ. Напомню так же, что первоначально двойная бухгалтерия предназначалась только для учета финансовых операций. И служила для контроля ИТОГОВ, а не оперативной работы. А уже потом на нее навесили всяких "аналитик в натуральных единицах измерения". От чего она стала только хуже и запутаннее.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190706
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara
И учет в те времена велся посредством баз данных?

Любая запись на бумажке уже является БД. (Copyright Misrocoft)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190741
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Роман Дынник

использую в своей работе case только для того, что бы картинки рисовать.

Во первых не надо передергивать. В моем топике сказано, что используется Visio как графический редактор.
Во вторых, можно конечно, прикупить, например, Aris для отрисовки бизнес-процессов, но мне вполне хватает и Visio. По крайней мере пока.


2 Cat2
в свою очередь добавлю, что в настоящее время назначение бухгалтерского учета - подготовка отчетности для фискальных органов, что заставляет ставить бухгалтерию особняком от других видов учета (финансового и управленческого).
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190899
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Capmball
"Любая запись на бумажке уже является БД."
Хотелось бы уведеть тут обосновние (аргументацию) данного пассажа. С моей точки зрения это утверждение абсолютно ложное.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32190911
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынник
Предположим, Ваш знакомый купил джип. И ездит на нем только по гладкому шоссе. По-Вашему, надо с презрением высказать приятелю "Джип сконструирован для поездок по бездорожью. Использовать его для езды по шоссе - неправильно"? Думаю, приятель Вам ответит: "Мой джип, где хочу, там и езжу". И будет прав. (К вопросу об использовании Visio в качестве редактора диаграмм)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191322
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara

А что вы подразумеваете под словом База данных ?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191397
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Campball
Под понятием "База данных" я ничего не подразумеваю, я использую общепринятое значение этого словосочетания.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191408
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Campball
А определени такое.
Из подаренной этой ссылки:
База данных - совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ. База данных является информационной моделью предметной области. Обращение к базам данных осуществляется с помощью системы управления базами данных (СУБД).
Интересно, как у Вас получится к своей бумажке обратиться с помощью СУБД?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191480
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara
База данных - совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ. База данных является информационной моделью предметной области. Обращение к базам данных осуществляется с помощью системы управления базами данных (СУБД).

Под это определение вполне подойдет телефонная записная книжка с алфавитным указателем :). Правда, СУБД, в этом случае будет выступать хозяин этой книжки :)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191565
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varian,
Мне интересно, как тов. Campbal с использованием даже такого определения обоснует свое утверждение "Любая запись на бумажке уже является БД." Кстати, это определение взято с рекомендованнного Вами ресурса.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191603
Дикий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну пиздец бля, соплей развели, делом займитесь!
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191729
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara

IMHO, БД можно назвать любой носитель с данными, структурированными в определенном виде (о чем, собственно и говорится в приведенном Вами определении). Таким образом, если запись на бумажке сделана в соответствии с некоторыми правилами ее можно, наверное назвать БД.
А может и нет, но это вопрос уже скорее ближе к философии...
Вам так не кажется?
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191741
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varivan,
Да, но Andrew Campball утверждал, что "Любая запись на бумажке уже является БД." Не будем рассматривать, на бумажке эта запись или нет. Здесь все дело в слове "Любая", а не в бумажке даже. Любая, значит неструктурированная, неорганизованная информация на ней написана, и т.п.
С таким подходом можно прийти к тому, что исписанный матерными словами забор кто-нибудь признает Базой Данных на том основании, что там какие-то слова написаны. То есть в целом это утверждение истинным быть не может ни в каком случае.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191753
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varivan,
"А может и нет, но это вопрос уже скорее ближе к философии..."
Может это и к философии ближе, не знаю, но вопрос этот принципиальный. Является ли "бумажный учет" "Учетом посредством БД" или нет? Дело в том, что мы тут обсуждали следующий вопрос:
В период господства бумажного учета был придуман ряд терминов и методик - "двойная запись", "Проводка", "аналитики", и т.п. Если бумажный учет является неким подмножеством "учета посредствам БД", то изобретенные в тот период понятия и методики можно смело применять и в компьютерном учете. Если же компьютерный учет - нечто принципиально новое, а не просто перекладывание "бумажных методик" на компьютер, то применение вышеупомянутых понятий и методик не только необоснованно, но и вредно.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191768
Дикий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я хуею, народ, вы на тему то хоть иногда смотрите!
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191790
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Роман Дынник.
Согласен. Бухгалтерский учет в России сейчас превратился во что угодно, только не в учет финансовой деятельности предприятия. Практически это сейчас учет для вычисления налогов.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191819
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Cat2
Предлагаю все таки определеится с терминами в части видов учетов, что бы говорить на одном языке. Итак, существует несколько видов учета, получаемых из операций финансово-хозяйственной деятельности компании:
1) бухгалтерский. Цель - фискальная отчетность. Характеризуется тем, что формы отчетности и регламенты их ведения зафиксированы в нормативных актах.
2) финансовый. Цедь - представление информации о финансовой(!) деятельности компании за отчетный период (обычно мес, квартал, год) для внешних потребителей (акционеров). Характеризуется более либеральными формами отчетности, но тем не менее показатели в этих формах так же зафиксированы и зафиксированы методики их расчетов
3) управленческий учет. Внутренний учет в компании для целей управления. Как я уже писал выше, не существует однозначных рекомендаций относительно управленческого учета (только общий подходы). Все определяется потребностью компании.

2 wara
Если же компьютерный учет - нечто принципиально новое, а не просто перекладывание "бумажных методик" на компьютер, то применение вышеупомянутых понятий и методик не только необоснованно, но и вредно.

Ничего принципиально нового человечество давно не изобретало :) Как известно, компьютер умеет только складывать. Правда очень быстро. Если сильно утрировать, то компьютерный учет это именно перекладывание в т.ч. бумажных методик в компьютер с целью повышения скорости и точности обработки данных и повышения производительности бизнес процессов (в случае организации электронного документооборота). Более того, в случае автоматизации первичного учета (весь документооборот электронный) правильным является печать финальных документов и подшивание их в папочку :)

изобретенные в тот период понятия и методики можно смело применять и в компьютерном учете

смело [не задумываясь] применять ничего нельзя. Нужно применять разумно :)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32191866
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда Вы записываете любую (уже боюсь этого слова) информацию на бумаге то на подсознательном уровне уже упорядочиваете запись, поэтому с некоторой натяжкой такие записи можно назвать БД.
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32192041
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Campball,
Ну если Вам нравится считать любой набор букв и символов БД - это Ваше дело. Не надо только выдавfть это за какую-то истину, а не за свое личное мнение, да еще со ссылкой на третью фирму (Microsoft)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Принципы проектирования БД для учетных целей
    #32876435
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Александр_
Ну а если даже такую книгу написать, то наверное она будет называться "как
мы (я, они и т.п.) автоматизировали ..."

Взять к примеру 1С. Имеет решения для огромного круга задач, выпускается
огромным тиражом. При этом имеется масса фирм и специалистов, кто
занимается "тонкой" настройкой.

Ой-ой, я как-то заинтересовался структурой данных 1С. Обнаружил там одну и ту же цифру (сумма проводки) в трех местах, причем это была вроде как несложная 1С:Бухгалтерия 6.0
Плохой пример. Их надо приводить как пример грамотного маркетингового подхода :))
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32877113
Ферум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygra
Конечно не их - их задача рассказать то что знают программисту. Естественно то, чего он сам не знает.
Но уж если ничего совсем - то тут чем поможешь?


Как раз задача программиста - объяснить бухгалтерам, что они хотят :)
...
Рейтинг: 0 / 0
Принципы проектирования БД для учетных целей
    #32877948
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ферумtygra
Конечно не их - их задача рассказать то что знают программисту. Естественно то, чего он сам не знает.
Но уж если ничего совсем - то тут чем поможешь?


Как раз задача программиста - объяснить бухгалтерам, что они хотят :)
Так обычно рождаются программы-уродцы для однократного использования.
Программистам тоже объяснять надо, не менее долго :))
...
Рейтинг: 0 / 0
204 сообщений из 204, показаны все 9 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Принципы проектирования БД для учетных целей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]