Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Догрузка кода в модуль документа из внешнего файла , Как реализовать догрузку кода в модуль документа          
GerasimAndMumu Подменю пользователя
сообщение 09.02.11, 21:46
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

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

Ardi Подменю пользователя
сообщение 09.02.11, 22:28
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

На самом деле модуль перед исполнением компилируется. И менять модуль из самого себя без пересоздания экземпляра объекта (перекомпиляции) я думаю нельзя. (Сорри если программерские термины попутал).
Но можно менять модуль, потом "переоткрывать" документ - и тогда будет другой модуль.

Внешний модуль можно тянуть штатными средствами или например крутой компонентой "turboMD".

====
А чтобы что-то сгенерировать и выполнить из самого модуля можно передавать контекст в обработку. Модуль которой во внешнем текстовом файле.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Zaval Подменю пользователя
сообщение 09.02.11, 22:53
Сообщение #3

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

А чем не устраивает вполне себе штатно весь модуль?

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

DartRomanius Подменю пользователя
сообщение 10.02.11, 8:51
Сообщение #4

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(Zaval @ 09.02.11, 23:53) *
А чем не устраивает вполне себе штатно весь модуль?

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


О как!....

Прошу о сим штатном методе подробнее....

Заранее сенкс.


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

shurik_shurik Подменю пользователя
сообщение 10.02.11, 11:31
Сообщение #5

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 124
Из: Полтавская обл.
Спасибо сказали: 72 раз
Рейтинг: 0

Просто в начале файла пишиТЕ инструкцию #ЗагрузитьИзФайла....
Только в текстовом файле должен быть полный код модуля... (не часть)
Причина редактирования: На 'ВЫ'

DartRomanius Подменю пользователя
сообщение 10.02.11, 12:44
Сообщение #6

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(shurik_shurik @ 10.02.11, 12:31) *
Просто в начале файла пишиТЕ инструкцию #ЗагрузитьИзФайла....
Только в текстовом файле должен быть полный код модуля... (не часть)


А это штатный механизм, или требуется что-то типа 1С++, ВК вообщем?


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

mister-x Подменю пользователя
сообщение 10.02.11, 12:53
Сообщение #7

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Із синтакс-помічника:
#ЗагрузитьИзФайла <?>

Синтаксис:
#ЗагрузитьИзФайла <ИмяФайла>

Назначение:
Переключение загрузки программного модуля на загрузку из текстового файла.
Параметры:
<ИмяФайла> - имя файла, содержащего исходный текст программного модуля (записывается без кавычек и скобок).
Замечание:
Конструкция
#ЗагрузитьИзФайла
должна записываться в первой строке программного модуля с первой позиции.
Подробнее см. в документации, глава 'Управляющие операторы'

wasdik Подменю пользователя
сообщение 10.02.11, 12:59
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 24
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(mister-x @ 10.02.11, 13:53) *
Із синтакс-помічника:
#ЗагрузитьИзФайла <?>

Синтаксис:
#ЗагрузитьИзФайла <ИмяФайла>

Назначение:
Переключение загрузки программного модуля на загрузку из текстового файла.
Параметры:
<ИмяФайла> - имя файла, содержащего исходный текст программного модуля (записывается без кавычек и скобок).
Замечание:
Конструкция
#ЗагрузитьИзФайла
должна записываться в первой строке программного модуля с первой позиции.
Подробнее см. в документации, глава 'Управляющие операторы'


Насколько я понимаю, в таком случае код выполняется только из файла, а не догружается, как хотел автор первого поста. Поправьте, если ошибаюсь... Интересно попробовать...

mister-x Подменю пользователя
сообщение 10.02.11, 13:16
Сообщение #9

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата
Насколько я понимаю, в таком случае код выполняется только из файла, а не догружается, как хотел автор первого поста. Поправьте, если ошибаюсь... Интересно попробовать...

Це директива препроцесору - ось напр., при провірці на синтакс в модулі форми/об'єкту спочатку загружається код из файлу і тоді вже відбуваються провірка на синтаксис (номер стрічки із помилкою шукаємо у зовнішньому файлі, який підгружаємо). В самому зовн. файлі Ви таку провірку не зробите.

wasdik Подменю пользователя
сообщение 10.02.11, 13:37
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 24
Спасибо сказали: 2 раз
Рейтинг: 0

Сделал маленький эксперимент, результаты рассказываю.
Скопировал код модуля формы во внешний файл. При открытии документа считывался и выполнялся код именно из внешнего файла, а код самого модуля не выполнялся. При этом код во внешнем файле можно менять "на лету"... При открытии документа повторно, выполняется уже новый код внешнего файла. У изменении одного реквизита вызывалась процедура. Я удалил эту процедуру во внешнем файле, но оставил её в модуле формы. В результате 1С выдала ошибку, что процедура не найдена, следовательно в таком случае код модуля формы не выполняется, а выполняется только код из внешнего файла.
Из вышесказанного следует что нельзя во внешнем файле использовать только часть кода, а нужно в нём располагать весь код модуля.

Спасибо сказали: DartRomanius,

mister-x Подменю пользователя
сообщение 10.02.11, 14:51
Сообщение #11

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Так працює платфома 1С 7.7- тут немає нічого нового. А для початківців буде інформацією (уроком).

Zaval Подменю пользователя
сообщение 11.02.11, 9:47
Сообщение #12

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Цитата(wasdik @ 10.02.11, 14:37) *
Из вышесказанного следует что нельзя во внешнем файле использовать только часть кода, а нужно в нём располагать весь код модуля.


Господа, читайте сообщение 2 от Ardi.

Хотите вписать в модуль нечто, выполняющее наряду с кодом модуля фрагмент динамически изменяемого кода? Почему это не может быть вызов обработки(тот же ПодборНоменклатуры вызывается из нескольких документов)?
ЗЫ. Создать/отредактировать текстовый файл программно тоже никто не запрещает)

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 12:08
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!