Имя: Пароль:
1C
1C 7.7
v7: Дополнительный глобальный модуль
0 Масянька
 
24.05.17
09:03
День добрый!
Вопрос: если в доп. глобальнике прописана функция - её можно использовать в стандартном глобальнике?
Если да - как?
Спасибо.
1 Ёпрст
 
гуру
24.05.17
09:04
через шаблон
2 Ёпрст
 
гуру
24.05.17
09:04
Или через выполняемыйМодуль
3 Масянька
 
24.05.17
09:05
(1) (2) А можно ткнуть носом? Пожалуйста.
4 trdm
 
24.05.17
09:12
А я класс завел и через него все это юзаю.
5 Ёпрст
 
гуру
24.05.17
09:13
(3)
    ТекстГМ ="
    |Перем КонтекстФормыОбработки Экспорт;
    |//======================================================================
    |Функция ПоказатьДокумент(Конт) Экспорт
    |   Если ТипЗначения(КонтекстФормыОбработки)=100 Тогда
    |        Попытка
    |             КонтекстФормыОбработки.ПрисвоитьКонтекстФормы(Конт);
    |       Исключение
    |            КонтекстФормыОбработки.Форма.Закрыть(0);  
    |       КонецПопытки;
    |   КонецЕсли;  
    |КонецФункции
    |//======================================================================
    |Функция глПрисвоить(Кому,Что) Экспорт
    |   Кому = Что;
    |КонецФункции
    |Настройки=СоздатьОбъект(""УправлениеНастройками"");
    |//Настройки.Сбросить(""Проверка типов"");
    |//Настройки.Сбросить(""Отладка"");
    |//Настройки.Включить(""Оптимизация"");
    |//Настройки.Включить(""TurboBL"");
    |Настройки.Включить(""ПерехватитьСобытияГК"");
    |Перехватчик = СоздатьОбъект(""Перехватчик"");  
    |ПерехватчикСобытийГМ = СоздатьОбъект(""ПерехватСобытийПроведения"");  
    |Перехватчик.СнятьПерехватСобытийГлобальногоМодуля();
    |Перехватчик.ПерехватитьСобытияГлобальногоМодуля(ПерехватчикСобытийГМ);
    |ПерехватчикСобытийГМ.ПерехватитьПроведение();
    |";
    Модуль = СоздатьОбъект("ВыполняемыйМодуль");
    Модуль.УстановитьМодуль("т = КонтекстФормыОбработки");
    Попытка
        Модуль.КомпилироватьМодуль();
    Исключение
        Серв = СоздатьОбъект("Сервис");
        Серв.ДобавитьГлобальныйМодуль(ТекстГМ);
    КонецПопытки;    
    Шаблон("[глПрисвоить(КонтекстФормыОбработки,глВзятьКонтекст(Контекст))]");
6 trdm
 
24.05.17
09:19
(5) Геморой с редактированием. Если нужен автокомплит и нормальное редактирование лучше подключить классом.
класс Общие.ГлобальныйМодуль1 = класс_ГлобальныйМодуль1@MD
{
};
И все. Пишешь в обработке "класс_ГлобальныйМодуль1" как хочешь и что хочешь.
Просто вызываешь через точку:
глКлассГлобальника = создатьОбъект("Общие.ГлобальныйМодуль1");
глКлассГлобальника.Процедурина();
7 Масянька
 
24.05.17
09:26
(6) Да, хотелось бы автокомплит...
Класс - это на закладке 1С++, а сам класс (процедуры + функции) в prm пихать?
8 Масянька
 
24.05.17
09:28
+ (7) Не, пардон, в ert пихать надо.
9 Ёпрст
 
гуру
24.05.17
09:34
(6) смотря, какие цели.
У меня всё в одном ert - и сами вк, и подключение классов и доп глобальник.
Отсюда и извраты с шаблоном.
В своей-то конфе, понятно, что всё это лишнее
10 1dvd
 
24.05.17
09:38
а ещё можно вынести весь глобальный модуль (и любой другой, кстати) вынести в текстовый файл и править "на лету". Всё штатно
11 Ёпрст
 
гуру
24.05.17
09:39
(10) какая наивность.
12 Ёпрст
 
гуру
24.05.17
09:39
вынести то вынесешь, только он компилится один раз при открытии
13 Ёпрст
 
гуру
24.05.17
09:39
на "лету" не выйдет
14 Ёпрст
 
гуру
24.05.17
09:39
это вам не турбомд
15 1dvd
 
24.05.17
09:40
(11) ну, да. "На лету" в смысле без обновления базы
16 Масянька
 
24.05.17
09:49
(9) Цели - простые...
Повыносить свои функции/процедуры в отдельные файлы, подключать эти файлы, чтобы в конфе можно использовать (функции/процедуры).
В глобальнике - и не удобно, и некрасиво (в смысле, не наглядно), и пр.
17 Масянька
 
24.05.17
09:50
+ (16) Ну, и дополнять отдельные файлы. Потом.
18 FIXXXL
 
24.05.17
09:52
(16) гоу в 8ку, там реализовано :)
19 Ёпрст
 
гуру
24.05.17
10:02
(18) там и половины того что в 7.7 реализовано нет.
20 trdm
 
