powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Актуализация при вмешательстве в прошлое.
64 сообщений из 64, показаны все 3 страниц
Актуализация при вмешательстве в прошлое.
    #33986856
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Практически ни разу не встречал в описании на учетные системы акцента на алгоритм указанный в теме.
Похоже ВСЕ учетные системы при отражении фактов хоз. деятельности, кроме регистрации параметров события формируют сводные значения, используя имеющиеся данные и данные определенные событиями предшествующих периодов. Кроме того алгоритмы обработки текущих событий также могут использовать те же сводные значения. Пожалуй таким, самым распространенным параметром является складская цена ТМЦ. Все это прекрасно работает при условии введения новых значений "поверх" существующих. Что происходит когда изменяюся параметры данных в прошлом? Будем иметь в виду параметры оказывающие влияние на будущие периоды, а также операции ссылающиеся на сводные итоги по таким параметрам. Для примера приведу решения реализованные 1С-е. Кроме явной отмены и последующего нового проведения требуется следующая фоновая поддержка:
1. Для перепроведения документа в прошлом нужна подгонку зависимых сводных значений на этот момент. Это так называеиый временный расчет.
2. Поскольку по факту перепроведения может быть нарушена актуальность документов проведенных выше точки вмешательства, задействуется механизм последовательностей, который повторит процедуру пункта 1 для всех документов включенных в последовательнось.
3. Документы использованные в последовательности могут исказить актуальность документов других последовательностей. Придется повторить процедуру 2.
Подводные и надводные камни этого решения. Исполнение пункта два в рукопашном и похоже в монопольном режиме. Формирование последовательностей основано на человеческих факторах и не гарантирует достоверной отчетности по системе в целом. Ресурсы затрачиваемые при этом могут достич критических значений.
Хотелось бы услышать от уважаемой публики: Как еще в мире решена, решается или может быть решена проблема сабжа?
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33986922
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_Alex
Хотелось бы услышать от уважаемой публики: Как еще в мире решена, решается или может быть решена проблема сабжа?
В мире не используют 1С и применяют по нормальному процедуру постинга, а не галочки переключают. Поэтому таких проблем не возникает.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33987118
Сисой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm Uncle_Alex
Хотелось бы услышать от уважаемой публики: Как еще в мире решена, решается или может быть решена проблема сабжа?
В мире не используют 1С и применяют по нормальному процедуру постинга, а не галочки переключают. Поэтому таких проблем не возникает.

Совершенно верно.
И в 1С это, кстати, тоже довольно легко реализуется.
В основном административными мерами.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33987183
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сисой
И в 1С это, кстати, тоже довольно легко реализуется.
В основном административными мерами.

Меня в общем то интересуют алгоритмические решения, а не административные.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33987294
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алгоритмически:
- Проверить возможность отката
- Если возможно, выполнить каскадный откат, после правки выполнить повторный постинг
- если откат запрещен - предложить сторнирующие записи.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33987358
Фотография Гликоген
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвыполнить каскадный откат
авторвыполнить повторный постинг

Потому в тиражные ИС эту возможность и не включают. Потому что на существующих технологиях РСУБД и типичных объемах данных эта операция может быть только пакетной.

Либо идут путем упрощения структур и прог.модулей проведения, расчета итогов, с сопутствующими потерями в функционале.

Либо используют постреляционные СУБД.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33987409
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не теряю функционал и не использую постреляционные субд, по крайней мере сейчас. Но процедуры постинга работают так, как написано.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33987572
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответа на вопрос, зачем, как и в каких случаях подобные задачи решать, четкого и однозначного нет. Как вы "перепроведете" документы, в которых цена ранее уже была посчитана, документы выданы на руки клиентам и эти клиенты разъехались по странам и весям?
Когда-то Дед Маздай на форуме по MS SQL Server приводил байку про девушку, которая по ошибке сунула конверт с деньгами в шредер, и теперь ей нужно этот конверт с деньгами восстановить... Задача примерно такого же плана... :)
Откатить, перепровести, переделать - всё это можно только в определенных рамках. Вообще же жизнь изначально устроена так, что "дважды в одну реку войти не получаится". Поэтому каждый в каждой конкретной ситуации думает, как можно из нее выкрутиться (если можно) персонально-индивидуально. Запускать же алгоритмы, которые будут оценивать "обратимость" или "перепроводимость" операций - это все равно, что пытаться сотворить Землю в 3 дня. И никакие "постреляционные СУБД" решить задачу вталкивания в принтер уже распечатанной накладной с превращением ее в чистый лист - ну не помогут... :) ПМСМ.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33987663
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmАлгоритмически:
- Проверить возможность отката
- Если возможно, выполнить каскадный откат, после правки выполнить повторный постинг
- если откат запрещен - предложить сторнирующие записи.

Сторнирующие записи - это наследие возможностей бумажного учета?

