Имя: Пароль:
1C
1С v8
УФ. Обойти несуществующую функцию...
,
0 eklmn
 
гуру
19.09.13
15:47
Есть обработка универсальная (бп/упп) в которой используются функции общего модуля.
в БП и УПП они разные, но и в обработке для них разные процедуры.
В толстом все работает нормально и в БП и в УПП.
Для УФ проблема, почему то при открытии В УПП ругается на функции от БП, и это перед открытием.

Почему в толстом не сканирует весь модуль, а в Тонком сканирует и как обойти?
1 Euguln
 
19.09.13
15:50
(0) в УФ имеет значение модуль серверный, клиентский. В толстом это по барабану.
2 eklmn
 
гуру
19.09.13
15:52
для внимательно читающих - до этих функций дело не доходит вообще, даже до процедуры в модуле обработки в которой вызывается эта функция
3 eklmn
 
гуру
19.09.13
15:54
разносить на 2 обработки не предлагать! :)
4 Euguln
 
19.09.13
15:54
(2) Синтаксический контроль модуль обработки проходит с галочками клиент-сервер, тонкий клиент?
5 Euguln
 
19.09.13
15:55
(4) + УФ проходит синтаксический контроль?
6 Rounder
 
19.09.13
15:57
Попробуй поместить "спорную" часть кода в:

#Если Не ТонкийКлиент Тогда

#КонецЕсли
7 eklmn
 
гуру
19.09.13
15:58
(5) нет естественно, обойти то как?
8 eklmn
 
гуру
19.09.13
16:00
(6) не помогает
9 Euguln
 
19.09.13
16:00
(6) + 1
Можно еще вызовы запихать в Выполнить()
10 Rounder
 
19.09.13
16:01
В случае (6) если Тонкий клиент - то компилироваться вызов твоей функции не будет. Если кончено зада стоит избавться от ошибки, а не запустить функцию в тонком клиенте.
11 eklmn
 
гуру
19.09.13
16:03
(9) блин у меня так скоро вся обработка в выполнить будет ))
12 Зойч
 
19.09.13
16:10
попытка Выполнить("МояФункция")
13 Зойч
 
19.09.13
16:11
(11) делай разные обработки под разные конфы ))
14 eklmn
 
гуру
19.09.13
16:11
(12) в этом нет необходимости
15 eklmn
 
гуру
19.09.13
16:12
(13) да сам только к этому прихожу. другого выхода не вижу
16 Зойч
 
19.09.13
16:12
В БСП еще юзается
Модуль = Выполнить("ИмяОбщегоМодуля");
Модуль.Процедура()
17 Зойч
 
19.09.13
16:12
Но это пи...ец для отладки
18 eklmn
 
гуру
19.09.13
16:13
жесть!
19 ИсчадиеADO
 
19.09.13
16:13
(15) ваще то у 1 обработки м.б. 2 формы основных. Закладку дополнительно см. и там создавай обычную форму
20 H A D G E H O G s
 
19.09.13
16:13
Модуль=Неопределено;
еще можно
21 eklmn
 
гуру
19.09.13
16:13
нах нах, потом как это поддерживать?
22 eklmn
 
гуру
19.09.13
16:14
(19) вообще мимо.
(20) а это куда пихнуть?
23 SherifSP
 
19.09.13
16:17
Кароч, попытка исключение))
24 ИсчадиеADO
 
19.09.13
16:21
имхо, прав (6), (8). Тока я бы юзал #НЕ ТолстыйКлиентОбычноеПриложение
25 Rounder
 
19.09.13
16:22
(24) Ну я в (6) к примеру привел, т.к. не знаю точных требований топикстартера.
26 eklmn
 
гуру
19.09.13
16:24
(6)(25) да,за вернул весь модуль обработки проканало
спс!
27 eklmn
 
гуру
19.09.13
16:26
Осталось подпилить для уф
28 yukon
 
19.09.13
16:32
(16) Либо так, либо ОбщегоНазначенияПереопределяемый на 100+ закомментированных методов.

Оба решения, скажем так, хромоваты и костыльны.
29 ИС-2
 
naïve
19.09.13
16:41
не знаю на сколько работоспобна моя идея, но можно поместить модуль в переменную и вызов делать через нее

Если Истина Тогда
    Мод = _Клиент;
иначе
    Мод = _Сервер;
КонецЕсли;
30 Infsams654
 
19.09.13
16:42
(0) "Есть обработка универсальная (бп/упп) " - я в таких случаях вообще ОМ не использую, а переношу процедуру из ОМ в модуль обработки
31 Zamestas
 
19.09.13
16:42
(0) Через метаданные получить какая конфа не предлагать?
32 ИС-2
 
naïve
19.09.13
16:42
хотя проблема не в разности конфигураций, а режиме работы - толстый или тонкий клиент. Последний просто не видит часть процедур и функций
33 Infsams654
 
19.09.13
16:45
(30) + если еще есть конфигурационно зависимые объекты, то проверяется в обработке по метаданным наличие тех или иных
34 Infsams654
 
19.09.13
16:50
(31) уже говорили, в тонком не прокатит