0
RetardedToBoot
25.05.20
✎
01:17
|
Подчастую в коде можно наблюдать передачу режимов выполнения в процедуру типа:
Процедура Печать(Режим = 0)
Где, Режим = 0 - один вариант печати, = 1 - другой, и т.д.
Не наглядно.
Другой вариант:
Процедура Печать(Режим = "ПростаяНакладная")
Уже лучше, но все равно использование строковых констант для этих целей как-то напрягает.
И в буковке можно где-нибудь ошибиться и не заметить, и усложнение посмотреть все варианты централизовано.
Есть еще вариант, где режим используется как строковые константы, но сверяется
с полями структуры:
Если Режим = Варианты.ПростаяНакладная Тогда // где Варианты.ПростаяНакладная = "ПростаяНакладная" и объявлена как переменная модуля
Этот вариант мне нравится больше всего, но проблемно когда нужно использовать на клиенте.
Какие еще варианты можете предложить?
|
|
4
palsergeich
25.05.20
✎
03:49
|
Благо предопределенное значение на клиенте кешируется, а на сервере старый баг,когда это не рекомендовалось - давным давно поправлен, по моему даже из стандартов убрали запрет на ПредопределенноеЗначение на сервере
|
|
6
Garykom
гуру
25.05.20
✎
08:19
|
(0) Структуры.
Проблема не в том что использовать а как чтобы не объявлять в модулях а использовать из одного общего модуля.
Фактически тут удобнее функции использовать.
Делается общий модуль Режим с экспортными функциями ОдинВариантПечати() и ДругойВариантПечати(), которые возвращают 0 и 1.
Далее банально:
Печать(Режим.ОдинВариантПечати());
Кому не нравятся скобки (лично мне пофиг) может сделать через Перем и/или структуры, будет красивей.
Печать(Режим.ВариантыПечати.Один);
|
|