Имя: Пароль:
1C
1С v8
Проблемы толстый - тонкий клиент
,
0 Shaggy
 
16.11.12
12:09
Доброе время суток! Будьте любезны, подтолкните в нужном направлении...
Есть стороняя конфа, в ней документ. В тонком клиенте запускается без проблем, а в толстом вываливается с ошибкой:
"{Документ.ЗаявкаНаТО.Форма.ФормаДокумента.Форма(1243)}: Ошибка при вызове метода контекста (УстановитьДействие)
УстановитьДействие("ПриСозданииНаСервере", "АНТ_ПриСозданииНаСервере");
по причине:
Метод недоступен на клиенте"
Момент "УстановитьДействие("ПриСозданииНаСервере", "АНТ_ПриСозданииНаСервере");" отрабатывает ровно. В тонком клиенте далле идет собитие "ПриОткрытии", в толстом же вываливается с ошибкой.
1 samozvanec
 
16.11.12
12:11
код в студию
2 Shaggy
 
16.11.12
12:12
Код модуля формы?
3 Нуф-Нуф
 
16.11.12
12:15
(2) тот код где УстановитьДействие("ПриСозданииНаСервере", "АНТ_ПриСозданииНаСервере");
4 Shaggy
 
16.11.12
12:15
ОбщегоНазначения.ИнициализироватьСтандартныеПодсистемы(ЭтаФорма);
   Попытка
       Выполнить("ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)");
   Исключение
       __ИнформацияОбОшибке = ИнформацияОбОшибке();
       __Описание = ?(__ИнформацияОбОшибке.Причина = Неопределено, __ИнформацияОбОшибке.Описание, __ИнформацияОбОшибке.Причина.Описание);
       Если Найти(__Описание, "Процедура или функция с указанным именем не определена") = 0 Тогда
           Сообщить(__ИнформацияОбОшибке);
       КонецЕсли;
   КонецПопытки;
5 Shaggy
 
16.11.12
12:16
ОбщегоНазначения.ИнициализироватьСтандартныеПодсистемы(ЭтаФорма); - отрабатывает без ошибок
6 Нуф-Нуф
 
16.11.12
12:16
(4) где этот код находится, и где там (3)?
7 Shaggy
 
16.11.12
12:17
Попытка
       Выполнить("ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)");
   Исключение
       __ИнформацияОбОшибке = ИнформацияОбОшибке();
       __Описание = ?(__ИнформацияОбОшибке.Причина = Неопределено, __ИнформацияОбОшибке.Описание, __ИнформацияОбОшибке.Причина.Описание);
       Если Найти(__Описание, "Процедура или функция с указанным именем не определена") = 0 Тогда
           Сообщить(__ИнформацияОбОшибке);
       КонецЕсли;
   КонецПопытки;
- возникает исключение, выходим из процедуры и наблюдаем выше описанную ошибку.
8 Shaggy
 
16.11.12
12:17
#Если Сервер Тогда
УстановитьДействие("ПриСозданииНаСервере", "АНТ_ПриСозданииНаСервере");
#КонецЕсли
- это в теле модуля формы
9 Shaggy
 
16.11.12
12:18
Процедура АНТ_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

   ОбщегоНазначения.ИнициализироватьСтандартныеПодсистемы(ЭтаФорма);
   Попытка
       Выполнить("ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)");
   Исключение
       __ИнформацияОбОшибке = ИнформацияОбОшибке();
       __Описание = ?(__ИнформацияОбОшибке.Причина = Неопределено, __ИнформацияОбОшибке.Описание, __ИнформацияОбОшибке.Причина.Описание);
       Если Найти(__Описание, "Процедура или функция с указанным именем не определена") = 0 Тогда
           Сообщить(__ИнформацияОбОшибке);
       КонецЕсли;
   КонецПопытки;

КонецПроцедуры // АНТ_ПриСозданииНаСервере()
10 Нуф-Нуф
 
16.11.12
12:18
либо у меня проблемы с пониманием, либо у автора проблемы с выражением
11 Нуф-Нуф
 
16.11.12
12:18
наверно последнее...
12 Нуф-Нуф
 
16.11.12
12:19
(8) этот код откуда вызывается???
13 Shaggy
 
16.11.12
12:19
допускаю второе(((
14 Shaggy
 
16.11.12
12:19
(12) - (8) (9)
15 Нуф-Нуф
 
16.11.12
12:21
#Если Сервер Тогда
УстановитьДействие("ПриСозданииНаСервере", "АНТ_ПриСозданииНаСервере");
#КонецЕсли

это где находится? в самом начале вне процедур и функций?
16 samozvanec
 
16.11.12
12:21
т.е. в событии ПриСозданииНаСервере вызывается процедура, которая вызывает событие ПриСозданииНаСервере?
17 Shaggy
 
16.11.12
12:22
(15) в моем случае в конце, но вне процедур (к стати это называется телом модуля))
18 Shaggy
 
16.11.12
12:23
(16) как я понимаю в событии "ПриСозданииНаСервере" вызывается процедура "АНТ_ПриСозданииНаСервере". И это все работает.
19 Shaggy
 
16.11.12
12:26
Какой метод доступен в тонком, но не доступен на толстом?
20 samozvanec
 
16.11.12
12:27
(18) а в АНТ_ПриСозданииНаСервере происходит
Выполнить("ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)");
Зачем?
21 samozvanec
 
16.11.12
12:27
(19) метод УстановитьДействие доступен на сервере
22 Shaggy
 
16.11.12
12:30
(20) об этом история умалчивает, я не автор. Эта процедура присутствует во всех объектах конфы.
23 Shaggy
 
16.11.12
12:34
может это поможет - база работает создана файловом режиме
24 samozvanec
 
16.11.12
12:50
(19) отладчиком пройтись?
25 Shaggy
 
16.11.12
12:54
(24) проходил, "ПриСозданииНаСервере" отрабатывает, а потом ошибка.... (
26 hhhh
 
16.11.12
13:00
(23) может разработчики не рассчитывали на файловый вариант.