|
Это написано на сайте ИТС..... | ☑ | ||
---|---|---|---|---|
0
rowvg
naïve
04.05.22
✎
13:10
|
...
Один из вариантов использования документа с отключенным автоматическим удалением движений – построчное проведение документа. При решении задачи автоматизации учета продавцов товаров в реальном времени это свойство может быть актуально. Представим себе ситуацию, что два менеджера продают один и тот же товар, количество которого ограничено. Пока первый из них, удостоверившись в наличии товара на складе по данным регистра, проводит свой документ с установленным свойством Автоматическое удаление движений, второй менеджер за те мгновения, когда старые движения уже удалены, а новые еще не записаны, успевает провести свой документ. ... Как можно понять наличие такой чепухи на сайте ИТС? https://its.1c.ru/db/pubapplied/content/191/hdoc |
|||
1
vde69
04.05.22
✎
13:14
|
(0) у меня такое активно используется, это означает, что например даже помеченный на удаление документ может иметь проводки.
Это могут быть например "статусы", или "резервы" и т.д. |
|||
2
Ryzeman
04.05.22
✎
13:19
|
Видел такое использование в WMS системе, ИМХО было оправдано. Вообще в среде высокой конкуренции за каждую строчку это актуально, хотя пример приведён не очень хороший.
|
|||
3
Ненавижу 1С
гуру
04.05.22
✎
13:23
|
Так-то не должно быть, ибо для второго удаление строк первым "не прозрачно" из-за транзакции. Второй должен видеть данные до транзакции или после, но не вовремя.
|
|||
4
rowvg
naïve
04.05.22
✎
13:34
|
(3) В том - то и дело, что во время обработки проведения на изменяемые таблицы накладывается исключительная блокировка, и никакой другой запрос не может наложить на эти данные даже блокировку на чтение.
|
|||
5
vde69
04.05.22
✎
13:40
|
(4) между добавлением товара в документ и проведением существует некий отрезок времени. А учитывая, что документ может быть большим то велика вероятность, что кто-то другой за это время уже продаст тот товар который ты подобрал в документ.
По этому проведение по регистру "резервы" могут делаться не при записи документа а непосредственно при подборе, то есть в записанном документе еще товара нет, но он уже в резерве. зы например менеджеры на среднем опте по запчастям бьют документы более 1000 строк, и подбор одного документа уходит минут 30 минимум. По этому для них это очень актуально... |
|||
6
Ненавижу 1С
гуру
04.05.22
✎
13:41
|
(4) ну да, объяснение так себе
имхо, суть в том, что при "не удалять движения" не происходит двойной перезаписи регистра - сначала на удаление, потом на запись, также событий и итогов соответственно |
|||
7
Ненавижу 1С
гуру
04.05.22
✎
13:42
|
(5) это похоже на правду, но замедляет подбор
|
|||
8
vde69
04.05.22
✎
13:46
|
(7) я уже лет 10 пользуюсь самописной системой формирования движений по регистрам, работает намного быстрее и позволяет например востанавливать движения без записи документа и выборочно по одному регистру
|
|||
9
PR
04.05.22
✎
13:54
|
(0) Грязное чтение, в результате которого товар вроде как свободен
|
|||
10
Serg_1960
04.05.22
✎
14:04
|
(5) Хех, писал как-то однажды нечто подобное, чтобы менеджеры не только могли оперативно видеть кто кому, что и сколько подобрал в ещё не записанных документах, но и получал оперативно рекомендации подобрать другой аналог позиции, если в других документах был указан более "приоритетный" покупатель или заказ.
|
|||
11
rowvg
naïve
04.05.22
✎
14:05
|
(9) Грязное чтение возможно только в случает уровня изоляции транзакций ReadUncommitted, который, очевидно, не устанавливается при проведении документов 1С.
|
|||
12
PR
04.05.22
✎
14:09
|
(11) Проведи эксперимент
Сделай документ, который делает движения по твоему регистру и в проведение вставь бесконечный цикл, пока не пройдет минута Проведи документ, сформируй отчет по этому регистру, запусти перепроведение документа и не дожидаясь окончания минуты переформируй отчет Удивляйся и делай выводы |
|||
13
Ненавижу 1С
гуру
04.05.22
✎
14:42
|
(12) и что мы должны увидеть? состояние до начала транзакции? согласен
|
|||
14
PR
04.05.22
✎
14:44
|
(13) Ты умеешь читать?
Грязное чтение мы увидим, то есть удаленные записи |
|||
15
vde69
04.05.22
✎
14:50
|
(12) для начала определи в какой сессии выполняется то или иное действие, по тому как результат для текущей и третьей сессии будет разный
|
|||
16
PR
04.05.22
✎
14:53
|
(15) В двух разных 1С
|
|||
17
Ненавижу 1С
гуру
04.05.22
✎
15:04
|
(14) неа, мы увидим состояние регистра ДО транзакции
|
|||
18
PR
04.05.22
✎
15:07
|
(17) Оставайся при своём мнении
|
|||
19
Ненавижу 1С
гуру
04.05.22
✎
15:10
|
(18) аналогично напишу про тебя )))
|
|||
20
PR
04.05.22
✎
15:12
|
(19) Да нет, я-то в отличие от тебя проверил, уже давно, пару лет назад где-то
|
|||
21
Ненавижу 1С
гуру
04.05.22
✎
15:12
|
(20) а я проверил только что и что?
|
|||
22
PR
04.05.22
✎
16:30
|
(21) Очень странно, но сейчас да, не воспроизводится
То ли я что-то не так проверяю, то ли пофиксили Раньше можно было поймать |
|||
23
PR
04.05.22
✎
16:33
|
+(22) v8: Почему в 1С 8 в варианте SQL возможно грязное чтение?
Не пару лет назад, оказывается, а восемь с половиной лет назад делал ветку :)) |
|||
24
PR
04.05.22
✎
16:35
|
Вообще, скорее всего, даже не 8.3 была
|
|||
25
rphosts
04.05.22
✎
17:08
|
(0) хороший наброс... Найдется много чел как за так и против... Как хорошо, что до мордобоя дело не дойдет
|
|||
26
ptiz
04.05.22
✎
17:15
|
(20) У нас такое грязное чтение есть, т.к. на 8.2 сидим.
|
|||
27
VladZ
04.05.22
✎
17:26
|
(0) А, это 8.2. Даже не хочу вспоминать, что там было.
|
|||
28
PR
04.05.22
✎
17:34
|
А, кстати, да, ссылка в (0) же на 8.2
|
|||
29
ДедМорроз
04.05.22
✎
22:09
|
Там не грязное чтение - раньше отдельно была запись документа и отдельно проведение - если документ не провелся,он оставался записанным,но не проведенным и тогда движения удалялись.
Сейчас транзакция одна,и если документ не проведется,то он остается в том состоянии,в котором был. |
|||
30
PR
04.05.22
✎
23:23
|
(29) Не пори ерунду, все там было в одной транзакции, просто было грязное чтение
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |