Задача 180.8456

Задача :180.8456

2016-08-30 16:01:05
Краткое описание :
Возможность не обновлять документ после выполнения алгоритма.\
Описание :
Потребности в материальных ресурсах (УПЛ)
Что измененно :
В настоящий момент после запуска и завершения работы любого
алгоритма в документе "Потребность в материалах" (и других документах MnPlan),
происходит обновление и перерисовка документа. В случае, если документ большой,
то на обновление уходит 10 секунд и более.
На предприятии КОАО "Азот" специалисты управления снабжения работают с большой
потребностью в материалах, в которой агрегированы потребности всех
подразделений. При этом работа с потребностью, в том числе, заключается в
постоянном запуске различных алгоритмов. Некоторые из этих алгоритмов не
выполняют никаких действий с документом, а просто отображают какую-либо
информацию в отдельно появляющемся окне. Как раз по таким алгоритмам у клиента
большой негатив - действия никакие не совершаются, но после завершения
алгоритма происходит длительное обновление документа.
К таким алгоритмам, например, относятся алгоритм 47 "Просмотр связей
документов", 52 (используется несколько JS, которые просто отображают
необходимую информацию). Также есть несколько алгоритмов, написанных нашими
программистами на VIP, которые не выполняют никаких действий, а просто
отображают информацию в отдельном окне. Само обновление документа выполняется
не алгоритмом, а интерфейсом потребности, поэтому через алгоритм, к сожалению,
мы не можем повлиять на этот процесс.
Необходимо предоставить возможность, чтобы по завершению работы алгоритма,
который однозначно не может вносить никаких изменений в документ, не
происходило обновление документа.
Как измененно :
Предлагается следующее решение проблемы - вместо используемого
алгоритма будет использоваться пакетный, в котором первым будет запускаться
требуемый алгоритм, а вторым - 52 алгоритм, где в поле редактирования скрипта
будет только одна команда - EnvironmentSetStr('Stop_RereadRecord_MnPlan', 1);
с помощью которой будет устанавливаться флажок блокировки перерисовки
текущего планового документа. Для корректной отработки данной команды для
скрипта необходимо определить библиотеку "Работа с переменными окружения".
После выполнения данного пакета программа будет считывать этот флажок и, если
его значение будет равным '1', перерисовка полей будет блокироваться. Для
любого другого значения или при отсутствии данной переменной перерисовка
осуществляться будет. Данную переменную можно также устанавливать через код
VIP(для алгоритмов, разработанных пользователем) с помощью функции
pEnvironment.EnvironmentSetStr('Stop_RereadRecord_MnPlan', '0'); объекта
pEnvironment (см ..\CompSrc\M\M_MnPlan\vip\Resource\Environment.vih и
..\CompSrc\M\M_MnPlan\vip\Resource\Environment.vip)

Название продукта Название компонента Тип Последняя версия Дата выхода
M_MNPLANM_MNPLANRES9.1.48.02016-08-30 16:01:05