Андрей Морев (Z1) апрель 2002 Предисловие
Надеюсь, данная статья поможет многим значительно улучшить свои конфирурации
незначительными усилиями.
Постановка задачи
Возникла необходимость запретить пользователям выбирать во всех документах (в шапке
и табличной части) любые элементы справочников, помеченные на удаление. Во всех отчетах
и обработках помеченные на удаление элементы справочников выбирать можно.
Например, если товар помечен на удаление, то его уже нельзя ни продавать, ни принимать.
А отчет по остаткам этого товара сформировать можно.
При решении этой задачи исходили из следующих принципов:
- Сделать за короткие сроки
-
- Должны работать без изменений любые внешние отчеты, обработки
- Решение должно без особых проблем встраиваться в другие конфирурации
Решение
Один из способов решения задачи: написать для выбора элементов в документах свои формы и
именно в этих формах запрещать/разрешать выбор элементов, помеченных на удаление. Этот путь
не подошел, поскольку формы справочников были очень сложные пришлось бы их полностью
продублировать, и в дальнейшем любое изменение в форме справочников вносить в несколько мест.
Вместо этого было сделано следующее.
Во все формы документов была вставлен следующий код
Процедура ОбработкаВыбораЗначения(ВыбЗнач,Идент,Флаг)
Если ПустоеЗначение(ВыбЗнач) = 1 Тогда
return;
КонецЕсли;
Если ТипЗначенияСтр( ВыбЗнач) <> "Справочник" Тогда
Возврат;
КонецЕсли;
Если ВыбЗнач.ПометкаУдаления() = 1 Тогда
Предупреждение("НИЗЯ!");
Флаг = 0;
КонецЕсли;
КонецПроцедуры
|
Также в документы, где используется подбор, добавили аналогичный код:
Процедура ОбработкаПодбора (ВыбЗнач)
Если ТипЗначенияСтр(ВыбЗнач) = "Справочник" Тогда
Если ВыбЗнач.Выбран() = 1 Тогда
Если ВыбЗнач.ПометкаУдаления() = 1 Тогда
Предупреждение("НИЗЯ!");
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
// далее текст подбора
КонецПроцедуры
|
Таким образом поставленная задача была решена.
Дальнейшие усовершенствования
Каждый для себя сам сможет что-либо улучшить. Можно, например, разграничить право выбора
по пользователям, по видам документов , по видам справочников. Можно разработать другие
критерии "плохих элементов".
Замечания, пожелания, предложения можно высказать автору по
электронной почте.
|