Как Вы себе представляете сторнирование отчетности эффективности продаж по куче покупателей помноженной на не меньшую кучу товара, после коррекции себестоимости приходования импортного товара, ввиду актуализации сумм затрат на доставку и таможенную очистку?
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33987666
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторХотелось бы услышать от уважаемой публики: Как еще в мире решена, решается или может быть решена проблема сабжа?
www.petroglif.ru
Весь учет ведется без каких-либо предположений о том, что документы проводятся текущим числом. Другими словами, система инвариантна к дате проведения документа.
Все проверки и пересчеты осуществляет "на лету". Остаток товара по лотам контролируется на ненулевое значение для каждого момента времени. То есть, если вы проводите документ задним чилом, и после проведения остаток в какой-либо момент станет отрицательным, то система выругается и не разрешит проведение. Если все ОК, то все пересчеты будут выполнены автоматически и очень быстро.
Это касается как товарных остатков, так и бухгалтерских проводок, связанных с документами - все пересчеты оборотов и остатков по счетам делаются автоматически.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33987696
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_AlexКак Вы себе представляете сторнирование отчетности эффективности продаж по куче покупателей помноженной на не меньшую кучу товара, после коррекции себестоимости приходования импортного товара, ввиду актуализации сумм затрат на доставку и таможенную очистку?
Отчетность не сторнируется. Актуальные данные вводятся в систему по мере из появления. Зачем сторнировать что-то?
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33987759
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GaryaКак вы "перепроведете" документы, в которых цена ранее уже была посчитана, документы выданы на руки клиентам и эти клиенты разъехались по странам и весям?
Хвала всевышнему :)
Речь не шла об изменениях параметров документа введенных непосредственно оператором. Имелась в виду себестоимость/цена списания, которая извлекается системой самостоятельно. Вот она то при вмешателство в прошлое и может оказаться не актуальной для более поздних по оси времени операций.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988011
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_AlexРечь не шла об изменениях параметров документа введенных непосредственно оператором. Имелась в виду себестоимость/цена списания, которая извлекается системой самостоятельно. Вот она то при вмешателство в прошлое и может оказаться не актуальной для более поздних по оси времени операций.
Все зависит от того, какой процент рентабельности заложен в продажную цену товара. Это просто пища для размышления при анализе эффективности продаж, не более. Что Вас так смущает? Бывает и за три года себестоимость пересчитываем, ничего страшного, кроме 5 минут ожидания. Главное бух. не трогать.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988038
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sobolev
www.petroglif.ru
Весь учет ведется без каких-либо предположений о том, что документы проводятся текущим числом. Другими словами, система инвариантна к дате проведения документа.
Все проверки и пересчеты осуществляет "на лету". Остаток товара по лотам контролируется на ненулевое значение для каждого момента времени. То есть, если вы проводите документ задним чилом, и после проведения остаток в какой-либо момент станет отрицательным, то система выругается и не разрешит проведение. Если все ОК, то все пересчеты будут выполнены автоматически и очень быстро.
Это в контексте контроля на отрицательный остаток, формализуемая задача, а как быть с ценой при списании по средневзвешенной? Она будет порушена если меняется остаток на момент очередного приходования, который выше операции проведения/перепроведения, и увы, тоже в прошлом.
sobolev
Это касается как товарных остатков, так и бухгалтерских проводок, связанных с документами - все пересчеты оборотов и остатков по счетам делаются автоматически. Вот я и пытаюсь добиться ответа каким образом. Вижу пока только два способа: как в 1цэ, врукопашную, по заранее подготовленным последовательностям зависимых документов или тотальный перерасчет по всем документам, во втором случае по меньшей мере нет необходимости юзать временные расчеты на каждый перепроводимый док.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988042
Фотография Гликоген
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Те левши, у кого это (пересчет итогов при постинге задним числом) получается на лету, всегда чем-то жертвуют.
Либо им нужно давать нобелевскую премию по ИС-строению.

На самом деле это чистая психология (если не клиника). А может и норма, ведь встречается у 80% программистов.
Сочетание комплекса "Я Самый Умный", лени (чтобы изучить Опыт) и уверенности, что уж он-то точно лучше всех все напишет "с нуля".

Написание "конфигураций 1C "с чистого листа"" - из этой же оперы.

Как раз тот случай, когда массы могут ошибаться. И ошибаются.
В ВУЗах не проходят, когда строить, а когда - адаптировать, а зря!
Фактически, в 50% или больше случаев - это инженерная профнепригодность.


:)
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988109
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sobolevИнтересный пример, который хотелось бы примерить к Вашей системе. Счета выписываются только в том случае, если размер маржи не ниже 10%. Клиент звонит и просит выписать счет на товар. Система проверяет - маржа 10.2% на грани, но в пределах заданного значения. Счет выписан, товар оплачен, получен, счета-фактуры, пятое-десятое...
Потом задним числом вводится приход или расход, который перераспределяет партии приходного товара, полученные по разным ценам. И оказывается, что маржа по ранее выписанному и уже оплаченному счету уже не 10.2%, а -2% (вообще убыток!). Караул! Нельзя было, оказывается этот товар по такой цене продавать, нужно было дороже! А его не только оплатили, но уже и отгрузили!
Теперь, собственно, вопрос. Что Ваша система сделает:
1. Не даст ввести приход (или расход) задним числом, который, тем не менее, реально имел место?
или
2. Вернет деньги покупателю и заставит его вернуть товар?

Прошу понять меня правильно. Я не имею намерения Вас обидеть. Просто озвученная задача ДЛЯ ОБЩЕГО СЛУЧАЯ каким-то унифицированным способом принципиально не разрешима. Используемый Вами принцип реализуем во многих системах, но он далеко не всегда и далеко не всех может удовлетворить.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988116
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafm
Все зависит от того, какой процент рентабельности заложен в продажную цену товара. Это просто пища для размышления при анализе эффективности продаж, не более. Что Вас так смущает? Бывает и за три года себестоимость пересчитываем, ничего страшного, кроме 5 минут ожидания. Главное бух. не трогать.
Почему в СССР не продавалась красная икра в магазинах? Небыло спроса, никто не спрашивал. :)
Рентабельность не есть заложенная величина. Она плавает в зависимости от значимости клиента, курса валюты расчета, настроения манагера и тд. и тп. На счет пищи для размышлений тоже пожалуй не соглашусь. Оперативный и точный анализ эффективности может оказаться востребованным для оценки деятельности манагеров в реальном режиме времени, есть варианты совмесной хоз. деятельности по отдельным группам/товарам, да мало еще что.
Эффективность приведена просто как показатель проблематичности получения достоверных показателей системы в режиме близком к реальному. Вот хочется в принципе как в 1С, только автоматически и в 1000 раз быстрее. Когда будет в 1000 раз быстрее и с автоматически проблем не будет. :)
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988138
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_AlexРечь не шла об изменениях параметров документа введенных непосредственно оператором. Имелась в виду себестоимость/цена списания, которая извлекается системой самостоятельно. Вот она то при вмешателство в прошлое и может оказаться не актуальной для более поздних по оси времени операций.В примере, который я привел чуть выше, как раз о цене списания и идет речь. Она может измениться, если добавить задним числом еще один приход или расход, стараясь при этом соблюсти принцип FIFO (или LIFO). Если "на лету" по ценовым параметрам принимаются какие-то принципиальные решения (как я привел выше), то любое перепроведение задним числом может потребовать пересмотра этих решений. Если ничего "на лету" не считается, никаких решений не принимается, то нет вообще смысла сразу проводить документы. Нужно их сначала ввести, а потом все скопом один раз провести - в конце месяца, например.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988189
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_AlexНа счет пищи для размышлений тоже пожалуй не соглашусь. Оперативный и точный анализ эффективности может оказаться востребованным для оценки деятельности манагеров в реальном режиме времени, есть варианты совмесной хоз. деятельности по отдельным группам/товарам, да мало еще что.

