Каталог решений - Когда добавлять предопределенные элементы справочников уже поздно… но ОЧЕНЬ хочется

Когда добавлять предопределенные элементы справочников уже поздно… но ОЧЕНЬ хочется

Когда добавлять предопределенные элементы справочников уже поздно… но ОЧЕНЬ хочется

В наличии

Понимание того, что некоторые элементы некоторых справочников следовало бы изначально сделать предопределенными, иногда приходит поздно. Но, как говорит Риддик голосом Ван Дизеля… "Во Вселенной ничто не происходит вовремя — или поздно, или слишком поздно"

Категория:

Описание

При разработке новых конфигураций разработчик не всегда вовремя понимает, какие элементы и в каких справочниках следует сделать предопределенными. По крайней мере у меня это стандартно происходит со справочником «СтатьиДоходовРасходов» и с некоторыми другими. Так, например, недавно для конфигурации «Интернет-магазин» ввел справочник «Страны». Пользователи его заполнили, и стали юзать… но потом возникла потребность привязать некоторые алгоритмы расчета доставки, комиссии оплаты, способов доставки и проч. к конкретным странам. Что делает в этой ситуации большинство программистов?

1. Обвинить заказчика «почему Вы мне об этом раньше не сказали»

2. Покусать себе локти «почему я сам не додумался, что так будет»

3. Использовать старый «семерочный» способ определения элемента справочника… что-то типа «Если Спр.Код = «007» Тогда….»

 

Есть конечно вариант добавить-таки предопределенные элементы, а потом групповой обработкой переписать все ссылки на новые элементы….

Я поступаю иначе. Понимая, что эта ситуация типична, будет повторяться в будущем и уйти от нее НЕВОЗМОЖНО, я в каждой своей конфигурации создаю служебный справочник «ПреодпеределенныеЭлементыСправочников» с единственным реквизитом «СправочникЯкорь» (Тип — СправочникСсылка). Когда мне понадобилось при расчете стоимости доставки выделить страну «Украина», я добавил в мой справочник предопределенный элемент «СтранаУкраина» и указал в нем ссылку на соответствующий элемент справочника «Страны», а в алгоритме расчета доставки использовал конструкцию

«Если Заказ.Страна = Справочники.ПредопределенныеЭлементыСправочников.СтранаУкраина.СправочникЯкорь Тогда…«

В этот же справочник я могу поместить ссылки на любые другие элементы любых других справочников. Например, могу создать элемент «СтатьяАмортизацияЗданийСооружений» или «ВалютаДоллар» или «КонтрагентЛюбовницаШефа»… правда, в последнем случае будет очень больно, если в этом месте программа даст сбой и выведет пользователю сообщение с соответствующим текстом из программного модуля…

has been added to your cart:
Оформление заказа