IT Студия Programmist1C
Услуги
  • Внедрение и сопровождение 1С
    • Маркировка импорта обуви
    • Hастройка 1С
    • Обслуживание 1С
    • Программирование 1С
    • Доработка 1С
    • Автоматизация 1С
    • Сопровождение 1С
    • Внедрение 1С
  • Создание сайтов
    • Посадочные страницы
    • Корпоративные сайты
    • Интернет-магазины
  • Битрикс24
    • Техническая поддержка Битрикс24
    • Внедрение Битрикс24
    • Интеграции Битрикс24
  • Реклама и продвижение
    • Оптимизация сайтов
    • Контекстная реклама
    • SEO для интернет-магазинов
    • Продвижение сайтов
Проекты
  • Внедрение 1С
  • Создание WEB Сайтов
Компания
  • О компании
  • Партнеры
  • Реквизиты
  • Вопрос ответ
Пресс-центр
Контакты
Ещё
    Задать вопрос
    +7 (985) 141-74-63
    info@programmist1c.ru
    Москва, ул. Генерала Кузнецова, 17Б
    +7 (985) 141-74-63
    IT Студия Programmist1C
    Услуги
    • Внедрение и сопровождение 1С
      • Маркировка импорта обуви —
      • Hастройка 1С —
      • Обслуживание 1С —
      • Программирование 1С —
      • Доработка 1С —
      • Автоматизация 1С —
      • Сопровождение 1С —
      • Внедрение 1С
    • Создание сайтов
      Создание сайтов
      • Посадочные страницы —
      • Корпоративные сайты —
      • Интернет-магазины
    • Битрикс24
      Битрикс24
      • Техническая поддержка Битрикс24 —
      • Внедрение Битрикс24 —
      • Интеграции Битрикс24
    • Реклама и продвижение
      Реклама и продвижение
      • Оптимизация сайтов —
      • Контекстная реклама —
      • SEO для интернет-магазинов —
      • Продвижение сайтов
    Проекты
    • Внедрение 1С
    • Создание WEB Сайтов
    Компания
    • О компании
    • Партнеры
    • Реквизиты
    • Вопрос ответ
    Пресс-центр
    Контакты
      IT Студия Programmist1C
      Услуги
      • Внедрение и сопровождение 1С
        • Маркировка импорта обуви —
        • Hастройка 1С —
        • Обслуживание 1С —
        • Программирование 1С —
        • Доработка 1С —
        • Автоматизация 1С —
        • Сопровождение 1С —
        • Внедрение 1С
      • Создание сайтов
        Создание сайтов
        • Посадочные страницы —
        • Корпоративные сайты —
        • Интернет-магазины
      • Битрикс24
        Битрикс24
        • Техническая поддержка Битрикс24 —
        • Внедрение Битрикс24 —
        • Интеграции Битрикс24
      • Реклама и продвижение
        Реклама и продвижение
        • Оптимизация сайтов —
        • Контекстная реклама —
        • SEO для интернет-магазинов —
        • Продвижение сайтов
      Проекты
      • Внедрение 1С
      • Создание WEB Сайтов
      Компания
      • О компании
      • Партнеры
      • Реквизиты
      • Вопрос ответ
      Пресс-центр
      Контакты
        IT Студия Programmist1C
        IT Студия Programmist1C
        • Услуги
          • Назад
          • Услуги
          • Внедрение и сопровождение 1С
            • Назад
            • Внедрение и сопровождение 1С
            • Маркировка импорта обуви
            • Hастройка 1С
            • Обслуживание 1С
            • Программирование 1С
            • Доработка 1С
            • Автоматизация 1С
            • Сопровождение 1С
            • Внедрение 1С
          • Создание сайтов
            • Назад
            • Создание сайтов
            • Посадочные страницы
            • Корпоративные сайты
            • Интернет-магазины
          • Битрикс24
            • Назад
            • Битрикс24
            • Техническая поддержка Битрикс24
            • Внедрение Битрикс24
            • Интеграции Битрикс24
          • Реклама и продвижение
            • Назад
            • Реклама и продвижение
            • Оптимизация сайтов
            • Контекстная реклама
            • SEO для интернет-магазинов
            • Продвижение сайтов
        • Проекты
          • Назад
          • Проекты
          • Внедрение 1С
          • Создание WEB Сайтов
        • Компания
          • Назад
          • Компания
          • О компании
          • Партнеры
          • Реквизиты
          • Вопрос ответ
        • Пресс-центр
        • Контакты
        • +7 (985) 141-74-63
        info@programmist1c.ru
        Москва, ул. Генерала Кузнецова, 17Б
        • Главная
        • Примеры программирования

        v8: Доступ к глобальным переменным, процедурам и функциям из общих модулей

        Мы всегда на связи
        Заказать звонок
        Написать сообщение

        Не секрет, что в общих модулях 8.0 не видны экспортируемые переменные, процедуры и функции модуля приложения. Ниже предлагается некоторое решение этой проблемы.
        Автор статьи: Волшебник | Редакторы: Rovan, Гений 1С
        Последняя редакция №6 от 12.10.06 |


        Ключевые слова: глобальных, экспорт, переменные, видимость, общих, модулей


        Небольшим заместителем глобальных переменных могут служить параметры сеанса, которые доступны в общих модулях. Но параметры сеанса могут сохранять не все типы значений, например, не получится так сохранить коллекцию значений (массив, структуру, список значений, таблицу значений и т.д.) Без преобразования в строку эти значения нельзя сохранить в параметре сеанса.

        Кроме того, в параметрах сеанса не получается хранить сложные объекты, типа COM-объектов (в том числе из внешних компонент), обработок и др.

        В некоторых случаях будет полезным следующий трюк:

        В конфигурации создается обработка, которая обеспечивает доступ к модулю приложения из общего модуля.

        В модуле обработки (не путать с модулем формы) размещаются следующие процедуры и функции:

        //------------------------- 
        Функция Получить(Выражение) Экспорт 
            Возврат Вычислить(Выражение); 
        КонецФункции 
        
        
        //------------------------- 
        Процедура Установить(Имя, Значение) Экспорт 
           Выполнить(Имя +" = Значение"); 
        КонецПроцедуры 
        
        //------------------------- 
        Процедура ВыполнитьПрограмму(Текст) Экспорт 
           Выполнить(Текст); 
        КонецПроцедуры 
        //-------------------------


        Теперь в процедурах и функциях общих модулей можно делать следующие вещи:

        Процедура Тест() Экспорт 
        
        //создаем объект типа ОбработкаОбъект.XXX 
        гл = Обработки.гл.Создать(); 
        
        //получение значения переменной 
        а = гл.Получить("а"); 
        
        //коллекции значений передаются "по ссылке", т.е. 
        //ниже можно изменять ее элементы и они будут изменяться 
        //в глобальной переменной 
        
        //установить значение глобальной переменной 
        гл.Установить("а",10); 
        
        //вызвать экспортную процедуру модуля приложения 
        гл.ВыполнитьПрограмму("проц()"); 
        
        //вызвать функцию и получить ее возвращаемое значение 
        а = гл.Вычислить("функ()");
        
        КонецПроцедуры 
        -----------------


        Я думаю, вы выясните самостоятельно, как передавать параметры в процедуры и функции.

        Еще хочу заметить, что такая обработка представляет собой ДЫРУ В БЕЗОПАСНОСТИ, потому что позволяет выполнить произвольный программный код и вызвать любую процедуру или функцию модуля приложения и общих модулей.

        Еще хочу заметить, что этот трюк не соответствует идеологии платформы и возможно, что такая конфигурация не пройдет "1С:Совместимо", станет запутаннее и сложнее.

        Кроме того, обращение к глобальным переменным будет довольно накладным (требуется создание объекта ОбработкаОбъект), но целью данной статьи является демонстрация технологических возможностей платформы на принципах "AS-IS". Вся ответственность за ваши программы лежит на вас.

        Рекомендуется по возможности:
        1. Обходиться вообще без глобальных переменных
        2. Передавать информацию через параметры процедур и функций
        3. Использовать параметры сеанса
        4. Не допускать выполнения чужого программного кода
        5. Комментировать сложные участки программы
        Услуги
        Внедрение и сопровождение 1С
        Создание сайтов
        Битрикс24
        Реклама и продвижение
        Компания
        О компании
        Партнеры
        Реквизиты
        Вопрос ответ
        Проекты
        Пресс-центр
        Контакты
        Возможности
        Подписка на рассылку
        +7 (985) 141-74-63
        Заказать звонок
        info@programmist1c.ru
        Москва, ул. Генерала Кузнецова, 17Б
        Версия для печати
        Политика конфиденциальности
        © 2021 Все права защищены.
        Заказать звонок
        Написать сообщение