Механизм прогнозирования отрицательных остатков по произвольному регистру

30.05.17

База данных - Инструменты администратора БД

Подключаемый механизм, позволяющий прогнозировать возникновение отрицательных остатков по любому остаточному регистру в любой конфигурации на платформе 1С 8.2 Прогнозирование работает при любом изменении регистра - проведении/отмене проведения документа, изменении проведенного документа.

Скачать файлы

Наименование Файл Версия Размер
Конфигурация
.cf 19,44Kb
85
.cf 19,44Kb 85 Скачать

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

В составе:

  1. Справочник настроек контроля (итНастройкиПрогнозированияОтрицательныхОстатков);

  2. Регистр сведений для указания актуальной настройки контроля (итРегистрыДляПрогнозированияОтрицательныхОстатков);

  3. Общий модуль с двумя процедурами (эти процедуры можно включить в любой другой модуль, и подписку тоже свою использовать).

Как настраивать:

  1. В настройке контроля указывается регистр, перечисляются измерения и ресурсы, по которым контролировать (там флажки есть). Бантиков пока мало, имя регистра вписывается руками. Измерения и ресурсы можно заполнять.
    Флажки там не просто так:
    • - по ресурсам понятно - не все их нужно контролировать онлайн
    • - по измерениям - на всякий случай, при работе онлайн бывает, что не требуется полное закрытие в ноль. Например, для заказов поставщикам - измерение цена, можно закрыть потом, все разом.
  2. Там же, в настройке, после п. 2 надо нажать кнопку "Сформировать тексты запросов" - они там же и появятся, в форме. Их можно корректировать (пока).

  3. В регистре сведений нужно еще раз написать имя регистра, указать настройку и поставить флаг.

  4. Не включил в конфигурацию подписку на событие, чтобы к метаданным не привязываться. Подойдет любая подписка для регистра накопления, событие - перед записью. Нужно настроить, чтобы она смотрела на процедуру итПередЗаписьюРегистраПрогнозированиеОтрицательныхОстатковПередЗаписью из общего модуля. Само действие выделено в отдельную процедуру, чтобы замер производительности по процедуре делать.

По настройке - все. Контроль начинает действовать.

Как работает:

  1. Перед записью набора в регистр сравниваются его старый и новый вариант. Сравнение делается одним запросом, который сформировался в настройке контроля (см п.2 настройки, "Текст запроса уменьшения по ресурсам");

  2. Если уменьшения нет, на этом все прекращается. Уменьшение - это когда уменьшается или распроводится приход, либо увеличивается расход.

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

  4. На выходе получается таблица с регистраторами и всеми контролируемыми измерениями, а также с остатками до и после изменения. Сейчас пока все, это последняя строка процедуры.

Дальше уже начинаются вариации, как интерпретировать полученную информацию. Думаю добавить регистр с настройками по пользователям, кому можно кому нельзя создавать отрицательные остатки.

Также есть планы добавить функционал:

  1. Отбор, чтобы все подряд контролировать;

  2. Возможность задавать параметры действий в случае обнаружения отрицательных остатков. Хотя бы текст сообщения задать, или вопрос какой-то спросить.

  3. Сделать форму (или обработку), которая будет открываться толковому пользователю, чтобы он увидел всю цепочку и мог, например, на время отключить контроль остатков для себя и привести эту цепочку к требуемому виду.

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

На всякий случай прикладываю cf, вдруг кому интресно. Платформа 8.2.13.219, тестировалось на УПП 1.3.12.1.

P.S. Проводил замер производительности: включил контроль по регистру ТоварыНаСкладах, перепровел складские документы за месяц - получилось 1.5 % времени уходило на весь контроль. Не знаю, много это или мало. Также буду признателен, если кто-нибудь разбирающийся в оптимальности запросов, глянет мои запросы и подскажет, где там есть неоптимальность.

См. также

SALE! 15%

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

33529 28500 руб.

21.04.2017    89864    105    39    

188

Модуль "Ответственное хранение" или фулфилмент (FBS / FBO) для 1С:УТ 11.5, КА 2.5, ERP 2.5

Логистика, склад и ТМЦ Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Модуль "Ответственное хранение" для 1С (УТ 11.5, КА 2.5, ERP 2.5) позволяет организовать учет ответственного хранения товаров с весовыми характеристиками, в том числе со сроком годности и личным кабинетом Поклажедателя. Модуль реализован в виде расширения конфигурации, устанавливается в режиме 1С:Предприятие 8 за 5 минут по инструкции, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С".

60000 руб.

09.06.2020    34046    27    57    

54

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 руб.

29.10.2014    209822    620    524    

438

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150383    365    375    

499

AS WMS: автоматизация склада с адресным хранением с помощью ТСД

Логистика, склад и ТМЦ Платформа 1С v8.3 Россия Платные (руб)

Подсистема управления складом AS WMS для конфигураций на платформе 1С 8. AS WMS – готовое решение для эффективного управления адресным складом. Внедрение системы AS WMS способствует быстрому отбору товара, ускорению инвентаризации, снижению зависимости от персонала, исключению пересорта. AS WMS встраивается в любую конфигурацию на платформе 1С 8 и работает как единая система без обменов. В учетной системе нет необходимости менять процессы под AS WMS (например, вводить ордерную схему), AS WMS использует стандартные документы по товародвижению вашей учетной системы.

