|   |   | 
| 
 | В чём смысл конструкции ОбщегоНазначения.ОбщийМодуль("..."); | ☑ | ||
|---|---|---|---|---|
| 0
    
        bolobol 21.05.18✎ 12:51 | 
        Бодрый день!
 Может кто пояснить, в чём смысл конструкции, исключающей возможность воспользоваться Ф12: МодульТехнологияСервисаИнтеграцияСБСП = ОбщегоНазначения.ОбщийМодуль("ТехнологияСервисаИнтеграцияСБСП"); МодульТехнологияСервисаИнтеграцияСБСП.ПриОпределенииНастроекРегламентныхЗаданий(Настройки); Спасибо! | |||
| 1
    
        Cool_Profi 21.05.18✎ 12:52 | 
        Сначала читается и создаётся объект, потом вызвается его метод. Что тут сложного?     | |||
| 2
    
        bolobol 21.05.18✎ 12:53 | 
        (1) Бред - не сложность     | |||
| 3
    
        assasu 21.05.18✎ 12:55 | 
        (0) можно написать конечно ТехнологияСервисаИнтеграцияСБСП.ПриОпределенииНастроекРегламентныхЗаданий(...)
 но есть случаи когда имя модуля хранится где то в регистре в в виде строки. А так более унифицированно | |||
| 4
    
        Cool_Profi 21.05.18✎ 12:58 | 
        (2) Для тебя бред - доступ по имени к общему модулю?     | |||
| 5
    
        RomaH naïve 21.05.18✎ 13:00 | 
        (0) если общего модуля не станет (переименуют) или еще чего - конфа просто не запуститься - от слова совсем - вывалится в синтаксис сразу
 а при такой конструкции - работать перестанет только этот кусок кода | |||
| 6
    
        exwill 21.05.18✎ 13:06 | 
        (0) F12 - это неразумно. Открываешь дерево конфигурации, находишь модуль. Потом в модуле находишь процедуру. Все это может занять 3, а то и все 5 мин. При стоимости часа работы в 2000 руб. получаем 166.66 руб. Сто тысяч одинэсников дадут 16 миллионов рублей ВВП на одном таком нехитром трюке. Что делать, надо же как-то выбиваться в пятые экономики мира.     | |||
| 7
    
        Вафель 21.05.18✎ 13:09 | 
        по идее должна быть проверка на Модуль <> Неопределено     | |||
| 8
    
        bolobol 21.05.18✎ 13:20 | 
        (6) Точняк! А ещё и за количество строк, наверное, оплата в 1С!
 Это - вот прям всё объясняет, в том числе и идею в (3), как обоснование | |||
| 9
    
        Boleev 21.05.18✎ 13:21 | 
        Мне кажется, что это такой шажок к ООП     | |||
| 10
    
        Boleev 21.05.18✎ 13:22 | 
        (6) а разве переход через 33 одноименных модуля (как в ЗУП 3) не достаточно     | |||
| 11
    
        Вафель 21.05.18✎ 13:24 | 
        (10) Подожди, вот в ЗУП внедрят технику из (0). Будешь по 1ч конечную процедуру искать )))     | |||
| 12
    
        RomaH naïve 21.05.18✎ 13:26 | 
        (11) а разве еще нет?     | |||
| 13
    
        Вафель 21.05.18✎ 13:28 | 
        (12) пока только в рамках БСП )))     | |||
| 14
    
        bolobol 21.05.18✎ 13:38 | 
        33 бессмысленных и беспощадных перехода, заканчивающиеся ёмким и пустым "Возврат;"     | |||
| 15
    
        drei 21.05.18✎ 14:30 | 
        (0) Если внимательно читать документацию по БСП, то можно узнать, что она может внедряться по подсистемам. При этом некоторые подсистемы могут отсутствовать. Вот чтобы у тебя компиляция не разваливалась и можно было работать в разных вариантах внедрения используется такое программное определение.
 Но как всегда, истинные 1Сники документацию не читают, а сразу начинают брызгать. | |||
| 16
    
        bolobol 21.05.18✎ 14:41 | 
        (15) Сложно даже представить такую ситуацию... 
 Идёт, себе, такой код, выполняется, и вдруг... посреди выполнения - обработанное исключение, скажу я вам, вида: "общий модуль такой-то отсутствует"! Да, исключение не на этапе контроля синтаксиса, а на этапе выполнения, т.е. - всё-таки зашли в процедуру, требующую отсутствующий модуль, ай, не повезло-то как! - вы про такие внедрения? | |||
| 17
    
        H A D G E H O G s 21.05.18✎ 14:56 | 
        (16) Нет, не про такие. БСП может использоваться в разных решениях, в некоторых из которых нет подсистем.
 в (0) - просто единственный способ написать универсальный код. Мы тоже этим способом пользуемся. | |||
| 18
    
        H A D G E H O G s 21.05.18✎ 14:58 | 
        Если АСФОбщегоНазначенияКлиентСервер.ЕстьПодсистемаАСФ_ЕГАИС() Тогда
 ОМ_АСФОбменСУТМВызовСервера=АСФОбщегоНазначенияКлиентСервер.ОбщийМодуль("АСФОбменСУТМВызовСервера"); СтруктураВозврата=ОМ_АСФОбменСУТМВызовСервера.ИнициироватьИнтерфейсЕГАИС(); КонецЕсли; В некоторых наших решениях - нет подсистемы ЕГАИС и нет ОМ АСФОбменСУТМВызовСервера. Не писать же ради них отдельную процедуру, дублирующую основную на 90% | |||
| 19
    
        novichok79 21.05.18✎ 15:02 | 
        (0) это результат унификации, если общего модуля нет в конфигурации - вылетает исключение. все просто.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |