Имя: Пароль:
1C
1C 7.7
v7: TurboMD не всегда корректно отрабатывает с контекстом
,
0 Тёплый фарфор
 
01.10.18
22:59
Коллеги, следующая ситуация: выгружаю, допустим, модуль документа счет в turbomd. Все отрабатывает нормально. В модуле есть переменная "Перем1". Если вызвать процедуру в ГМ, где происходит обращение к переменной, то турбомд не видет её в контексте. Например:
// из модуля формы
Сообщить(глФункция(Контекст));

// из глобальника
Функция глФункция(Конт)
   Возврат Конт.Перем1
КонецФункции

Это лечится?
1 DrZombi
 
гуру
02.10.18
06:18
(0) Да, внеси изменения в конфигуратор, турбо МД для временного решения проблемы :)
2 Тёплый фарфор
 
02.10.18
10:17
Иногда из-за этого даже нужный объект не отладить. Весь смысл использования TurboMD сводится на нет...
3 Тёплый фарфор
 
02.10.18
10:41
Там, вроде, GCOMP что-то подобное позволяет... Это полноценная замена TurbomMD? Или тоже есть подводные камни?
4 Salimbek
 
02.10.18
10:46
(3) Ты путаешь теплое с мягким.
5 Тёплый фарфор
 
02.10.18
10:52
(4) для чего GCOMP я знаю. Проcто видел где-то в сети что вроде как можно им заменить TurboMD. Не могу сейчас линк найти...
6 Salimbek
 
02.10.18
10:56
(5) Нельзя, он только разбирает готовый МД-шник на файлы. А ТурбоМД подменяет модули  работающей конфе.
По теме - выкинуть твой вариант использования через Контекст. И переписать на более праильные механизмы. Либо модули  Глобальнике, либо, что мне больше нравится, на классы 1С++.
7 1Сергей
 
02.10.18
10:58
#ЗагрузитьИзФайла

:)
8 Тёплый фарфор
 
02.10.18
10:59
(6) классов и так до хр... честно говоря, с точки зрения поиска кода в классах - всё как-то грустно... в них не ищется ничего...
а переписывать - нет уж, извольте ))
9 Тёплый фарфор
 
02.10.18
11:00
(8) да, я думал попробовать... в принципе это выход... вот только изменения на форме так работать не будут...
10 Salimbek
 
02.10.18
11:07
(8) Как это? Классы усли в ert, то без проблем,  Глобальном поиске указываешь эту папку и спокойно ищешь. А если в текстовике, то тот же Total или еще какой инструмент с поиском в содержимом.
И потом, никто же не запрещает где нужно использовать ТурбоМД, а где нужно - вариант из (7)
11 Тёплый фарфор
 
02.10.18
11:10
(10) у нас классы отсортированы по папкам, папок много... а штатный поиск вложенные папки не перебирает...
12 ADirks
 
02.10.18
11:43
(0) у TurboMD бывают конфликты с встроенным в 1С++ механизмом кэширования. Особенно, если перехватчик использовать. Но бывает изредка и такое вот загадочное, когда даже после рестарта изменения видны лишь частично.

#ЗагрузитьИзФайла  - фтопку!!!

(11) Что-то ты путаешь. Всё замечательно ищется. Может, классы живут в .txt, а не в .ert?  тогда да :)
13 Тёплый фарфор
 
02.10.18
11:46
(12) Точно напутал. Сорри.
Перехватчик действительно используется.
14 ADirks
 
02.10.18
11:51
(13) С перехватчиком гарантированы чудеса, когда меняешь количество или порядок методов. У него ещё свой кэш есть.
15 smitti911
 
16.10.18
09:23
Может кто подскажет в чем суть. Правлю модуль ВидаРасчета, выгружаю с помощью  TurboMD. В журнале расчетов делаю рассчитать - все ок, отрабатывает с внесенными изменениями, еще раз рассчитать - отрабатывает модуль без правок. И так всегда и на любом модуле ВидРасчета работает только один раз
16 Тёплый фарфор
 
17.10.18
14:25
(1) а есть способ как-то добавить переменную контекста? весь сыр-бор, в общем, из-за этого?
17 Тёплый фарфор
 
17.10.18
14:26
(15) чудеса какие-то... даже мыслей нету...
18 АгентБезопасной Нацио
 
17.10.18
14:29
(16) типовой глВзятьКонтекст()  ?
19 Тёплый фарфор
 
17.10.18
14:30
(18) ну это ж берет контекст, а там нет переменной... её нужно добавить...