24.05.17
10:05
(14) Да, турбомудя рулит. Только её надо правильно подключать, тут свои нюансы.
21 Ёпрст
 
гуру
24.05.17
10:06
turbomd - сила.
Вот чего точно в снеговике не хватает :(
22 Масянька
 
24.05.17
10:07
(19) +100500
(18) Для махания саблями - заводи отдельную ветку.
(20) (21) Где почитать про нюансы?
23 Ёпрст
 
гуру
24.05.17
10:12
(22) должна быть определенной версии и грузится после 1cpp
24 Ёпрст
 
гуру
24.05.17
10:12
b jghtltktyyjuj hfpvthf
25 Ёпрст
 
гуру
24.05.17
10:12
и определенного размера
26 Ёпрст
 
гуру
24.05.17
10:13
27 Масянька
 
24.05.17
10:13
(23) (24) (25) Я так понимаю, что тебя можно в разведчики :)
28 Масянька
 
24.05.17
10:15
(26) Спасибо.
А почитать?
29 Ёпрст
 
гуру
24.05.17
10:18
(28) че почитать то ?
30 Масянька
 
24.05.17
10:18
(29) Как подключать, как использовать...
31 trdm
 
24.05.17
10:19
(30) В ридми турбомд.
32 Масянька
 
24.05.17
10:21
(31) В (26) только dll.
33 trdm
 
24.05.17
10:21
(30) Позволяет подменить во время работы любой модуль и форму, кроме глобальника.
Подключается через внешнюю компоненту, управляется через файл
turbomd.prm
34 trdm
 
24.05.17
10:23
35 Масянька
 
24.05.17
10:23
(33) То есть - глобальник (дополнительный, как доп. функционал) отпадает?
36 Ёпрст
 
гуру
24.05.17
10:24
(30)
кладешь turbomd.dll в каталог с базой (или в BIN)
в конфе, в ПриНачалеРаботыСистемы втыкаешь после загрузки 1cpp (если есть)
ЗагрузитьВнешнююКомпоненту("turbomd.dll");

И УСЁ.

Для удобства, используешь скрипт к опенконфу - TurboMD.vbs

например, этот:

https://cloud.mail.ru/public/FaJn/wa2jy1oK9

Положить его в BIN\Config\Scripts

в пофигураторе, Ctrl+M - далее, разберешься.. выгрузить форму/модуль в файл/загрузить из файла..
37 Масянька
 
24.05.17
10:24
(34) Спасибо.
38 Ёпрст
 
гуру
24.05.17
10:26
В пофигураторе, открыла например, форму документа, понавтыкала
кнопок, нажала контрл+м - выгрузить форму. Переключилась в предприятие - вот твоя форма новая, сразу..
Ну и с модулями, аналогично.
39 Ёпрст
 
гуру
24.05.17
10:26
Потом, при желании, все свои наработки сохранила в мд.
40 Ёпрст
 
гуру
24.05.17
10:26
Можно еще скрипт поставить, чтоб выгруженные модули автоматом в мд прилетали при открытии пофигуратора.
41 Ёпрст
 
гуру
24.05.17
10:27
Ну или руками это делать (мне, к примеру, так удобнее, я не делаю автозагрузку)
42 Масянька
 
24.05.17
10:27
(38) Тут - понятно.
(40) md - стандартный или дополнительный?
43 Ёпрст
 
гуру
24.05.17
10:28
Помимо форм и модулей, при-желании, можно и моксели подменять
44 Ёпрст
 
гуру
24.05.17
10:28
(42) мд всегда один :)
45 Ёпрст
 
гуру
24.05.17
10:29
просто твои выгруженные формы и модули будут в
\unpack валятся
46 Ёпрст
 
гуру
24.05.17
10:29
и что ты выгрузила, в файле turbomd.prm
47 Масянька
 
24.05.17
10:29
(44) Ну, чего ты придираешься?
Имею в виду, стандартный md (изначальный) будет изменяться?
48 Ёпрст
 
гуру
24.05.17
10:29
И.. вообще не понятно, как ты без этого кодишь в 7.7 :)
49 Ёпрст
 
гуру
24.05.17
10:30
(47) нет. Пока сама его не обновишь
50 Ёпрст
 
гуру
24.05.17
10:30
сохранишь, если точнее
51 Ёпрст
 
гуру
24.05.17
10:30
Да. Изменения будут сразу  у всех пользователей, если че.
52 Ёпрст
 
гуру
24.05.17
10:31
На-ходу меняешь че надо, потом, раз в месяц, мд-ник сохраняешь, например.
53 Масянька
 
24.05.17
10:31
(51) Издеваешься...
54 Ёпрст
 
гуру
24.05.17
10:32
(53) ?
55 Масянька
 
24.05.17
10:33
(52) Мне хочется - по минимуму трогать конфу. То есть где надо воткнуть свои функции/процедуры, а сами функции/процедуры просто подключать.
56 Масянька
 
24.05.17
10:33
(54) И супер-блондинке, и коню тоже, понятно :)
57 Масянька
 
24.05.17
10:39
Чуть не забыла - ОГРОМНОЕ СПАСИБО!
58 Масянька
 
24.05.17
12:10
Мужики! Спасибо - еще раз!
Класс воткнула, работает. В принципе, нравится.
59 trdm
 
24.05.17
12:12
Кульненько.