40000 руб.

26.07.2023    3080    13    0    

8

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11 / КА 2 / ERP 2. Переносятся документы, справочники и остатки

Обмен между базами 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2. Перенос данных находится в продаже с 2015 года, постоянно развивается, им воспользовались уже более 240 компаний. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

50722 45650 руб.

24.04.2015    190290    268    238    

268
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Magister 134 04.10.11 15:57 Сейчас в теме
Однозначно плюс за подробное описание и реализацию.
Нужно попробовать внедрить себе :)
1c-intelligence; +1 Ответить
2. artbear 1447 04.10.11 16:13 Сейчас в теме
Интересная идея, нужно обдумать плюсы и минусы.
1c-intelligence; +1 Ответить
3. charushkin 104 05.10.11 07:35 Сейчас в теме
artbear пишет:
плюсы и минусы

Да простит меня автор, но минус могу сходу подсказать :)
На примере 10-й торговли: проводим документ "Резервирование товаров", по логике автора уменьшения нет (ну правильно, мы ведь увеличили количество в резерве), а по логике программы - на свободном остатке может образоваться "минус" - если количество в резерве превысит количество на складе.

Справедливости ради, стоит заметить, что в новых конфигурациях есть отдельный регистр - "Свободные остатки". ПО нему такой контроль вполне сработает :)
4. 1c-intelligence 12769 05.10.11 07:45 Сейчас в теме
(3) hulio,

Это скорее минус УТ 10.

Есть также обходной вариант - если смотрели настройку прогнозирования, то там можно корректировать созданный программно запрос. В данном случае нужно усложнить запрос, скучковав все 4 регистра товаров, как это делается в УТ 10 (товары на складах минус в резерве минус к передаче плюс к получению).

Что скажете?
5. pt_olga 61 07.10.11 22:41 Сейчас в теме
не уловила смысла этого творения, хоть и достаточно внушительного. Зачем заниматься прогнозом отрицательных остатков, если можно их просто не допускать?
6. 1c-intelligence 12769 08.10.11 16:34 Сейчас в теме
(5) pt_olga, в этом и смысл - спрогнозировать возникновение отрицательных остатков и не допустить его. Согласитесь, чтобы не допустить, надо сначала спрогнозировать.
8. pt_olga 61 09.10.11 23:17 Сейчас в теме
zaebunga пишет:

(5) pt_olga, в этом и смысл - спрогнозировать возникновение отрицательных остатков и не допустить его. Согласитесь, чтобы не допустить, надо сначала спрогнозировать.


если "прогноз" заменить на "проверку" возможности списания, то соглашусь.
Дело в том,что специфика моей работы подразумевает постоянную работу по отгрузке дефицитных товаров,
т.е. отделы продаж на перегонки резервируют появившийся на складе товар.
Как таковой прогноз нам не нужен, тут к гадалке не ходи, что через час разметут.))

Оперируем механизмами по недопущению вылета в минус.
7. 1cspecialist 1460 09.10.11 16:32 Сейчас в теме
(0) Идея не нова - в свое время она не раз поднималась в конференции разработчиков 1с (partners.v8.1c.ru). Автор молодец, что попытался ее реализовать. Но как обычно в жизни бывает - есть большое НО.
Подскажите, как решается проблема с перепроведением например документа ПТиУ? Именно с "перепроведением", т.к. именно в этом случае предложенный способ контроля не сработает (для просто "проведения" или "отмены проведения" сработает), или убедите меня в обратном.
Поясню.
Не для кого не секрет, что в случае перезаписи набора записей регистра (например, в случае перепроведения документа) происходит не одна, а две итерации записи. Первая - очищает (удаляет) текущие записи (производится запись пустого набора), вторая записывает новый набор записей в регистр. Я посмотрел код этой разработки. В процедуре "ПередЗаписью" модуля набора записей регистра производится сравнение записываемого набора с текущими записями регистра. Тут-то и произойдет ошибка на первой итерации. Ведь записываемый набор записей придет пустой, что фактически для данного контроля будет означать, что уменьшили приход и соответственно могут быть отрицательные остатки в будущих расходных накладных.
9. ZLENKO 398 22.05.12 18:26 Сейчас в теме
(7) Вот именно что основная фишка этого метода в том чтобы он корректно работал при проведении, отмене проведения и перепроведении.
Особенно учитывая то что в типовых конфигурациях при перепроведении регистры товарных остатков очищаются чтобы обеспечить корректность контроля остатков.
А при применении этого метода штатный контроль остатка уже не нужен, т.е. и очистку существующих движений можно убрать. Таким образом достигается оптимизация записи регистров при перепроведении о которой 1С так много писали, но по факту она в типовых так и не реализована (точнее реализована но не используется). Но при убирании очистки появляются проблемы наличия движений у непроведенных документов (при неудачной попытке проведения и последующей просто записью).
А плюс ко всему этому заказчик для некоторых документов захотел разрешить возникновение минусов и соответственно пришлось разрешить даже если минус есть но это приход и минус ним уменьшается, а если расход и минус увеличивается то запретить. Вот такая вот у меня эпопея с этим методом была.
То что тут у автора к сожалению не смотрел - сейчас мне не актуально.
10. koladen 17 27.06.13 11:45 Сейчас в теме
Оставьте свое сообщение