Это Вы на себестоимость реального времени делаете упор? Это периодический показатель. Какое реальное время. Зачем искать проблемы, там где их нет?
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988191
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GaryaВ примере, который я привел чуть выше, как раз о цене списания и идет речь. Она может измениться, если добавить задним числом еще один приход или расход, стараясь при этом соблюсти принцип FIFO (или LIFO). Если "на лету" по ценовым параметрам принимаются какие-то принципиальные решения (как я привел выше), то любое перепроведение задним числом может потребовать пересмотра этих решений.
Все пральна.
Вы ранее выдали: "документы выданы на руки клиентам и эти клиенты разъехались по странам и весям", вот я и подумал, что мы о разном.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988334
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГликогенТе левши, у кого это (пересчет итогов при постинге задним числом) получается на лету, всегда чем-то жертвуют.
Либо им нужно давать нобелевскую премию по ИС-строению.

Зачем "левши"? У нас хорошо отлаженный за более чем 10 лет процесс разработки. И нобелевская премия не нужна, а партнеры в регионах (в москве, например) нужны. Кстати, сказать, пересчет итогов (у нас это называется "форвардные остатки") не очень сложная проблема. Это требование было сформулировано до начала разработки системы (1996).
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988339
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafm
Это Вы на себестоимость реального времени делаете упор? Это периодический показатель. Какое реальное время. Зачем искать проблемы, там где их нет?
Ммм. Я делаю упор на ПРАВИЛЬНУЮ себестоимость на сейчас.
Давайте на пальцах. Получили контейнер импортной бадяги. Стоимость (цены) известны только согласно инвойса поставщика. Товар по приходованию продается, как говорят, с колес. Стоимость доставки, таможенной очистки станет известна ч/з 3-4 дня. В операции "наживы" участвуют два чела. Один дал деньги, второй ввез и продает. Договорились маржу пополам. Ну и вот честный дерибан можно осуществлять по мере продажи партии , но не раньше чем будут актуализирована себестоимость во всех продажах. Посему точные цифры могут быть получены только после введения в себестоимость дополнительных затрат и перерасчета ВСЕХ операций продаж в которых эти товары учавствовали. Так вот в актуальное состояние показателей хочется верить сразу же после после операции актуализации приходования, а не после того как кто то ночью сделает перерасчет по всем зависимым операциям продаж.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988359
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sobolevКстати, сказать, пересчет итогов (у нас это называется "форвардные остатки") не очень сложная проблема. Это требование было сформулировано до начала разработки системы (1996).Вас не затруднит ответить на вопросы, которые я задал выше? После Вашего ответа станет более-менее понятно, смогли ли Вы разрешить те проблемы, за решение которых Гликоген и предложил давать Нобелевскую премию (может быть, не совсем внятно).
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988382
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_Alex
Оприходовали партию. Себестоимость "на сейчас" включает стоимость товара согласно инвойса. Продали партию. Через 4 дня ввели недостающие данные. Посчитали себестоимость. Сформировали отчет о продажах, посмотрели маржу, поделили. Чего-то я не понимаю :)
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988383
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GaryaИнтересный пример, который хотелось бы примерить к Вашей системе. Счета выписываются только в том случае, если размер маржи не ниже 10%. Клиент звонит и просит выписать счет на товар. Система проверяет - маржа 10.2% на грани, но в пределах заданного значения. Счет выписан, товар оплачен, получен, счета-фактуры, пятое-десятое...
Потом задним числом вводится приход или расход, который перераспределяет партии приходного товара, полученные по разным ценам. И оказывается, что маржа по ранее выписанному и уже оплаченному счету уже не 10.2%, а -2% (вообще убыток!). Караул! Нельзя было, оказывается этот товар по такой цене продавать, нужно было дороже! А его не только оплатили, но уже и отгрузили!
Теперь, собственно, вопрос. Что Ваша система сделает:
1. Не даст ввести приход (или расход) задним числом, который, тем не менее, реально имел место?
или
2. Вернет деньги покупателю и заставит его вернуть товар?

Прошу понять меня правильно. Я не имею намерения Вас обидеть. Просто озвученная задача ДЛЯ ОБЩЕГО СЛУЧАЯ каким-то унифицированным способом принципиально не разрешима. Используемый Вами принцип реализуем во многих системах, но он далеко не всегда и далеко не всех может удовлетворить.
Papyrus не умеет проверять маржу при отгрузке. Я не вижу тут проблемы, но ни один из клиентов не разу не обратился с таким вопросом. Всяких ограничений просят (и получают), но об этом ни кто не заикался.
Да и вообще, я согласен, что проблема из разряда нерешаемых. Мы ведь не можем позвонить клиенту и сказать: "давай бобы назад, а то мы, идиоты, тебе ниже себестоимости отгрузили".

Я коротенько описал поведение системы в контексте subj'а (не больше).

