Ускорение работы пользователей 1с
Разработки

Оперативный контроль минусовых остатков

Пользователи постоянно задают вопрос «Что такое проведение документа оперативно или не оперативно?» А вы знаете, что это означает? А знаете, что только при оперативном проведении контролируются отрицательные остатки?
 

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

 

«Это как подпись документа в реальной жизни. Документу придали силу. До подписи (проведения) — это просто бумажка, после — событие!»


 

Оперативное проведение — это проведение документа текущим временем.

 

Не оперативное проведение — это проведение до текущего времени, т.е. в тот же день, тот же час, пусть на секунду раньше текущего времени — это уже не оперативное проведение.

Но это не совсем верное определение.

 

Классический вариант не оперативного проведение — это перепроведение документов с датой меньше текущей. Будущей датой в 1с документ провести в принципе нельзя в типовых конфигурациях. Разработчики из фирмы 1С, судя из своего опыта и поддержки 1с7.7, решила, что в новых конфигурациях на платформе 1с8 контроль остатков (товаров, взаиморасчетов и т.д.) будет проводиться только при оперативном проведении, а при не оперативном проведении документ будет проведен всегда.


Почему именно так решили все за конечных пользователей и даже не дали альтернативы выбора?

 

Альтернатива есть, но не везде. В конфигурации «1С: Бухгалтерии» контроль работает и так, и так. А вот в «1С: Управление торговлей» или «1С: Комплексная автоматизация» или «1С: Управление производственным предприятием» только оперативно.


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

 

Спросим себя и их: это действительно хорошее решение?


 

Подобие контроля

 

В программе 1с заложена логика, что если мы проводим документ оперативно, то мы контролируем остатки на наличие на дату документа при проведении, а если мы в прошлом периоде проводим документ, вы удивитесь, но контроль напрочь отсутствует?!

 

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

 

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


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


С нашей точки зрения проверка минусов должна проверяться даже не на дату документа, а на конец периода ведения учета от даты документа!

 

Еще лучше – проверять по условию возникновения минуса по-сути, как таковой, в дальнейшем от даты документа. Это гораздо правильней. Ведь если есть в наличие товар на складе, то он и на конец периода будет в наличии. Стало быть, и контроль минусов будет полноценный, когда бы ни проводился документ, после него минус не должен возникать до конца всего периода. Т.е. провели в прошлом периоде задним числом документ — он должен в принципе не создавать минус после себя ни в каком-либо интервале времени. В типовом исполнении он контролируется лишь на дату документа, а дальше хоть трава не расти.

 

Вот яркий пример. Числится на складе на 1-е число 10 штук. Продали 2-го — 3 штуки и 4-го — 5 штук. Остаток 2 штуки. Затем взяли и по какой-либо причине добавили документ 3-го числа на 3 штуки. И программа, вуаля, проводит документ. Ведь на 3-е число числится в системе 7 штук (10 — 3). А на 5-е число возникает минус 1 (10-3-3-5). Как так? И это при условии контроля отрицательных остатков в правах!


 

Оперативное время в не оперативной дате


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

 

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

 

 

Или вот еще. Что значит провести документ оперативно не в текущей дате, например, в предыдущей? Тут до смешного возникает одна ошибка, что время указывается текущего дня, а дата прошлого дня. Несуразица какая-то. Документ в прошлом периоде. Время то почему вдруг измениться должно. Оперативное время в не оперативной дате?


 

Контроль имеет смысл только при оперативной работе? А если задним числом что-то «съехало» — это результат работы задним числом. Виноват тот, кто «сломал» – допустил минус, тот пусть и отвечает за свои действия? Ну, тогда и контролировать нужно по-другому.



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


И что значит: специально сделана эта возможность? Специально — это определяется в настройках доступа пользователя, что ему дана возможность проведения с отрицательным исходом проведения. А если у пользователя нет такого права, то разницы никакой не должно быть. Должен быть всегда оперативный контроль остатков по минусам. На нашей практике практически везде это отключаем. И заменяем на более жесткое ограничение по правам. И, с нашей точки зрения, это правильный подход. Это исключает наличие отрицательных остатков.

 

А также лучше создавать отдельную систему «Контроль отрицательных остатков» в виде отчетности или контролов в работе.


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


 

Вывод


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


Каждый пользователь 1с, который видит слова на экране: провести документ оперативно или не оперативно, задается вопросом: что это значит? Писали бы уже сразу: контролировать списание остатков на минус или не контролировать. Зачем путать пользователей? Если логика программы предполагает оперативное проведение документов только в текущем дне, то по-умолчанию так и проводить, не спрашивая.


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


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

Нравится 0 Не нравится
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.
Добавить комментарий
Ваше имя: *
Ваш e-mail: *
Вопрос: Юзабилити - это удобство работы в программе?
Ответ:
Код: Кликните на изображение чтобы обновить код, если он неразборчив
Введите код: