gifts2017

изменение кода модулей без переоткрытия формы.

Опубликовал Николай (nikolka75) в раздел Программирование - Практика программирования

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

В разработке использована библиотечка  для чтения текста из модулей внешних обработок.
(Разработка внешних компонент для 1С V7.7 на ассемблере.
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=130&lid=7106.)

В процессе программирования в 1С порою возникает необходимость
выполнять модуль с измененным кодом не пере открывая формы.
Например, часть вычислений мы уже сделали если мы закроем форму
то потеряем эти вычисления...
Поэтому хотелось бы менять код, и тут же, нажав на кнопку, получать новую реакцию ...
Конечно, тот кто знает про выполняемый модуль ... скажет это сделать легко ...
Да это сделать действительно так ...
Нам нужно просто вставить в нашу процедуру код:

Перем Путь,ИмяФайла;РасположениеФайла (Путь,ИмяФайла);//НеВключатьВМодуль
ФайлERT=Путь+ИмяФайла;//НеВключатьВМодуль
СписокПараметров=СоздатьОбъект"СписокЗначений");//НеВключатьВМодуль
СписокПараметров.ДобавитьЗначение(х);//НеВключатьВМодуль
Результат=глВыполнитьМодульФайлERT,"Пример",СписокПараметров);//НеВключатьВМодуль
Возврат Результат;//НеВключатьВМодуль 


и все.
Здесь "пример" это название нашей процедуру
глВыполнитьМодуль - вспомогательная функция, которая и выполняет наш модуль.
СписокПараметров- список значений параметров нашей функции.

В случае текстового файла (на пример для турбо Мд ).
вставка примет вид:

СписокПараметров=СоздатьОбъект("СписокЗначений");//НеВключатьВМодуль
СписокПараметров.ДобавитьЗначение(z); //НеВключатьВМодуль
Результат=глВыполнитьМодуль("D:\Bazi\1SBDemo\unpack\Журнал\Общий\Форма\ФормаСписка\Модуль.txt",
"Пример3",СписокПараметров);Возврат; //НеВключатьВМодуль 



Предполагается, что библиотека 1Cpp уже загружена, или может быть загружена(то есть она есть в системе).

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

Для упрощения ввода вышеописаных строк сделаны два скрипта для быстрой втавки и удаления
перезагрузки.
В далнейшем возможнен скрипт для массовой перезагрузки (сразу для всех процедур модуля).

Таким образом вся операция перезагрузки после введения нужных процедур в глобальный модуль сведется
к нажатию двук комбинаций.

Скачать файлы

Наименование Файл Версия Размер
- 14
.1207581071 5,95Kb
25.09.09
14
.1207581071 5,95Kb Бесплатно
- 11
.1208763821 4,86Kb
25.09.09
11
.1208763821 4,86Kb Скачать
- 12
.1209399025 2,17Kb
25.09.09
12
.1209399025 2,17Kb Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Евгений Стоянов (quick) 09.04.08 09:31
2. Михаил Семенов (Shaman100M) 29.04.08 15:10
Можно все вычисления, кот. прошли в основной обработке (суть - переменные, созданные объекты, запросы) пихнуть в список и и передать в открываемую внешнюю обработку, где и вести дальнейшие вычисления.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа