|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
Cane Cat FisherПопытаюсь подвести какие-то итоги: 1. ТС обнаружил, что существующие документы бухучета не полностью удовлетворяют нуждам бизнеса, так как описывают не все интересные события с товаром. Тема совершенно о другом вообще-то. При чем документы бухучета - не понятно. Ну пусть это будет не бухучет... Речь о самой парадигме построения системы, что является отправной точкой: документ, который порождает действие(я) (транзакцию) или действие, которое в итоге порождает один или несколько этих самых документов. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2012, 14:46 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
Cane Cat FisherЗагадочная сущность "действие" притянута за уши, ибо четкого определения или примера так никто и не привел. почему она загадочная? Обычная транзакция, свершение какого-то события. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2012, 14:47 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
Cane Cat FisherХм. Чтобы переложить из корзины "Свободные остатки" в корзину "Резерв", надо сначала придумать корзину "Свободные остатки". Ведь бухучет таковой не содержит - он предлагает "Остатки на складе" вообще. В которой товар должен остаться, независимо от того, свободен он или зарезервирован. Намечается картина маслом: счет "Остатки на складе", и к нему субсчета "Свободные остатки", и "Зарезервированные остатки" - этот в разрезе аналитики по клиентам-резервистам. если вопрос только в остатках, то не нужно никаких корзин и субсчетов просто при показе остатка даем две цифры: реальный остаток (по проведенным, или исполненным документам), и остаток с учетом резерва (т.е. с остатка вычитаем количество товара в документах с состоянием резерв) а можно еще добавить остаток с учетом товара в пути (планируемый приход) и еще масса других вариантов а структура данных будет та же - две таблицы ЗЫ: а вообще тема ни очем - ТС пора в отпуск :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2012, 15:53 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
iscrafmCane Cat FisherЗагадочная сущность "действие" притянута за уши, ибо четкого определения или примера так никто и не привел. почему она загадочная? Обычная транзакция, свершение какого-то события. Все придумано до нас - CQRS. Для него есть готовые фреймворки, описание паттерна и терминология. В команде не выполняются никакие действия, это делается в обработчиках событий, которых может быть надцать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2012, 16:19 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
vill_ager ЗЫ: а вообще тема ни очем - ТС пора в отпуск :) однозначно! да я сам удивился, что такое обсуждение. а вопрос задавал, потому что уж очень крамольно (не по 1Сному!) все и как всегда нужна поддержка социума. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2012, 18:37 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
iscrafmSeVaпропущено... А ты хотя бы раз напрягся и попробовал что-то осилить кроме своего лисапеда. а какой у меня лисапед? СеВа пытается рассказать всем, что мир (объекты/факты, состояния и события) можно описывать через ДДД, так как он является "клериком" этого учения. В принципе, если мир документов рассматривать с точки зрения этой идеи, то можно создать "заменитель документов", но из-за желания "универсальности" (фабрики-фабрик и т.п.), достаточно простой учет все время усложняют, пытаясь остаться в рамках парадигмы. п.с. Напомнило «Казалось бы, зачем убийце убивать убийцу убийцы, но Донцову уже было не остановить… ». (с) не мое ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2012, 09:51 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
andr_andrey, это понятно. Здесь вопрос немного в другом: он называет велосипедом то, что создано гораздо раньше того, что он считает прародителем. Т.е. банальное незнание, путаница во времени и в том, кто кого "велосипедирует". Нельзя "велосипедировать" детей, логика нарушена. что касается ДДД согласен, просто по другому не смогли. Про Донцову как раз в точку. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2012, 11:32 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
andr_andreyiscrafmпропущено... а какой у меня лисапед? СеВа пытается рассказать всем, что мир (объекты/факты, состояния и события) можно описывать через ДДД, так как он является "клериком" этого учения. В принципе, если мир документов рассматривать с точки зрения этой идеи, то можно создать "заменитель документов", но из-за желания "универсальности" (фабрики-фабрик и т.п.), достаточно простой учет все время усложняют, пытаясь остаться в рамках парадигмы. п.с. Напомнило «Казалось бы, зачем убийце убивать убийцу убийцы, но Донцову уже было не остановить… ». (с) не мое Мифический мир "документов" есть только в 1С, где привыкли ехать на телеге впереди сивой кобылы. Вам вредно о забивать себе голову подобными глупостями, все равно ничего другого не будет. Цепочка из внешнего воздействия на систему->команда->аггрегирующий домен для оркестровки событий и данных->событие->event sourcing для логирования и возможности восстановить состояние на определенный момент->отдельные с единичной ответственностью, а не в одной большой, вонючей куче обработчики событий, которые могут быть локальные или удаленные, весьма неплохо подходят для многих вариантов. Этот паттерн позволяет существенно упростить логику обработки в достаточно внятном варианте. А простота она хуже воровства, если нет никакой возможности для маневров в дальнейшем. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2012, 20:49 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
SeVaМифический мир "документов" есть только в 1С, где привыкли ехать на телеге впереди сивой кобылы. Вам вредно о забивать себе голову подобными глупостями, все равно ничего другого не будет. Цепочка из внешнего воздействия на систему->команда->аггрегирующий домен для оркестровки событий и данных->событие->event sourcing для логирования и возможности восстановить состояние на определенный момент->отдельные с единичной ответственностью, а не в одной большой, вонючей куче обработчики событий, которые могут быть локальные или удаленные, весьма неплохо подходят для многих вариантов. Этот паттерн позволяет существенно упростить логику обработки в достаточно внятном варианте. А простота она хуже воровства, если нет никакой возможности для маневров в дальнейшем. К сожалению, "мир документов" он не мифический, именно на нем 1С выехал впереди планеты всей на 1/6 суши. Конечно 1С не покрывает "реальный мир документов", за счет этого и живет армия программистов-1Сников, допиливает, переделывает. Но вопрос темы не в этом, а в том, что отказ от одной парадигмы требует другой, и не факт, что новая будет понятна большинству пользователей. А не будет понимания от пользователей, не будет продаж вашего супер-мега-удобного продукта. Да, я - сторонник простых понятных инструментов и парадигм для простых исполнителей, и еще ни разу не видел тупиков с невозможностью маневра. Интересуют примеры таких "тупиков", расскажете? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 14:56 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
Маленькое дополнение к предыдущему сообщению: Примеры тупиков хочется видеть именно в контексте темы, а именно товарооборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 15:03 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
Ну, я полностью согласен с автором, эта парадигма ущербна и избыточна. Есть базы документальные, есть фактографические. Я не знаю, о чём думали люди проектирующие всю логику вокруг документов, это живёт только в той среде, где процессы устаканены и документооборот испытан годами. Берём склад для примера. Расход(факт) одного товара со склада может быть ознаменован наличием документов нескольких различных типов: акт списания, акт изъятия, приём с другого склада, акт затарки, отгрузка и пр... Документы эти разложены по различным группам таблиц. Задача: собрать всю расход по складу за период. Получается 3-х этажная SQL-конструкция, в процессе написания которой она покрываемая 3-х этажными матами. Теперь посмотрим на обслуживание такого кода: реализация нового типа расходного документа в таких системах требует множественных модификаций существующих механизмов "выявления фактов" по документам. Плюсом ко всему ложится дублирование логики модулей. Я сейчас работаю с такой же системой, унаследованной из 90-х. Жёстко это! Фактографический подход: учитываем складские операции, проводимые вживую с товаром, в одном журнале. Т.е., есть товар и история операций (с указанием специфических для данной операции параметров). А документы при этом.... они никуда не деваются, они к товару/операциям цепляться в данном случае должны в виде пакетов документов: грузовые, приходные и пр. документы. Суть в том, что в БД должен лежать товар и вся необходимая фактическая информация по нему, чтобы печатались отчёты, строились кубы и заказчики видели остатки на складе при помощи одного селекта к БД, не зависящего от набора документов и прочих внешних факторов. Мне было бы интересно посмотреть на фрикции "разработчиков-документаторов" в условиях развития/наращивания процессов в компании, когда внутренний документооборот растёт или меняется каждый месяц, когда прототипы ПО не успевают пройти этапы тестовой эксплуатации, и становятся просто непригодными через неделю. Я использую такую методику: видя перед собой модель документа, понять его действие и субъекты - что произошло и с чем это произошло, далее формируем объекты и классы фактов в контексте действия (действие исходного документа). Имея факты, можно формировать любые документы, а также система имеет перспективы вырасти из простой учётной (ввели данные по складу - увидели отчёты на выходе) в управляющую (когда оно само управляет процессами на складе, следит за размещением, даёт задания людям и выплёвывает отчёты куда указано); такие системы у западных товарищей уже есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2012, 02:10 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
Да, и ещё для ТС, посмотрите на модели учёта мат. ресурсов в готовых ERP-системах. Там скорее всего вы найдёте ответы на свои вопросы: "какую структура данных организовать. Сделать аналог параллельного бухучета? Завести этакий журнал операций? А в документах ввести поле - состояние товара, которое вычислять в зависимости от проведенных операций ?". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2012, 02:21 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
Впишусь в холивар по поводу "Действия". Действие всегда первично, а документ - это его подтверждение. Пример: акт приёма -> подтверждает факт приёмки на склад Предположим привезли 30 мешков цемента на склад, а в накладной обнаружилась ошибочка. Накладную люди обещают завтра к этой партии привезти задним числом. Типичная ситуация в России. В базу будет накладная вбита без её бумажного наличия. Вот и получается, что документ в БД в данном случае не равен бумажному носителю, а отражает факт прибытия груза. Насчёт складских операций без документов, к примеру перемещение из одного яруса в другой, маркировка... Вообще, документы могут оформляться непосредственно перед отгрузкой товара, а факт необходимо учитывать сейчас. Это как бухгалтерский и управленческий учёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2012, 02:39 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
SeVaМифический мир "документов" есть только в 1С, где привыкли ехать на телеге впереди сивой кобылы. Вам вредно о забивать себе голову подобными глупостями, все равно ничего другого не будет. Цепочка из внешнего воздействия на систему->команда->аггрегирующий домен для оркестровки событий и данных->событие->event sourcing для логирования и возможности восстановить состояние на определенный момент->отдельные с единичной ответственностью, а не в одной большой, вонючей куче обработчики событий, которые могут быть локальные или удаленные, весьма неплохо подходят для многих вариантов. Этот паттерн позволяет существенно упростить логику обработки в достаточно внятном варианте. А простота она хуже воровства, если нет никакой возможности для маневров в дальнейшем. Да, кстати про 1С. Параллельная система в компании для которой я делаю программу - это 1С. Так вот у них там бредовый бред с "учетом на основе документов". Например есть такие виды "документов": - "Накладная б/д" - сие означает, что по этому документу должна быть произведена отгрузка Б ез Д окументов реализации для налогового учета. Пометка б/д в названии документа говорит менеджеру очень многое (этакое зашифрованное, сжатое в аббревиатуру послание) : а) по документу можно отгрузить, но нельзя печатать по нему Счет-фактуру и Накладную, поскольку формы были предоставлены ранее, до отгрузки. б) Данная отгрузка является не полной, есть некий документ (обычная Накладная), содержащий полный список товаров. - "Счет резерв" - слово резерв означает, что по счету не предполагается реальной отгрузки и даже не предполагается резервирования на складе компании, а всего лишь нужно придержать товар на складе головного предприятия, пока продажники трут терки с клиентом. - "Счет реализация" - счет, по которому нужно произвести все реальные операции. Конечно, используется функция "Создать на основании", но суть в том, что недостающий функционал закрывается изобретением подвидов документов, у которых почти все необходимое для работы кодируется в названии и соответствующий порядок обработки и интерпретация данных - полностью ответственность операторов. Производится многократное дублирование информации, которая размазывается, размывается по различным копиям одного и того же. Также, по причине дублирования, есть определенные проблемы с отчетностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2012, 08:54 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
Склько можно обсуждать простую вещь жизнь изделия (услуги и т.д.) - это череде процессов (технологических, производственных, логистических, ...) определенные классы процессов частично и до какого то уровня абстракции регламентированы (эти регламенты часто и несогласованно меняются) определенными внешним по отношению к предприятию игроками (ГОСТ, ОСТ, ПБУ, ТУ,...) (обычно эти абстракции несогласованы) много чего никем не регламентирован и эти регламенты вводятся в предприятии (СТП) по мере осознании общности (т.е. классифицируется) потому - система которая следит за жизненным циклом изделия должна ориентироваться на процессы (в том числе никем не регламентированные) благо процессы эти можно описать универсальным набором шаблонов (Трансформация, Перемещение, Хранение) процессы эти могут быть отоброжены на разные регламенты ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2012, 10:12 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
AlexsalogSeVaМифический мир "документов" есть только в 1С, где привыкли ехать на телеге впереди сивой кобылы. Вам вредно о забивать себе голову подобными глупостями, все равно ничего другого не будет. Цепочка из внешнего воздействия на систему->команда->аггрегирующий домен для оркестровки событий и данных->событие->event sourcing для логирования и возможности восстановить состояние на определенный момент->отдельные с единичной ответственностью, а не в одной большой, вонючей куче обработчики событий, которые могут быть локальные или удаленные, весьма неплохо подходят для многих вариантов. Этот паттерн позволяет существенно упростить логику обработки в достаточно внятном варианте. А простота она хуже воровства, если нет никакой возможности для маневров в дальнейшем. Да, кстати про 1С. Параллельная система в компании для которой я делаю программу - это 1С. Так вот у них там бредовый бред с "учетом на основе документов". Например есть такие виды "документов": - "Накладная б/д" - сие означает, что по этому документу должна быть произведена отгрузка Б ез Д окументов реализации для налогового учета. Пометка б/д в названии документа говорит менеджеру очень многое (этакое зашифрованное, сжатое в аббревиатуру послание) : а) по документу можно отгрузить, но нельзя печатать по нему Счет-фактуру и Накладную, поскольку формы были предоставлены ранее, до отгрузки. б) Данная отгрузка является не полной, есть некий документ (обычная Накладная), содержащий полный список товаров. - "Счет резерв" - слово резерв означает, что по счету не предполагается реальной отгрузки и даже не предполагается резервирования на складе компании, а всего лишь нужно придержать товар на складе головного предприятия, пока продажники трут терки с клиентом. - "Счет реализация" - счет, по которому нужно произвести все реальные операции. Конечно, используется функция "Создать на основании", но суть в том, что недостающий функционал закрывается изобретением подвидов документов, у которых почти все необходимое для работы кодируется в названии и соответствующий порядок обработки и интерпретация данных - полностью ответственность операторов. Производится многократное дублирование информации, которая размазывается, размывается по различным копиям одного и того же. Также, по причине дублирования, есть определенные проблемы с отчетностью. Читаю сейчас Фаулера, вот что там написано: авторГлава 2 Организация бизнес-логики Рассматривая структуру логики предметной области (или бизнес-логики) приложения, я изучаю варианты распределения множества предусматриваемых ею функций по трем типовым решениям: сценарий транзакции (Transaction Script), модель предметной об¬ласти (Domain Model) и модуль таблицы (Table Module). Простейший подход к описанию бизнес-логики связан с использованием сценария транзакции — процедуры, которая получает на вход информацию от слоя представления, обрабатывает ее, проводя необходимые проверки и вычисления, сохраняет в базе данных и активизирует операции других систем. Затем процедура возвращает слою представле¬ния определенные данные, возможно, осуществляя вспомогательные операции для фор¬матирования содержимого результата. Бизнес-логика в этом случае описывается набором процедур, по одной на каждую (составную) операцию, которую способно выполнять при¬ложение. Типовое решение сценарий транзакции, таким образом, можно трактовать как сценарий действия, или бизнес-транзакцию. Оно не обязательно должно представлять собой единый фрагмент кода. Код делится на подпрограммы, которые распределяются между различными сценариями транзакции. Типовое решение сценарий транзакции отличается следующими преимуществами: • представляет собой удобную процедурную модель, легко воспринимаемую всеми разработчиками; • удачно сочетается с простыми схемами организации слоя источника данных на основе типовых решений шлюз записи данных (Row Data Gateway) и шлюз таб¬лицы данных (Table Data Gateway); • определяет четкие границы транзакции. С возрастанием уровня сложности бизнес-логики типовое решение сценарий транзак¬ции демонстрирует и ряд недостатков. Если нескольким транзакциям необходимо осуще¬ствлять схожие функции, возникает опасность дублирования фрагментов кода. С этим явлением удается частично справиться за счет вынесения общих подпрограмм "за скоб¬ки", но даже в этом случае большая часть дубликатов остается на месте. В итоге прило¬жение может выглядеть как беспорядочная мешанина без отчетливой структуры. Конечно, сложная логика — это удачный повод вспомнить об объектах, и объектно-ориентированный вариант решения проблемы связан с использованием модели пред¬метной области, которая, по меньшей мере в первом приближении, структурируется преимущественно вокруг основных сущностей рассматриваемого домена. Так, например, в лизинговой системе следовало бы создать классы, представляющие сущности "аренда", "имущество", "договор" и т.д., и предусмотреть логику проверок и вычислений: так, на¬пример, объект, представляющий сущность "имущество", вероятно, уместно снабдить логикой вычисления стоимости. Выбор модели предметной области в противовес сценарию транзакции — это как раз та смена парадигмы программирования, о которой так любят говорить апологеты объект¬ного подхода. Вместо использования одной подпрограммы, несущей в себе всю логику, которая соответствует некоторому действию пользователя, каждый объект наделяется только функциями, отвечающими его природе. Если прежде вы не пользовались моделью предметной области, процесс обучения может принести немало огорчений, когда в поис¬ках нужных функций вам придется метаться от одного класса к другому. Различие между двумя рассматриваемыми подходами на простом примере описать довольно сложно, но я все-таки попытаюсь это сделать. Простейший способ состоит в сопоставлении диаграмм последовательностей (sequence diagrams), соответствующих обо¬им вариантам решения одной проблемы (рис. 2.1 и 2.2). В задаче определения зачтенного дохода от продажи каждого продукта в рамках за¬данного контракта (подробнее это рассматривается в главе 9, "Представление бизнес-логики") алгоритм вычислений зависит от типа продукта. Вычислительный метод дол¬жен распознать тип продукта, применить подходящий алгоритм, а затем создать соответ¬ствующий объект, представляющий значение дохода. (Аспекты взаимодействия с базой данных для простоты здесь не рассматриваются.) Из рис. 2.1 видно, что все обязанности возлагаются на метод сценария транзакции, полу¬чающий данные от объектов типа шлюз таблицы данных. На рис. 2.2 показано, напротив, несколько объектов, каждый из которых несет ответственность за выполнение своей доли функций, а результат генерируется объектом "Стратегия определения зачтенного дохода". Ценность модели предметной области состоит в том, что, освоившись с подходом, вы получаете в свое распоряжение множество приемов, позволяющих поладить с возрас¬тающей сложностью бизнес-логики "цивилизованным" путем. Например, с увеличением количества алгоритмов расчета дохода достаточно создавать новые объекты "Стратегия определения зачтенного дохода". При использовании сценария транзакции в аналогичной ситуации пришлось бы добавлять в логику метода дополнительные условия. Если вы на¬столько же неравнодушны к объектам, как и я, то наверняка предпочтете модель предмет¬ной области даже в самых простых случаях. Стоимость практической реализации модели предметной области обусловлена степе¬нью сложности как самой модели, так и конкретного варианта слоя источника данных. Чтобы добиться успехов в применении модели, новичкам придется затратить немало времени: некоторым требуется несколько месяцев работы над соответствующим проек¬том, прежде чем их стиль мышления перестроится в нужном направлении. После приоб¬ретения опыта работать становится намного проще — в вас даже просыпается энтузиазм. Через все это прошел и я, и все другие, кто так же одержим объектной парадигмой. Впро¬чем, сбросить груз привычек и сделать шаг вперед многим, к сожалению, так и не удается. Разумеется, каким бы ни был подход, необходимость отображать содержимое базы данных в структуры памяти и наоборот все еще остается. Чем более "богата" модель предметной области, тем сложнее становится аппарат взаимного отображения объектных структур в реляционные (обычно реализуемый на основе типового решения преобразова¬тель данных (Data Mapper)). Сложный слой источника данных стоит дорого — в финансовом смысле (если вы приобретаете услуги сторонних разработчиков) или в от¬ношении затрат времен (если беретесь за дело самостоятельно), но если он у вас есть, считайте, что добрая половина проблемы уже решена. Существует и третий вариант структуризации бизнес-логики, предусматривающий применение типового решения модуль таблицы; он показан на рис. 2.3. На первый взгляд это типовое решение очень похоже на модель предметной области: в обоих случаях создаются отдельные классы, представляющие контракт, продукт и за¬чтенный доход. Принципиальное различие заключается в том, что модель предметной об¬ласти содержит по одному объекту контракта для каждого контракта, зафиксированного в базе данных, а модуль таблицы является единственным объектом. Модуль таблицы при¬меняется совместно с типовым решением множество записей (Record Set). Посылая запросы к базе данных, пользователь прежде всего формирует объект множество записей, а затем создает объект контракта, передавая ему множество записей в качестве аргумента (см. рис. 2.3). Если потребуется выполнять операции над отдельным контрактом, следует сообщить объекту соответствующий идентификатор (ID). Модуль таблицы во многих смыслах представляет собой промежуточный вариант, компромиссный по отношению к сценарию транзакции и модели предметной области. Организация бизнес-логики вокруг таблиц, а не в виде прямолинейных процедур облегчает структурирование и возможность поиска и удаления повторяющихся фрагментов кода. Однако решение модуль таблицы не позволяет использовать многие технологии (скажем, наследование (inheritance), стратегии (strategies) и другие объектно-ориенти¬рованные типовые решения), которые применяются в модели предметной области для уточнения структуры логики. Наибольшее преимущество модуля таблицы состоит в том, как это решение сочетается с остальными аспектами архитектуры. Многие графические интерфейсные среды позво¬ляют работать с результатами обработки SQL-запроса, организованными в виде множества записей. Поскольку решение модуль таблицы также основано на использовании множества записей, открывается возможность выполнения запроса, манипулирования его результатом в контексте модуля таблицы и передачи данных графическому интерфейсу для отображения. Некоторые платформы, в частности Microsoft COM и .NET, поддерживают именно такой стиль разработки. Рекомендую почитать: Мартин Фаулер. Архитектура корпоративных программных приложений. 2006. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2012, 16:29 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
-=*ShamaN*=-, чушь ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2012, 18:04 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
ViPRos-=*ShamaN*=-, чушь Мне кажется, что вы далеки от проектирования ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2012, 23:38 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
-=*ShamaN*=-, то что ты выкладываешь сюда какой то поток сознания какого то фулера не дает тебе право выступать в роли арибитра ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2012, 00:10 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
ViPRos-=*ShamaN*=-, то что ты выкладываешь сюда какой то поток сознания какого то фулера не дает тебе право выступать в роли арибитра этот поток основан на best practices patterns, необязательно "фулера" читать, можно просто паттерны изучить... для проектировщика это необходимо в том случае, если он не хочет получить систему на "принятой еще в 90-ых парадигме" А арбитр, это потому что, критику без обоснования ("чушь") не приемлю ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2012, 01:38 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
ViPRos, вы по теме что-нибудь изложите... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2012, 01:43 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2012, 11:21 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
-=*ShamaN*=-Расход(факт) одного товара со склада может быть ознаменован наличием документов нескольких различных типов: акт списания, акт изъятия, приём с другого склада, акт затарки, отгрузка и пр... Документы эти разложены по различным группам таблиц. ... Фактографический подход: учитываем складские операции, проводимые вживую с товаром, в одном журнале. Ага. А если всех мух сложить вместе - получится котлета. Не путайте идеи с реализацией. Документы различных типов могут жить в одной таблице, или в разных, или в каких-то комбинациях, но на типы документов это никак не повлияет. -=*ShamaN*=-Предположим привезли 30 мешков цемента на склад, а в накладной обнаружилась ошибочка. Накладную люди обещают завтра к этой партии привезти задним числом. Типичная ситуация в России. В базу будет накладная вбита без её бумажного наличия. Вот и получается, что документ в БД в данном случае не равен бумажному носителю, а отражает факт прибытия груза. Опять бред. Если Вы уж взяли склад для примера, могли бы знать, что такая ситуация считается неотфактурованной поставкой, и приходуется не по накладной, а по акту о приемке материалов, как мудро указывает нам Положение о складском бухучете ПБУ-5. Так что БД и в этом случае полностью "равна бумажному носителю", только не тому ошибочному, что поставщик унес засунуть себе в.., а правильному акту. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2012, 13:41 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
Cane Cat Fisher-=*ShamaN*=-Расход(факт) одного товара со склада может быть ознаменован наличием документов нескольких различных типов: акт списания, акт изъятия, приём с другого склада, акт затарки, отгрузка и пр... Документы эти разложены по различным группам таблиц. ... Фактографический подход: учитываем складские операции, проводимые вживую с товаром, в одном журнале. Ага. А если всех мух сложить вместе - получится котлета. Не путайте идеи с реализацией. Документы различных типов могут жить в одной таблице, или в разных, или в каких-то комбинациях, но на типы документов это никак не повлияет. -=*ShamaN*=-Предположим привезли 30 мешков цемента на склад, а в накладной обнаружилась ошибочка. Накладную люди обещают завтра к этой партии привезти задним числом. Типичная ситуация в России. В базу будет накладная вбита без её бумажного наличия. Вот и получается, что документ в БД в данном случае не равен бумажному носителю, а отражает факт прибытия груза. Опять бред. Если Вы уж взяли склад для примера, могли бы знать, что такая ситуация считается неотфактурованной поставкой, и приходуется не по накладной, а по акту о приемке материалов, как мудро указывает нам Положение о складском бухучете ПБУ-5. Так что БД и в этом случае полностью "равна бумажному носителю", только не тому ошибочному, что поставщик унес засунуть себе в.., а правильному акту. В данном конкретном случае - все красиво. А подскажите, поставщик с новыми документами приедет, подвезет значит правильные документы, а товар уже оприходован по некому акту. Но документы, которые привез поставщик, тоже надо занести в систему. И получается там - и Акт и Накладная (уже правильная). Вот эта дублирование и наслаивание документов меня всегда сбивали с толку когда нужно было перекладывать на программу. Что приемку надо сделать по Акту - я согласен. Это как расписка. Но речь о системе и о технической реализации. Дело в том что Накладную все же желательно будет провести, чтобы она не болталась в не-проведенных и не портила принцип раскладывания по стопочкам. Но и Акт уже проведен. Товар приходуется дважды - это если в лоб. А как бы вы реализовали это в электронном виде, в таком случае ? Я реализовывал всегда так, что документ всегда окончательный и правильный. Если непременно опираться на документы и копировать бумажную схему, то мне видится несколько запутанная система указания взаимозависимостей и последующего исключения дубликатов при формировании отчетов. Радости не вызывает. Можно на основе фактографии как сделать: сделать иерахическую множественную запись в БД о том, что товар такой то приехал от такого то поставщика и поставить статус - "действительно". Потом указать в неких специальных полях, что сначала была предоставлена Накладная - неверная и приемка была по Акту, потом окончательные дата и номер правильной Накладной. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2012, 15:03 |
|
Отказ от парадигмы - документ=действие
|
|||
---|---|---|---|
#18+
AlexsalogДело в том что Накладную все же желательно будет провести, чтобы она не болталась в не-проведенных и не портила принцип раскладывания по стопочкам. Вот этот момент меня поражает. Что значит - "желательно провести"? Что, были идеи ее не проводить, если нежелательно? Накладная в этом случае - столь же важный документ, как и сам Акт о приемке товара. Она, как минимум, точно определяет поставщика (ведь при полном отсутствии документов он, вообще говоря, сначала может быть неизвестен), и, скорее всего, меняет цену приехавшего товара - ведь в отсутствии документов товар приходуется по некой среднепотолочной цене. Так что для бухгалтерии эта накладная - как манна небесная, с кучей сложный проводок. AlexsalogНо документы, которые привез поставщик, тоже надо занести в систему. И получается там - и Акт и Накладная (уже правильная). Вот эта дублирование и наслаивание документов меня всегда сбивали с толку когда нужно было перекладывать на программу. Это не дублирование и не наслаивание, это четкий бизнес-процесс, состоящий из последовательности действий. И не его вина, если он не описывается Вашим загадочным "принципом раскладывания по стопочкам". Просто вовремя привезенная накладная соответствует одному набору проводок (приход), не вовремя - другому (переоценка). А акт - третьему. Что здесь заоблачного? AlexsalogЯ реализовывал всегда так, что документ всегда окончательный и правильный. Прелестно. А если накладную подвезут только через месяц? А завтра инвентаризация? А послезавтра Новый год? Прикажете жить в "неокончательном и неправильном" состоянии? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2012, 16:30 |
|
|
start [/forum/topic.php?fid=33&msg=37851930&tid=1547829]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
others: | 327ms |
total: | 511ms |
0 / 0 |