8.х #ЗагрузитьИзФайла

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем ИПФ, 13 дек 2008.

  1. TopicStarter Overlay
    ИПФ
    Offline

    ИПФ

    Регистрация:
    30 июл 2007
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    В 77 есть конструкция {#ЗагрузитьИзФайла \АдресФайла\} удобна тем, что
    при активации модуля его код для исполнения считывается из текста, размещенного в файле
    "АдресФайла".

    Мне встречались публикации в которых упоминается, что в 8.Х тоже
    имеется такая возможность.

    Так ли это. И если так, то какова идея или м.б. есть ссылка с ее описанием.
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    В 8.х такого нет.
    Видимо, вы имеете ввиду запуск обработки внешней...
  3. TopicStarter Overlay
    ИПФ
    Offline

    ИПФ

    Регистрация:
    30 июл 2007
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Я имею достаточный опыт работы как с Внешними обработками так и с конструкцией #ЗагрузитьИзФайла. У меня в активе на ПЛ.77 была распределенная конфигурация из восьми функционально ориентированных независимых фрагментов. Коды почти всех модулей конфигурации я располагал в текстовых файлах. Это упрощало мне коррекцию кодов однотипных модулей конфигураций фрагментов.
    У меня стойкое убеждение, что рассматриваемая в ТЕМЕ Возможность для 8.Х существует.
  4. lazy
    Offline

    lazy Модераторы Команда форума Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Теоретически можно попробовать поиграть с оператором:
    Т.е. считываем из файла через ЧтениеТекста куски кода, скармливаем этому оператору, смотрим, что получилось. Проверять сейчас некогда, а то может быть и кодом поделился...
  5. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    В теория - можно. Практически - смысла большого нет. Ибо код, выполняемый в рамках ВЫПОЛНИТЬ сначала транслируется в байт-код ("компилируется") и только потом выполняется. При большом коде косвенные потери на вторичные операции существенны (около 20-30% времени выполнения)

    В рамках 8.х официальный ответ был (смотрите партнерский форум), что такой возможности в типовом функционале нет и не планируется. С чем я совершенно согласен.
    Иначе это будет офигенная дыра в безопасности.

    ЗЫ. Да, в случае, когда у вас УРБД такой код, тем паче, не следует размещать во внешних файлах - рискуете нарваться на разную логику поведения :)

    В рамках 8.х УРБД - работает немного по другим принципам.
  6. lazy
    Offline

    lazy Модераторы Команда форума Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Согласен с BabySG. Смысла особого нет. За два года, что я с 8.х ни разу не приходилось этой штукой пользоваться. :unsure:
  7. TopicStarter Overlay
    ИПФ
    Offline

    ИПФ

    Регистрация:
    30 июл 2007
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    С Оператором Выполнить("...") я знаком и пробовал применить его обработке. Но согласен с тем , что особого смыла в его использовании нет.
    Согласен с тем, что УРБ в 8.Х эффективно и городить свое поводов намного меньше чем в 7.7.
    Но я встречал публикацию, в которой автор использовал метод догрузки кода из файла для щадящей коррекции штатных текстов с целью в последующем упростить процесс восстановления правок после обновления кнфмгурации. При этом, как мне показалось, оператор выполнить() он не использовал. Хотя потенциально в некоторых случаях видимо его использования достаточно. Но представить потояную догрузку файла с кодом, например, в цикле исполняемой программы трудно.

Поделиться этой страницей