Гибкая настройка контроля ввода документов на основании другого документа

Обработки - Обработка документов

Данная разработка предназначена для гибкой настройки ввода документов на основании другого документа. Также существует привязка к узлам.

Краткая причина возникновения данной задачи.

Раньше, когда была точка  одна и менеджеры понимали, что и как должно работать, проблем не было (по каким условия сбрасывать заявку на склад).

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

Со временем «полотно кода запретов» становилось слишком большим,и можно было сломать голову).

Еще одной причиной было, что  затем заявки попадали в WMS и там могли возникнуть какие проблемы.

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

Для работы данной схемы были созданы следующие объекты
3 модуля.
- модуль_Работы_СВводимымиОбъектамиНаОсновании
- ОбщегоНазначения
- Работа_с_КОМ

План обмена
в моем случае это «РозничныеТочки».
Общие макеты
- ИмяОбъектаСхема (схема компоновки данных,текст который мы впоследствии будем подменять)
Общие картинки
(можно вставить свою какую нить)
Справочники
-
НастройкаУсловий
Перечисление
- ВидыСтатусов
Регистры сведений
-ПривязкаНастройкиКУзлу(в нем хранится настройка условий и привязка  к узлу)
-НастройкиРИБ(в которой указывается узел и признак, включена для текущего узла или нет)

Небольшие замечания:

Модули можно объединить в какой-нибудь один, чтобы не было их столько много.

Регистр сведений «НастройкиРИБ» используется в рамках структуры базы, на которой производилась разработка, привязаться можно и к чему-нибудь другому, это уже, как говорится, по месту надо. смотреть.

Как это работает.

Заходим в справочник "настройки условий" и создаем настройку

Заполняем поле "Имя документ анализа".

Заполняем поле "Текст сообщения пользователю"(в нем указываем, почему нельзя или можно вводить документ на основании другого)

Если этот документ вводится на основании каких-либо документов, тогда у него будет присутствовать признак(картинка).

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

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

На закладке "страница настройки узлов" нужно добавить узлы, на которых будет работать наша настройка.

ВАЖНО
В документе анализа должен быть реквизит ДокументОснование со ссылкой на имя объекта, по основанию которого вводится документ!

Алгоритм следующий

шаг первый
Если включена настройка в регистре "Настройки РИБ" тогда начинает работать схема, иначе анализировать не будет ничего.
шаг второй
Если не заполнено ни одной настройки (запрета/разрешения)  по тек. узлу для моих объектов анализа, тогда считаю, что разрешено создавать при любом условии.
шаг третий
если есть настройка "запрета" (по тек узлу для моих объектов анализа),тогда анализирует условия заданные,и если совпадает, тогда отказ = истина;(выход из функции)
шаг четвертый
если есть настройка "разрешение"(по тек. узлу для моих объектов анализа),тогда анализирует условия заданные, и если ни по одному условию "разрешение" не найдено настройки, тогда отказ = истина(выход из функции)

К публикации приложил небольшую DT, в которой есть структура базы и небольшие данные (решил вынести в DT, чтобы удобнее было посмотреть)

Версия платформы, на которой производилась разработка, 1С:Предприятие 8.3 (8.3.5.1625), тестирование и внедрение на УТ 10.

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

Наименование Файл Версия Размер
Гибкая настройка контроля ввода документов на основание другого документа:
.dt 74,68Kb
03.05.18
0
.dt 74,68Kb Скачать

См. также

В этой теме еще нет сообщений.
Оставьте свое сообщение