Имя: Пароль:
1C
 
Отловить создание отрицательного остатка.
0 lanc2233
 
30.10.16
12:19
Есть РС с резервами номенклатуры, по которому периодически возникают минуса. Скорее всего чего-то мутят в приходных задним числом.
Нужно отловить как-то момент возникновения этого минуса (какой документ повлиял) и записать это в лог или как-то известить администратора.

Есть у кого идеи как это сделать минимально трудозатратно?
1 Dmitry1c
 
30.10.16
12:23
после записи набора в регистре сделать запрос на наличие отрицательных остатков и запись в ЖР не предлагать?
2 lanc2233
 
30.10.16
12:27
(1) у регистра есть событие перед записью и при записи. В при записи еще нет результирующих остатков.
3 Torquader
 
30.10.16
12:29
(2) А что мешает их получить, просто сложив записываемое с тем, что есть (ну и нужно будет "вырезать" то, что уже записано).
И, надо внимательно смотреть, что делает отмена проведения документа, так как чаще всего отрицательность как раз из-за этого бывает.
4 Diman000
 
30.10.16
12:32
Через упр. блокировки и фоновое задание можно сделать обработку ПослеЗаписи.
5 shuhard_серый
 
30.10.16
12:56
(0) открой УТ 11 или ERP, в них контроль поступлений давно реализован на предмет отрицательных остатков на конец месяца/дня
6 Смотрящий
 
30.10.16
13:38
(5) Сама идея витала в воздухе еще с ТиСа 9.2.
В реализации на конец месяца/дня - просто вредный.
7 lanc2233
 
30.10.16
14:07
Изучить как это делается в УТ11 явно не нетрудоемкое решение. Учитывая громоздкость всего что там написано.

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

Останутся дырки типа : снять проведение потом зайти в форму и там сделать изменения. Но думаю в конкретном случае проблему решит.

А вообще по каким причинам, в модуле документа не реализовали событие после записи?
8 shuhard_серый
 
30.10.16
14:12
(7) бред
9 Aleksey
 
30.10.16
14:17
(7) Каким боком реализация к отрицательным остатком?
10 lanc2233
 
30.10.16
14:17
(8) Что бред? Сколько времени займет разобраться как это реализовано в УТ11 и сделать что-то подобное в нетиповой конфигурации?
11 lanc2233
 
30.10.16
14:18
(9) а где там про реализацию?
12 Jija Grenkov
 
30.10.16
14:27
Тоже не особо уловил мысль. Если я правильно понял задумку,то что бы после перепроведения отследить не появились ли отрицательные остатки,нужно смотреть остаткииобороты по этим товарам/складам в разрезе регистратора. Вне транзакции это можно сделать запуском регл. задания или вести лог документов перепроведенных задним числом и уже отдельным этапом запускать анализ, но могут быть неопределенные ситуации когда уже нельзя какой точно документ все сломал, так как на момент анализа будет несколько кандидатов на нарушителя.
13 Злопчинский
 
30.10.16
14:56
Забить бодт на проблему. При оперативном проведении минуса контролируются. При заднем проведении должно быть всем запрещено выполнение действий ведущих к уменьшению остатка на складе. Если кому такое разрешено - он должен понимать последствия своих действий. Если не понимает - должно быть запрещено. Если понимает и делает корявые действия то это его проблемы
14 Torquader
 
30.10.16
15:37
(12) Проблема в том, что остатки и обороты нужно смотреть с позиции документа до последнего проведённого документа, так как наличие положительных остатков, как на момент после проведения документа, так и на конец периода не гарантируют, что где-то в середине не появится отрицательный остаток.
15 Jija Grenkov
 
30.10.16
15:45
(13) Так бывает в идеальном мире. По факту не встречал ситуаций, когда админисративно удавалось решать подобные проблемы. Как никак это постсоветский быдло бизнес, где директор часто не может понять, почему что-то нельзя делать если он платит деньги
(14) я вроде бы об этом и написал.
16 Злопчинский
 
30.10.16
16:01
(14) это в типовых, а значит для большинства восьмерочников которые боятся в типовую влезть

А так не надо ничего перебираться от и до, можно сразу сказать уходит в минус от изменения до сейчас или нет
17 Torquader
 
30.10.16
16:03
На самом деле, если мы хотим следить за "переходом через ноль", то задача достаточно простая:
Рассматриваем все движения регистра за определённый период - нас интересуют моменты списания (то есть записи отрицательного количества или записи расхода) - тогда мы получим набор моментов на оси времени со значениями минимального остатка. Соответственно, этот остаток проецируется по временной оси в отрицательную бесконечность с выбором в каждой точке минимального значения из значения в текущей точке и значения, полученного из предыдущей точки.
Таким образом, в любое место временной оси можно безболезненно вставить изменение в минус значения на указанное для данной точки значение - если мы его превышаем, то мы получаем отрицательные остатки в той точке, из которой нам пришло минимальное значение.
18 Злопчинский
 
30.10.16
16:04
(15) если за всеми сопли подтирать то так и останешься нянькой

Но вообщем да, согласен
Но я обычно сразу цену задираю повыше если начинаю техническими средствами решать организационно административные пробоемы
19 Злопчинский
 
30.10.16
16:06
(17) все гораздо проще
Достаточно свести осциллирующую функц остатка к сумме монотонно убывающих функций, обсасывали уже не один раз
20 Torquader
 
30.10.16
16:12
Самое главное, что всегда получаются "грабли", если мы хотим перенести какой-то документ по временной оси - если мы его распроводим, то отрицательный остаток, если мы создаём новый, то у него будет другой номер, так как дублирование номеров не приветствуется.

А "обычным пользователям" вообще не за чем списывать что-то задним числом - пусть пишут текущим днём, даже если документ реально вводится за вчера - основной вопрос - если вчера отгрузили, а сегодня вводят - то об отрицательных остатках в программе и говорить нечего, так как вчера товар уже отгрузили, и как бы программа не сопротивлялась - действие нужно ввести.
Если же отгружают сегодня, а по документам хотят "вчера", то не факт, что на складе вообще вчера было то, что они сегодня вчерашним числом отгружают - и ни о каком учёте при такой работе речи быть и не может.
21 Aleksey
 
30.10.16
16:26
(20) А приходы? Обнаружили что на самом деле пришла 1 штука, а девочка по ошибки ввела 10. Или вместо левой ввела правый или забыла добавить/убрать
22 Aleksey
 
30.10.16
16:27
Разруливать через возвраты поставщику/поступления? Тогда проблема собрать это все в кучу и выгрузить в правильно в бухгалтерию. Да и сверятся неудобно. У поставщика один документ у тебя их 20 приходов/возвратов размазанных по времени
23 Torquader
 
30.10.16
16:55
(21) (22) Ну, если кто-то ввёл десять вместо одного, то как он может продать или отгрузить больше одного - на складе реально будет одна штука - и как только со склада пойдёт отгрузка - выяснится, что есть расхождения данных в базе с данными на складе.
Что будет делать тот менеджер, который выставил счёт кому-то на пять, тогда как на складе одна - это выходит за рамки вопроса про отрицательные остатки, но в программе придётся все эти документы или распроводить или делать коррекцию - то есть договариваться с заказчиком об изменении времени доставки товара.
24 Aleksey
 
30.10.16
16:57
(23) Вечер склад принесет вычерки и девочки в оперзале поправят реализацию. Ибо на складе его нет и склад не сможет его физически отгрузить
25 MiniMuk
 
30.10.16
18:10
а отрицателтный на какой момент?
26 MiniMuk
 
30.10.16
18:12
Вот поставил я приход вчера 100шт карндашей и сегодня 100шт а потом каждый день списываю по 1шт. И вот через полгода удаляю один приход, что ловить?
27 vde69
 
30.10.16
18:31
у меня есть такая реализация

рег задание каждые 15 минут восстанавливает последовательность немного хитрым способом (он учитывает параллельную работу пользователей)

при возникновении минуса документ помечается маркером и регламент останавливается,

документы с маркером - шлются админу по почте...

сначала в виде маркера сделал картинку "барашки шони" такие милые в документе ... пользователи по чему-то обидились и диру написали, пришлось барашков заменить на человечком....
28 Torquader
 
30.10.16
19:02
(27) Просто, восстановление поймает первое списание, а того, кто отменил/изменил приход - не поймает.
29 Garykom
 
гуру
30.10.16
19:04
(0) Запретить работу "задним числом" для изменения приходов если по ним есть уже расход после даты прихода.
30 Torquader
 
30.10.16
20:03
(29) Ну, будет ещё больший геморрой - они знают, что в приходе ошибка, а поправить не могут.
31 Torquader
 
30.10.16
20:04
Ну или, поправят - при этом, все расходы также распроведут, чтобы не мешали, а при обратном проведении есть шанс запутаться и провести не то, что нужно.
32 Garykom
 
гуру
30.10.16
20:16
(30) есть такая штука как "сторно", которая делается текущей датой
33 vde69
 
30.10.16
20:18
(28) это не проблема, самое важное иметь оперативную (в течении получаса) инфу о факте...
34 Torquader
 
30.10.16
21:44
(32) Там есть и коррекция поступления и можно даже коррекцию коррекции поступления делать, только вот кто потом в этой последовательности вместо одного документа разбираться будет.