| 
    
        
     
     | 
    
  | 
В чём смысл конструкции ОбщегоНазначения.ОбщийМодуль("..."); | ☑ | ||
|---|---|---|---|---|
| 
    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) это результат унификации, если общего модуля нет в конфигурации - вылетает исключение. все просто.     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |