Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вставка программных текстов из текстовых файлов
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Вся 1С
Looks
Есть модуль формы документа, в нем есть процедура, которая может периодически корректироваться. Как текст этой процедуры заменить на текст, который находится в текстовом файле?
Alisa
Не совсем понятно. Вам что нужно - поместить написанную процедуру в текстовом файле вместо описания процедуры в модуле документа? Так открываете тот документ из которого и модуль в который - тогда выделяете то что нужно, копируете (Ctrl+C) и помещаете куда нужно (Ctrl+V). Простите но я поняла ваш вопрос так 19000000.gif
Looks
Нужно не выгоняя юзеров, изменить код определенной процедуры.
Есть ЗагрузитьИзФайла, но это для всего кода модуля, а нужно только для одной процедуры модуле в среде 1С 7.7
Looks
ПРоцедура должна загружаться или вызываться из текстового файла.
Так понятно?
Alisa
В любом случае, если Вы не работаете с внешним отчетом или обработкой (это как-бы исключение и Конфигуратор нормально сохраняет изменения при всех работающих пользователях), Вам нужно отключить всех - и все-таки применить Ctrl+C и Ctrl+V. При этом можно оставить в модуле прежнее описание процедуры (авось сгодится) забив ее двумя наклонами (//)

Цитата
ПРоцедура должна загружаться или вызываться из текстового файла.

я с таким не сталкивалась. Возможно ( поскольку текстовый файл с описанием процедуры будет меняться) - вероятно нужно в модуле описания процедуры указать путь к выполнению текстового описания процедуры. Типа - "Выполнить()" и т.д. Хотя могу ошибаться. Дождитесь может кто более дельное посоветует. 64000000.gif
Fynjy
Да так можно сделать.
Выполнить (Execute)
Синтаксис:
Выполнить(<Строка>)
Параметры:
<Строка>
Строка, содержащая текст исполняемого кода.
Описание:
Позволяет выполнить фрагмент кода, который передается ему в качестве строкового значения.
VasilyKushnir
Цитата(Looks @ 16.11.10, 19:58) необходимо зарегистрироваться для просмотра ссылки
ПРоцедура должна загружаться или вызываться из текстового файла.
Так понятно?


Например
1. #ЗагрузитьИзФайла .\EXTFORMS\ExtText\TovariTorgOldela.txt
Это все что прописано в модуле формы списка справочника товары.
2. Formex - создаем дополнительные глобальные модули и при старте 1С загружаем их, как пример:
ExtFunctions.txt содержит:

//        Функции дополнительного глобального модуля

Функция дгфЗаполнитьСтроку (СтрокаСимволов, Символ, Кво) Экспорт    Далее
Функция дгфДобавитьСимвол (ИсходнаяСтрока, Символ, Длина, Положение = 1)    Экспорт Далее
Функция КопияБазы()                                            Экспорт Далее
Функция сзУсловийСоздать()    Экспорт    Далее
Функция гмРазобратьСтроку(Стр, Рзд) Экспорт Далее
Функция дгмЭтоЦифра(Знак) Экспорт Далее
Функция дгмСформироватьАдрес(Регион) Экспорт Далее
Функция дгмПолныйАдрессКонтрагента(Контрагент) Экспорт Далее
Функция дгмЦенаКлиента (Конт,Клиент,Товар,ЦенаУч,ЦенаПродажи,ТоргНадбавка)    Экспорт    Далее
Функция дгмЦенаРозница(Конт,Клиент,Товар,ЦенаЗавода,ЦенаУч,ЦенаПродажи,ТоргНадбавка, ЦенаКлиента)        Экспорт Далее

//        ------------------------------------------------------------
Функция дгмМодуль(Чис)        Экспорт
    Если Чис < 0 Тогда
        Возврат (- Чис)
    Иначе
        Возврат Чис;  
    КонецЕсли;
КонецФункции        //  Функция дгмМодуль()

//        ------------------------------------------------------------
Функция дгмРасширить(Тек, Длина)        Экспорт
    Перем Текст;
    
    Текст    = СтрЗаменить(СокрЛП(Тек)," ", Симв(160));  // замена пробелов на 255-й символ
    
    Пока СтрДлина(Текст) < дгмМодуль (Длина) Цикл
        Если Длина < 0 Тогда
            Текст    = Текст + Симв(160);
        Иначе
            Текст    = Симв(160) + Текст;
        КонецЕсли;    
    КонецЦикла;
    
    Возврат (Текст);
КонецФункции        //  Функция дгмРасширить(Тек, Длина)


по понятным причинам весь текст не привожу.
VasilyKushnir
+ к сказанному.
в этом случае пользователей выгонять не надо, но чтобы они работали с изменениями, надо каждому закрыть и снова открыть 1С. Динамически подхватить изменения еще можно с помощью того же Формекса
- Выгрузить дополнительный глобальный модуль
- загрузить дополнительный глобальный модуль
А куда эти режимы присобачить - дело личной фантазии, не забудьте только пользователей научить нажимать кнопы Выгрузить, Загрузить. rolleyes.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.