PS
А чего в вопросе обидного?
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988582
al1618
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sobolevъ Papyrus не умеет проверять маржу при отгрузке. Я не вижу тут проблемы, но ни один из клиентов не разу не обратился с таким вопросом. Всяких ограничений просят (и получают), но об этом ни кто не заикался.
Да и вообще, я согласен, что проблема из разряда нерешаемых. Мы ведь не можем позвонить клиенту и сказать: "давай бобы назад, а то мы, идиоты, тебе ниже себестоимости отгрузили".

Я коротенько описал поведение системы в контексте subj'а (не больше).

PS
А чего в вопросе обидного?

Тут два разных события.
1. Выписка счета - система проанализировала маржу и разрешила счет распечатать (послать клиенту), и например "зарезервировать".
2.Отгрузка со склада (накладная) - система по FIFO рассчитала какой материал ушел в отгрузку - маржа может быть другой здесь разве что резервирование и поможет - если товар по ДРУГОЙ цене это ДРУГОЙ товар. При другом варианте - какая разница общая сумма прибыли (налогооблагаемой) неизменна, меняется только доходность КОНКРЕТНОЙ операции.
п.2. может быть повторен в конце месяца для приведения в порядок бухучета.
Для ОПЕРАТИВНОГО учета можно распечатать выписанные счета-фактуры с двумя колонками "маржа при выписке", "маржа при отгрузке" - а с кого снимать разницу - с менеджера или с завсклада (отдела логистики) руководитель сам разберется.

______________
на нобелевскую не претендую ...
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988593
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafm Uncle_Alex
Оприходовали партию. Себестоимость "на сейчас" включает стоимость товара согласно инвойса. Продали партию. Через 4 дня ввели недостающие данные. Посчитали себестоимость. Сформировали отчет о продажах, посмотрели маржу, поделили. Чего-то я не понимаю :)
Хочу понять принцип согласно которому в отчет по всем продажам попадет откорректированная себестоимость во всех продажах данной поставки. Цена средневзвешанная и процес повторяемый, партий нет, как нет и партионных цен. С самими партиями если использовать, тоже головнять с автоматическим перераспределением с изменениями в прошлом.
Мы постепенно ушли от общего в конкретику. Речь изначально идет о наличии предворительных оперативных расчетов и проблем актуализации этих расчетов при внесении изменений в прошлое. Роль этих расчетов ускорить оперативную и периодическую отчетность. Проблема не откорректировать банальный остаток партии товара или остаток по кассе. Для быстрого получения отчета о продажах в разных плоскостях маржа должна уже сидеть в расчитанном виде а не вычисляться путем обхода цены партий для каждой продажи и каждой позиции.

Есть две крайности получения отчетности: вообще не пользоваться промежуточными вычислениями и тупо сканировать всю базу данных на любой отчет, здесь любые изменения в прошлое до печки или принцип OLAP где реактивность системы практически не зависит от объема базы, но и менять ничего нельзя.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988699
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_AlexЦена средневзвешанная и процес повторяемый, партий нет, как нет и партионных цен. ... Речь изначально идет о наличии предворительных оперативных расчетов и проблем актуализации этих расчетов при внесении изменений в прошлое. Роль этих расчетов ускорить оперативную и периодическую отчетность.
В таких случаях мы так и поступаем. Отдельная табличка с результатами расчета себестоимости и процедура, которая ее обрабатывает. Вся отчетность формируется только по ней, а не по первичке. В таблице храняться все показатели, вплоть до рентабельности и дата актуализации. Процедура пересчета запускается по требованию, т.е. тогда, когда нужно актуализировать данные для принятия решения или периодически за период, от заданной даты (периода) до текущей. По времени не критична, несколько минут занимает пересчет за 3 года. Данные, которые лежат в этой табличке на рис. ниже. Мелковато правда.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988779
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmПроцедура пересчета запускается по требованию т.е. тогда, когда нужно актуализировать данные....

