Вход | Регистрация


В чём смысл конструкции ОбщегоНазначения.ОбщийМодуль("...");

В чём смысл конструкции ОбщегоНазначения.ОбщийМодуль(
Я
   bolobol
 
21.05.18 - 12:51
Бодрый день!

Может кто пояснить, в чём смысл конструкции, исключающей возможность воспользоваться Ф12:

            МодульТехнологияСервисаИнтеграцияСБСП = ОбщегоНазначения.ОбщийМодуль("ТехнологияСервисаИнтеграцияСБСП");
            МодульТехнологияСервисаИнтеграцияСБСП.ПриОпределенииНастроекРегламентныхЗаданий(Настройки);

Спасибо!
 
 
   Cool_Profi
 
1 - 21.05.18 - 12:52
Сначала читается и создаётся объект, потом вызвается его метод. Что тут сложного?
   bolobol
 
2 - 21.05.18 - 12:53
(1) Бред - не сложность
   assasu
 
3 - 21.05.18 - 12:55
(0) можно написать конечно ТехнологияСервисаИнтеграцияСБСП.ПриОпределенииНастроекРегламентныхЗаданий(...)

но есть случаи когда имя модуля хранится где то в регистре в в виде строки. А так более унифицированно
   Cool_Profi
 
4 - 21.05.18 - 12:58
(2) Для тебя бред - доступ по имени к общему модулю?
   RomaH
 
5 - 21.05.18 - 13:00
(0) если общего модуля не станет (переименуют) или еще чего - конфа просто не запуститься - от слова совсем - вывалится в синтаксис сразу

а при такой конструкции - работать перестанет только этот кусок кода
   exwill
 
6 - 21.05.18 - 13:06
(0) F12 - это неразумно. Открываешь дерево конфигурации, находишь модуль. Потом в модуле находишь процедуру. Все это может занять 3, а то и все 5 мин. При стоимости часа работы в 2000 руб. получаем 166.66 руб. Сто тысяч одинэсников дадут 16 миллионов рублей ВВП на одном таком нехитром трюке. Что делать, надо же как-то выбиваться в пятые экономики мира.
   Вафель
 
7 - 21.05.18 - 13:09
по идее должна быть проверка на Модуль <> Неопределено
   bolobol
 
8 - 21.05.18 - 13:20
(6) Точняк! А ещё и за количество строк, наверное, оплата в 1С!

Это - вот прям всё объясняет, в том числе и идею в (3), как обоснование
   Boleev
 
9 - 21.05.18 - 13:21
Мне кажется, что это такой шажок к ООП
   Boleev
 
10 - 21.05.18 - 13:22
(6) а разве переход через 33 одноименных модуля (как в ЗУП 3) не достаточно
 
 Рекламное место пустует
   Вафель
 
11 - 21.05.18 - 13:24
(10) Подожди, вот в ЗУП внедрят технику из (0). Будешь по 1ч конечную процедуру искать )))
   RomaH
 
12 - 21.05.18 - 13:26
(11) а разве еще нет?
   Вафель
 
13 - 21.05.18 - 13:28
(12) пока только в рамках БСП )))
   bolobol
 
14 - 21.05.18 - 13:38
33 бессмысленных и беспощадных перехода, заканчивающиеся ёмким и пустым "Возврат;"
   drei
 
15 - 21.05.18 - 14:30
(0) Если внимательно читать документацию по БСП, то можно узнать, что она может внедряться по подсистемам. При этом некоторые подсистемы могут отсутствовать. Вот чтобы у тебя компиляция не разваливалась и можно было работать в разных вариантах внедрения используется такое программное определение.

Но как всегда, истинные 1Сники документацию не читают, а сразу начинают брызгать.
   bolobol
 
16 - 21.05.18 - 14:41
(15) Сложно даже представить такую ситуацию...
Идёт, себе, такой код, выполняется, и вдруг... посреди выполнения - обработанное исключение, скажу я вам, вида: "общий модуль такой-то отсутствует"!
Да, исключение не на этапе контроля синтаксиса, а на этапе выполнения, т.е. - всё-таки зашли в процедуру, требующую отсутствующий модуль, ай, не повезло-то как! - вы про такие внедрения?
   H A D G E H O G s
 
17 - 21.05.18 - 14:56
(16) Нет, не про такие. БСП может использоваться в разных решениях, в некоторых из которых нет подсистем.

в (0) - просто единственный способ написать универсальный код.
Мы тоже этим способом пользуемся.
   H A D G E H O G s
 
18 - 21.05.18 - 14:58
Если АСФОбщегоНазначенияКлиентСервер.ЕстьПодсистемаАСФ_ЕГАИС() Тогда
        ОМ_АСФОбменСУТМВызовСервера=АСФОбщегоНазначенияКлиентСервер.ОбщийМодуль("АСФОбменСУТМВызовСервера");
        СтруктураВозврата=ОМ_АСФОбменСУТМВызовСервера.ИнициироватьИнтерфейсЕГАИС();
    КонецЕсли;

В некоторых наших решениях - нет подсистемы ЕГАИС и нет ОМ АСФОбменСУТМВызовСервера. Не писать же ради них отдельную процедуру, дублирующую основную на 90%
   novichok79
 
19 - 21.05.18 - 15:02
(0) это результат унификации, если общего модуля нет в конфигурации - вылетает исключение. все просто.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует