- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
Если Приказ.Выбран() = 1 Тогда
Если Приказ.Вид() = "Приказ" Тогда
// это все-таки приказ
Если Приказ.ТипПриказа <> Перечисление.ТипыПриказов.НаВнутреннееСовмещение Тогда
// но приказ другой, не внутреннее совмещение
Продолжить;
КонецЕсли;
Иначе
Продолжить;
КонецЕсли;
Иначе
Продолжить;
КонецЕсли;
Nagg # 0
guest # 0 ⇈
guest # 0 ⇈
guest # 0
farid # 0
viktorious # 0 ⇈
Если Приказ.Выбран() = 1 И Приказ.Вид() = "Приказ" И Приказ.ТипПриказа = Перечисление.ТипыПриказов.НаВнутреннееСо вмещение Тогда
Иначе
Продолжить
КонецЕсли;
farid # 0 ⇈
Далее после определения вида документа или справочника «Приказ» - из кода этого не понятно, идет обращение непосредсвенно к реквизиту объетка. Если мы определение вида исключим, тогда есть вариант, что у этого объекта нет такого реквизита, и мы опять сможем схватить эксепшен.
Привидений код может и не является красивым, но он ГАРАНТИРОВАНО отработает то, что ему полагается.
farid # 0 ⇈
Полупрограммисты # 0 ⇈
guest # 0 ⇈
viktorious # 0 ⇈
По идее, если Приказ.Выбран() = 1 не будет истинным, то остальные условия и не должны выполняться в любом более-менее вменяемом современном языке, и эксепшиона не будет.
Конечно, если 1С принудительно выполняет все элементы логической конструкции, тогда согласен.
guest # 0 ⇈
guest # 0 ⇈
guest # 0 ⇈
То есть если сказать "if FOO and BAR" то проверятся оба условия, даже если FOO ложно?
Ужасно. Хорошо, что 7.7 уже семнадцать лет как неактуальна
HoBorogHuu_nemyx # 0 ⇈
guest # 0 ⇈
Сейчас там 8.3, кажется. Они движутся в сторону нормального приложения с веб-интерфейсным клиентом, брокером (который распределяет работу на воркеров), поддержкой постгрес и линукс и пр
Desktop # 0 ⇈
> с веб-интерфейсным клиентом
– странно это слышать от тебя
guest # 0 ⇈
* Реализовать доступ пяти тыщ питухов проще на веб-сайт, чем на RDP ферму с клиентами (сильно проще)
* Десктопный клиент всегда тормозит
* Используется конечно какой-то пизданутый порт, который поди еще открой везде
* Для дебага там чуть ли не сервер подключается к клиенту, так что через NAT вообще плохо
guest # 0 ⇈
Такая конструкция вырабатывает правильное понимание работы алгоритма, учит писать неговнокод.
Единственная моя претензия - условия бы всё же вывернуть, чтобы "Продолжить" было 1 раз.
guest # 0 ⇈
Расскажи пожалуйста подробнее
Desktop # 0 ⇈
guest # 0 ⇈
Во-вторых все три условия можно совместить.
guest # 0
Полупрограммисты # 0 ⇈
guest # 0 ⇈
inkanus-gray # 0 ⇈
HoBorogHuu_nemyx # 0 ⇈
BOKCEJIbHblu_nemyx # 0 ⇈
PACTPOBblu_nemyx # 0 ⇈
Полупрограммисты # 0
Если ПустоеЗначение(Приказ) = 1 Тогда
продолжить;
КонецЕсли;
Если Приказ.ТипПриказа <> Перечисление.ТипыПриказов.НаВнутреннееСо вмещение Тогда
продолжить;
КонецЕсли;
guest # 0 ⇈
А если в целом - не такая уж и ересь, вы не согласны?
cmepmop # 0 ⇈
AHCKuJlbHblu_nemyx # 0 ⇈
gost # 0 ⇈
AHCKuJlbHblu_nemyx # 0 ⇈
gost # 0 ⇈
Xyu_HE_3HAET # 0 ⇈
gost # 0 ⇈
Desktop # 0 ⇈
guest # 0 ⇈
HoBorogHuu_nemyx # 0 ⇈
guest # 0 ⇈
Они, если честно,
Desktop # 0 ⇈
Holden # 0
А програмер молодец - разумные коменты пишет.
guest # 0
informatikmarazmatik # 0
Ну она же?!
Не? Точно зарплата и управление персоналом!
inkanus-gray # 0 ⇈
CTOMATOJlOr # 0 ⇈
guest # 0