Ну вот, этой фразой Вы фактически и ответили. Я же в свою очередь отказываюсь воспринимать систему учета как достоверную если актуализация реализована в отдельных разрезах и воспроизводится по требованию. Высокую достоверность дает баланс активов и пассивов на момент каждой операции, что у Вас не гарантировано. Если я не прав и издержки на актуализацию в реальном времени не критичны, почему систему не сделать автоактуализируемой?
Хотя конечно Ваш подход, как вариант, вполне имеет право на жизнь.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988791
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_AlexНу вот, этой фразой Вы фактически и ответили. Я же в свою очередь отказываюсь воспринимать систему учета как достоверную если актуализация реализована в отдельных разрезах и воспроизводится по требованию. Высокую достоверность дает баланс активов и пассивов на момент каждой операции, что у Вас не гарантировано. Если я не прав и издержки на актуализацию в реальном времени не критичны, почему систему не сделать автоактуализируемой?
Хотя конечно Ваш подход, как вариант, вполне имеет право на жизнь.
Можно сделать и автоактуализируемой, если нужно конечно. Никто не мешает делать точечные расчеты в момент учета транзакции (остатки же поддерживаются в актуальном состоянии). Вопрос в другом - кому нужна "real time" актуализация в вопросах вычисления маржи. Что выполнять в момент учета транзакции определяется только требованиями к актуальности информации со стороны заказчика. Нужно ему видеть маржу после каждого изменения - включаете в процедуру учета пересчет маржи и вперед. В приведенном примере заказчику это не нужно было. Он научился хотя бы на неделю вперед планировать, чтобы не контролировать маржу "он-лайн". Т.е. выбор за Вами.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988812
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafm
Можно сделать и автоактуализируемой, если нужно конечно. Никто не мешает делать точечные расчеты в момент учета транзакции (остатки же поддерживаются в актуальном состоянии). Вопрос в другом - кому нужна "real time" актуализация в вопросах вычисления маржи.
Да конечно никому не нужна. Если система по принципу своей структуры способна обеспечить абсолютную автоактуализацию с приемлимой степенью реактивности(скажем до 0.1с для самых глубоких откатов), то снимается целый пласт проблем связанных с реализацией этой самой актуализации в разрезе конкретных отчетов. Вы ведь организуя транзакцию свято верите что скуль не подведет, не вникая че он блокирует и как уходит от дедлоков. А с автоактуализацией до такого совершенства похоже не дошло.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33988815
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_AlexВы ведь организуя транзакцию свято верите что скуль не подведет, не вникая че он блокирует и как уходит от дедлоков. А с автоактуализацией до такого совершенства похоже не дошло.
Если понадобится автоактуализация такого уровня, то вместо MS SQL будем использовать другую СУБД, тот же ANTS Data Server, благо ограничений в этом нет. Каждой задаче нужно подбирать соответствующий инструмент.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33990364
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmт.е. тогда, когда нужно актуализировать данные для принятия решения или периодически за период, от заданной даты (периода) до текущей. По времени не критична, несколько минут занимает пересчет за 3 года.
Нет, мы таки очевидно говорим о разной актуализации. Это как же получается? Главнейший показатель деятельности фирмы - маржанальный доход может быть не актуальным 3 года. Как же прошлые месяцы закрываюся в плане расчета прибыли. Или маржа для расчета прибыли актуализируется отдельно. Но так наверное не бывает. Логически получается что не актуальным по марже может быть только последний месяц, че тогда напрягать расчетную часть системы последними тремя годами. Речь скорей всего идет об актуализации части базы самого отчета. Это далеко не одно и то же, что актуализация системы в целом.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33990471
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_AlexНет, мы таки очевидно говорим о разной актуализации. Это как же получается? Главнейший показатель деятельности фирмы - маржанальный доход может быть не актуальным 3 года.
Я Вам пример привел сколько времени требуется для пересчета 3-х летнего периода, объем номенклатуры около 30000. И уж точно не для того, чтобы говорить о неактуальных данных в течении 3-х лет, естественно :). Если требуется актуализация real-time, нужно выбирать что-либо из версионников, безблокировочников, in-memory и т.п. Но опять же, это не та категория информации для которой нужна ежесекундная (т.е. после каждой транзакции) актуализация. Да и с обычным блокировочником не будет проблем вообще-то. Основные потребители информации из расчетной таблицы - "читатели". Частота поставок импортных партий здесь не помеха. Цепляете процедуру пересчета в учет поставки или накладных расходов и будет Вам постоянно актуальная информация (на данный момент естественно).
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33990563
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmЕсли требуется актуализация real-time, нужно выбирать что-либо из версионников, безблокировочников, in-memory и т.п.
Прошу простить мне мою дремучесть, а что это такое? Можно что нибудь конкретное для обзора.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33990642
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_Alex iscrafmЕсли требуется актуализация real-time, нужно выбирать что-либо из версионников, безблокировочников, in-memory и т.п.
Прошу простить мне мою дремучесть, а что это такое? Можно что нибудь конкретное для обзора.
Транзакция читает данные, изменяемые в это время другой транзакцией. В блокировочнике она ждет завершения, в версионнике - читает данные зафиксированные до начала второй транзакции. Т.е. читатели не ждут писателей. In-memory - таблицы размещаются в памяти. В двух словах. Поиск в интернете даст много информации.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33990751
Alexandr Kochmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
G> В примере, который я привел чуть выше, как раз о цене списания
G> и идет речь. Она может измениться, если добавить задним числом еще один
G> приход или расход, стараясь при этом соблюсти принцип FIFO (или LIFO).

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

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


--
С уважением
Кочмин Александр

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33990947
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafm
Транзакция читает данные, изменяемые в это время другой транзакцией. В блокировочнике она ждет завершения, в версионнике - читает данные зафиксированные до начала второй транзакции. Т.е. читатели не ждут писателей. In-memory - таблицы размещаются в памяти. В двух словах. Поиск в интернете даст много информации.
Ну не скромничайте сказавши А скажите Б. Интернет могучая сила, дай те хоть название СУБД отражающие приведенные тенденции. С читающей транзакцией Вы меня просто озадачили. Я всегда под термином "транзакция" понимал алгоритм связанный с модификацией данных??? Заранее благодарен за источники.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33990990
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33991070
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_Alex GaryaКак вы "перепроведете" документы, в которых цена ранее уже была посчитана, документы выданы на руки клиентам и эти клиенты разъехались по странам и весям?
Хвала всевышнему :)
Речь не шла об изменениях параметров документа введенных непосредственно оператором. Имелась в виду себестоимость/цена списания, которая извлекается системой самостоятельно. Вот она то при вмешателство в прошлое и может оказаться не актуальной для более поздних по оси времени операций.Допустим вы измените задним числом в приходной накладной цену товара в партии 1000шт... Как минимум должна изменится себестоимость во всех созданых после этого прихода расходных документах (это очень обобщенно). Технически то это все можно сделать, но будет такая путаница в последующем.. Документы созданы, отчеты о прибыли уже у рук-ва и т.д и т.п.. Лучше сторнирующей проводкой
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33991296
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ден Документы созданы, отчеты о прибыли уже у рук-ва и т.д и т.п.. Лучше сторнирующей проводкой
Смотря для кого лучше. Пару лет назад делали проект по созданию ИС для транспортной компании. Продолжительность кругорейсов до 2-х месяцев. Отчетность за прошлые периоды акутализировалась по мере завершения рейсов. Естественно бух. информация не трогалась, но руководство с ней и не работало. Что толку анализировать прибыль, если фура еще в рейсе. Так что, только по факту завершения.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33991308
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ден Uncle_Alex GaryaКак вы "перепроведете" документы, в которых цена ранее уже была посчитана, документы выданы на руки клиентам и эти клиенты разъехались по странам и весям?
Хвала всевышнему :)
Речь не шла об изменениях параметров документа введенных непосредственно оператором. Имелась в виду себестоимость/цена списания, которая извлекается системой самостоятельно. Вот она то при вмешателство в прошлое и может оказаться не актуальной для более поздних по оси времени операций.Допустим вы измените задним числом в приходной накладной цену товара в партии 1000шт... Как минимум должна изменится себестоимость во всех созданых после этого прихода расходных документах (это очень обобщенно). Технически то это все можно сделать, но будет такая путаница в последующем.. Документы созданы, отчеты о прибыли уже у рук-ва и т.д и т.п.. Лучше сторнирующей проводкой
Не будем опускаться до принципа это не нужно, потому что не нужно никому и никогда.
Изменения задним числом делали и делают. И не барское это дело задумываться какие из них повлияют на достоверность отчетности, а какие нет.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33991368
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafm По версии википедии
Осилил :)
Это другая история, - принцип паралельного доступа к данным во время их модификации другим пользователем. Осталось попытаться осилить "in memory - таблицы в памяти"
И позволю себе еще раз формализовать проблему:
Как автоматически реализовать актуализацию динамической отчетности по ссылочным данным. Ссылочные данные модифицируются в прошлом и динамическая отчетность находится в прошлом, построена по версии данных до модификации. Пока ссылочное значение не меняется динамическая отчетность актуальна, после модификации ссылочного значения только оно акуально, вся остальная зависимая отчетность уже не актуальна, относительно ссылочного значения....
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33991378
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Избавьтесь от влияния ссылочных данных на отчетность и проблема решится сама собой. Не формируйте отчетность по "живым документам".
Входящие данные - > Постинг - > Хранилище - > Отчетность.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33991394
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmИзбавьтесь от влияния ссылочных данных на отчетность и проблема решится сама собой. Не формируйте отчетность по "живым документам".
Входящие данные - > Постинг - > Хранилище - > Отчетность.
Мысль хорошая, только время реакции системы может не удовлетворить пользователей.
Дайте pls. сылочку на таблицы в памяти, может там найду утешение.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #33991418
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_Alexвремя реакции системы может не удовлетворить пользователей.
Дайте pls. сылочку на таблицы в памяти, может там найду утешение.
ANTS или TimesTen к примеру. Только не думаю, что задача стоит, в случае с TimesTen 20 килобаксов. Все таки это не RT задача. Но хозяин барин :)
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34006621
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_AlexПрактически ни разу не встречал в описании на учетные системы акцента на алгоритм указанный в теме.
Похоже ВСЕ учетные системы при отражении фактов хоз. деятельности, кроме регистрации параметров события формируют сводные значения, используя имеющиеся данные и данные определенные событиями предшествующих периодов. Кроме того алгоритмы обработки текущих событий также могут использовать те же сводные значения.
У нас как раз реализованно по другому. Хранятся все события, и баланс собирается каждый раз по всем проводкам. Т.е. любые изменения - любым задним числом.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34007059
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm Uncle_Alex iscrafmЕсли требуется актуализация real-time, нужно выбирать что-либо из версионников, безблокировочников, in-memory и т.п.
Прошу простить мне мою дремучесть, а что это такое? Можно что нибудь конкретное для обзора.
Транзакция читает данные, изменяемые в это время другой транзакцией. В блокировочнике она ждет завершения, в версионнике - читает данные зафиксированные до начала второй транзакции. Т.е. читатели не ждут писателей. In-memory - таблицы размещаются в памяти. В двух словах. Поиск в интернете даст много информации.Ну, не всё так просто. На самом деле каких-то существенных отличий между версионниками и блокировочниками нет. Ждет или не ждет блокировочник, может зависеть от уровня изоляции транзакий. Если "грязное чтение" разрешено, то он может и не ждать. С версионником - аналогично. Если версионник не ждет, значит он рискует получить несогласованные данные. Если контроль согласованности данных отрабатывается в триггерах, то на уровне версий данных для параллельных транзакций могут получиться согласованные данные, а при записи версий этих транзакций в единую базу данных они все равно окажутся несогласованными. Это "болезнь" версионников.
Пример: В базе данных в разных таблицах находятся значения A и B, которые исходя из их согласованности никогда не должны быть равны (что проверяется триггером). В исходном состоянии A=1; B=2.
На версионнике одновременно запускаются две транзакции. Одна пытается присвоить A:=5, другая пытается присвоить B:=5. В каждой из этих транзакций считываются значения A и B ДО их запуска. Срабатывает триггер в транзакции №1 и проверяет (А=5) != (B=2) - значит изменение A разрешено. Срабатывает триггер в транзакции №2 и проверяет (A=1) != (B=5) - значит изменение B тоже разрешено. Обе транзакции сохраняют новые значения A и B и закомичивают свои транзакции, новые версии A=5 и B=5 сохраняются в базе данных, нарушив согласованность данных. Такая ситуация не может произойти на блокировочнике.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34007077
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uncle_AlexНу не скромничайте сказавши А скажите Б. Интернет могучая сила, дай те хоть название СУБД отражающие приведенные тенденции. С читающей транзакцией Вы меня просто озадачили. Я всегда под термином "транзакция" понимал алгоритм связанный с модификацией данных??? Заранее благодарен за источники.MS SQL Server - блокировочник (хотя начиная с версии 2005 там появилась возможность выполнения транзакций в стиле версионника). Oracle - версионник, хотя у него есть возможность выполнения "по требованию" некоторых транзакций в стиле блокировочника (в таких случаях, как в приведенном мной примере). InterBase - чистый версионник.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34007496
Кидман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Garya
Если контроль согласованности данных отрабатывается в триггерах, то на уровне версий данных для параллельных транзакций могут получиться согласованные данные, а при записи версий этих транзакций в единую базу данных они все равно окажутся несогласованными. Это "болезнь" версионников.

Garya, перебор даже в картах плох. Зачем рассуждать о том, чего не знаете?

Garya
Пример: В базе данных в разных таблицах находятся значения A и B, которые исходя из их согласованности никогда не должны быть равны (что проверяется триггером).В исходном состоянии A=1; B=2.
На версионнике одновременно запускаются две транзакции. Одна пытается присвоить A:=5, другая пытается присвоить B:=5.

Я хоть и не спец в версионниках, но уверен, что вторая транзакция обламается или сразу, или после коммита первой - в зависимости от настроек (это касается Интербейза и Фаейрбёрда).

Garya
В каждой из этих транзакций считываются значения A и B ДО их запуска. Срабатывает триггер в транзакции №1 и проверяет (А=5) != (B=2) - значит изменение A разрешено. Срабатывает триггер в транзакции №2 и проверяет (A=1) != (B=5) - значит изменение B тоже разрешено. Обе транзакции сохраняют новые значения A и B и закомичивают свои транзакции, новые версии A=5 и B=5 сохраняются в базе данных, нарушив согласованность данных.

Этого не может быть, откуда Вы это взяли?

Garya
Такая ситуация не может произойти на блокировочнике.

А если грязное чтение? Кстати, в Интербейзе и ему подобных грязного чтения нет.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34008654
chroot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кидман
Garya
Пример: В базе данных в разных таблицах находятся значения A и B, которые исходя из их согласованности никогда не должны быть равны (что проверяется триггером).В исходном состоянии A=1; B=2.
На версионнике одновременно запускаются две транзакции. Одна пытается присвоить A:=5, другая пытается присвоить B:=5.

Я хоть и не спец в версионниках, но уверен, что вторая транзакция обламается или сразу, или после коммита первой - в зависимости от настроек (это касается Интербейза и Фаейрбёрда).

Garya
В каждой из этих транзакций считываются значения A и B ДО их запуска. Срабатывает триггер в транзакции №1 и проверяет (А=5) != (B=2) - значит изменение A разрешено. Срабатывает триггер в транзакции №2 и проверяет (A=1) != (B=5) - значит изменение B тоже разрешено. Обе транзакции сохраняют новые значения A и B и закомичивают свои транзакции, новые версии A=5 и B=5 сохраняются в базе данных, нарушив согласованность данных.

Этого не может быть, откуда Вы это взяли?

Не поверите, но дело обстоит именно так, как расписал уважаемый Garya.
Для версионников при таких требованиях к целостности нужно самому создавать "точку" синхронизации, которую обязаны пройти все транзакции (аналог критической секции или семафора в многопоточном программировании). Это может быть фальшивое обновление строчки в другой таблице, модификация вспомогательной таблицы, на худой конец - блокирование всей таблицы A или B до конца транзакции.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34009063
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПример: В базе данных в разных таблицах находятся значения A и B, которые исходя из их согласованности никогда не должны быть равны (что проверяется триггером). В исходном состоянии A=1; B=2.

возникает вопрос. если существует взаимосвязь столбцов, то почему для контроля целостности выбран триггер, а не check constraint на таблицу?
По-моему дальше можно не продолжать рассматривать этот "пример".

авторОбе транзакции сохраняют новые значения A и B и закомичивают свои транзакции

Вопрос - по очереди? Да. В этом случае будет несогласованность, см. выше.
Триггер работает в контексте транзакции, соответственно видит данные только в том виде, в котором позволяет уровень изолированности.

авторТакая ситуация не может произойти на блокировочнике.
Вопрос - почему нет? триггеры в блокировочнике срабатывают по другому?
триггеры игнорируют уровень изолированности транзакции, в которой они стартовали?
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34009091
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а почему бы интересующимся не прийти на Софтул на стенд фирмы ANSOFT, и посмотреть как там работает ERP AVARDA на Firebird? На 100-гиговой базе, и туче одновременных пользователей?

http://www.ibase.ru/ansoft.html%5D%7C>]http://www.ibase.ru/ansoft.html]|> http://www.ibase.ru/ansoft.html" TARGET="_blank">www.ibase.ru/ansoft.html
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34009142
Кидман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кидман
Garya, перебор даже в картах плох. Зачем рассуждать о том, чего не знаете?

Garya, приношу свои извинения. Я невнимательно прочитал Ваш пост, не заметил, что речь идет о разных таблицах.

З.Ы. Вспомнился случай, который произошел, если не ошибаюсь, у комментатора Озерова: "Блохин выходит один на один с вратарем! Удар! Г-О-О-Л!!! Нет, штанга. К тому же это был и не Блохин"
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34009589
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvвозникает вопрос. если существует взаимосвязь столбцов, то почему для контроля целостности выбран триггер, а не check constraint на таблицу? По-моему дальше можно не продолжать рассматривать этот "пример".Этот "пример" выбран для простоты иллюстрации. Естественно, в данном конкретном случае можно использовать Check conctraint, то есть ситуации, в которых используются именно триггеры или хранимые процедуры (случается же такое иногда? :) ). Городить пример, в котором выкрутиться на Check невозможно, я не стал, полагая, что об этом и так все знают.

Кидман...уверен, что вторая транзакция обламается или сразу, или после коммита первой...Как Вы себе представляете подобный "облом"? Мы говорим "commit", а получаем молчаливый "rollback"? Если возникает ошибка, то какая именно? "Одновременный доступ к данным запрещен настройками"? Или просто "internal error" с выпадением в осадок? :) Если ошибку можно обработать, то что должно стоять в конце обработчика, что-то вроде "commit commit" или "rollback commit"? :) Я готов допустить, что я чего-то недопонимаю или не знаю. Но я привожу примеры, иллюстрирующие свое понимание, либо даю ссылку на первоисточник. Из Вашего, Кидман, поста в стиле "Борист, ты не прав!", мне не удалось понять, в чем конкретно я не прав и почему. Либо проиллюстрируйте (опишите поведение приведенных в примере транзакций на версионнике), либо приведите ссылку на материал, из которого этого стало бы ясно.

GaryaТакая ситуация не может произойти на блокировочнике.Поясню. Если "грязное чтение" разрешено, то либо Транзакция №1 узнает о том, что A стало равно B, либо Транзакция №2. И откатит транзакцию, запретив изменение своих данных. Так что "грязное чтение" может быть не только вредным, но и полезным... :) (перефразированная шутка Фоменко).
Если "грязное чтение" запрещено, то одна транзакция окажется в ожидании завершения другой транзакции. Здесь может подстерегать совсем другая опасность - дедлок (когда Транзакция №1 и Транзакция №2 одновременно ожидают завершения друг друга). Но на блокировочнике действительно ситуация, когда A станет равно B помимо желания разработчиков, воспроизвестись в принципе не может. Кто не согласен - прошу проиллюстрировать на конкретном примере.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34009617
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кидман Кидман
Garya, перебор даже в картах плох. Зачем рассуждать о том, чего не знаете?

Garya, приношу свои извинения. Я невнимательно прочитал Ваш пост, не заметил, что речь идет о разных таблицах.

З.Ы. Вспомнился случай, который произошел, если не ошибаюсь, у комментатора Озерова: "Блохин выходит один на один с вратарем! Удар! Г-О-О-Л!!! Нет, штанга. К тому же это был и не Блохин" Ничего страшного, со всяким бывает... :) Вы тоже извините, если я Вас задел.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34009737
olegloa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищь а Вы знаете что dead-lock выдают и версионники, а не только блокировочники? :-) А ваш пример с триггероми просто не пройдёт на отдельных серверах (тотже Оракл пошлёт с мутирующими таблицами). Так чта...
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34010179
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче. все это классические аномалии искажения чтения или записи.

читать тут:
http://www.osp.ru/text/302/181466/

шайтан! osp.ru все испортил. как ссылки так и вторую часть статьи в 5-ом номере.... :-(
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34010194
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извиняюсь, не дописал - это называется серия статей Лили Козленко
под названием "Введение в управление транзакциями". 4 части. 2-ая, как я вижу, запорота на osp по кодировке.
Найти ссылки на статьи можно поиском указанного названия на www.osp.ru
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34010344
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegloaТоварищь а Вы знаете что dead-lock выдают и версионникиДедлок возможен только при блокировке и ожидании ее завершения. Если блокировки нет, дедлок возникнуть не может. Идея "версионников" - избегать блокировок созданием локальных копий с некоторых участков информации. Тем не менее, реальные СУБД "в чистом виде" версионниками, как правило, не бывают. Обычно они до некоторой степени "блокировочники" - в особенности, если заданы уровни изоляции транзакций, которые без блокировок не достижимы. Говорить, что та или иная СУБД относится к тому или иному классу, видимо не совсем корректно. Можно говорить о том, что они "тяготеют" к тому или другому. Возможно, я не совсем корректно отнес IB к "чисто версионникам".
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34010606
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 All. Приношу извинения за то, что невольно увел тему обсуждения в другое русло. Предлагаю вернуться к обсуждению темы. Для тех, у кого есть желание продолжить обсуждение на тему "версионники/блокировочники", предлагаю продолжить его на форуме " Сравнение СУБД ".
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34011208
Uncle_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Garya2 All. Приношу извинения за то, что невольно увел тему обсуждения в другое русло. Предлагаю вернуться к обсуждению темы...
Всем спасибо, просветили. Вот что значит зарыться в одной теме на несколько лет.
До недавного времени пользовался серваком пионера отечественого учета "Финансы без проблем" По нынешним меркам тема вроде как не перспективная. Но вот базовая идея заложенная в основу до сих пор не дает успокоится.
В двух словах: РСУБД как класс отсутствует. Все учетные регистры являют собой объекты(записи) заряжаемые в память при старте. Все динамические расчетные данные в том же виде. Сервак старенький, однопоточный модификация данных априори не требует транзакций. Автоактуализация решена до боли в сердце просто, в случае вмешательства в прошлое, откат на ближайший месяц и полный перерасчет всех и вся. Вроде не современно и гигабайтные объемы в память не влезут, но реактивность потрясает и снимает кучу головняка реализаторам приложений. Я себе подумал, может эта тематика как то получила развитие в нынешнем мире. Похоже все утопло в реляционках. :)
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34011437
SergeyVL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GaryaНу, не всё так просто. На самом деле каких-то существенных отличий между версионниками и блокировочниками нет. Ждет или не ждет блокировочник, может зависеть от уровня изоляции транзакий. Если "грязное чтение" разрешено, то он может и не ждать. С версионником - аналогично. Если версионник не ждет, значит он рискует получить несогласованные данные. ...

Garya, например, версионник Oracle не ждет и не рискует получить несогласованные данные.

Далее Ваш пример про таблицы не подтверждает Ваши слова, а только показывает, особенности работы СУБД. К чему этот пример? Да версионник Oracle может читать таблицу, которая в данный момент изменяется, и что?

Чтобы сохранить целостость в Вашем примере, нужно просто заблокировать изменяемые стоки на время транзакции.
...
Рейтинг: 0 / 0
Актуализация при вмешательстве в прошлое.
    #34011633
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyVLGarya, например, версионник Oracle не ждет и не рискует получить несогласованные данные.
...
Чтобы сохранить целостость в Вашем примере, нужно просто заблокировать изменяемые стоки на время транзакции.Во-первых, для начала, нужно ДОГАДАТЬСЯ это сделать.
Во-вторых, Oracle - это не совсем версионник. Это помесь версионника с блокировочником.
В-третьих, хочется продолжить дискуссию именно по этому вопросу, то я уже дал ссылку на форум, где это можно сделать. В этой теме это оффтоп.

Специально создал там тему для желающих обсудить этот вопрос.
...
Рейтинг: 0 / 0
64 сообщений из 64, показаны все 3 страниц
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Актуализация при вмешательстве в прошлое.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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