Имя: Пароль:
1C
 
Серверный вариант....#Если внешнее соединение
0 Mich
 
07.08.07
14:13
Поменял малень типовую процедурку...вот эту

   
Процедура СообщитьОбОшибке(ТекстСообщения, Отказ = Ложь, Заголовок = "", Статус = Неопределено) Экспорт

   Если Статус = Неопределено Тогда
       Статус = СтатусСообщения.Важное;
   КонецЕсли;
   
   НачалоСлужебногоСообщения    = Найти(ТекстСообщения, "{");
   ОкончаниеСлужебногоСообщения = Найти(ТекстСообщения, "}:");
   Если ОкончаниеСлужебногоСообщения > 0 И НачалоСлужебногоСообщения > 0 Тогда
       ТекстСообщения = Лев(ТекстСообщения, (НачалоСлужебногоСообщения - 1)) +
                        Сред(ТекстСообщения, (ОкончаниеСлужебногоСообщения + 2));
   КонецЕсли;
   
   Отказ = Истина;
   
   #Если ВнешнееСоединение Тогда
       
       Если НЕ ЗначениеНеЗаполнено(Заголовок) Тогда
           ТекстСообщения = Заголовок + Символы.ПС + ТекстСообщения;
           Заголовок = "";
       КонецЕсли;
       
       ВызватьИсключение (ТекстСообщения);
       
   #Иначе
       
       Если НЕ ЗначениеНеЗаполнено(Заголовок) Тогда
           Сообщить(Заголовок);
           
           //Добавленно (
           Если ПользователиИнформационнойБазы.ТекущийПользователь().Имя = "Super" Тогда
               ЗаписатьТекстВФайл(Заголовок);
           КонецЕсли;
           ///Добавленно )
           
           Заголовок = "";
       КонецЕсли;
       
       Сообщить(ТекстСообщения, Статус);
       
       //Добавленно  (
       Если ПользователиИнформационнойБазы.ТекущийПользователь().Имя = "Super" Тогда
           ЗаписатьТекстВФайл(ТекстСообщения);
       КонецЕсли;
       //Добавленно)
           
   #КонецЕсли    

КонецПроцедуры // СообщитьОбОшибке()


изменения выделены "Добавленно"....смысл прост: просто вызывается процедурка "ЗаписатьТекстВФайл"..... которая пишет в файл ошибки которые выдаёт система....сама процедурка   "ЗаписатьТекстВФайл".....в другом общем модуле экспортная......
так вот.....в файловом варианте работает нормально.....но сегодня перенёс на сервак и процедура "СообщитьОбОшибке" ругается ....типа процедра с именем "ЗаписатьТекстВФайл" не обнаружена.......я понимаю, что дело в "#Если ВнешнееСоединение".....но чето не пойму как решить эту проблемму.......кто может помоч?
1 ТелепатБот
 
гуру
07.08.07
14:13
2 RomaH
 
naïve
07.08.07
14:15
"в другом общем модуле экспортная"
платформа какая?
3 RomaH
 
naïve
07.08.07
14:16
или ... да в 8.0 вроде тоже галки про сервер есть в свойствах общих модулей

у модуля где процедура твоя - есть галка ?
4 Mich
 
07.08.07
14:16
8.0
5 Mich
 
07.08.07
14:16
ща гляну
6 Mich
 
07.08.07
14:18
нет... в том модуле где экспортная определена там не стоит галка внешнего соединения
7 Mich
 
07.08.07
14:18
надо поставить на сколько я понимаю...)))
8 Mich
 
07.08.07
14:23
нутак что делать то...поставил галку такая же хрень
9 hhhh
 
07.08.07
14:28
Из общего модуля нельзя вызывать процедуру другого общего модуля.
10 Mich
 
07.08.07
14:31
(9)....че за ерунда.......))
11 hhhh
 
07.08.07
14:34
Извиняюсь, напутал.
12 Mich
 
07.08.07
14:35
мне в том модуле где определяется моя процедура нужна конструкция

   #Если ВнешнееСоединение Тогда"

или нет
13 Mich
 
07.08.07
14:41
up
14 hhhh
 
07.08.07
14:45
нет
15 Mich
 
07.08.07
14:47
))...а что нужно тогда
16 Tristan
 
07.08.07
14:53
Галка должна стоять не на "Внешнее соединение", так как тогда отрабатывается первая часть условия, где вызывается исключение, а на "Сервер" где и вызывается процедура (Если конечно вся эта конструкция должна отрабатываться на сервере).
17 hhhh
 
07.08.07
14:53
Ничего не нужно, когда внешнее соединение на нее просто не будет ссылок. А ты куда ее поместил: в #если или в #иначе?
18 Mich
 
07.08.07
15:00
(17)иначе
19 Tristan
 
07.08.07
15:07
(18) Вероятнее всего у тебя модуль из которого вызывается процедура ЗаписатьТекстВФайл(ТекстСообщения) находится на сервере, а сама процедура на клиенте, вот тебе и грабли.
20 Mich
 
07.08.07
15:16
а по чему грабли....вроде она должа найтись в любом случае
21 Tristan
 
07.08.07
15:19
(20) нет, сервер процедуру на клиенте не найдет. Тольуо или обе на клиенте или обе на сервере или вызов на клиенте а процедура на сервере. Читай внимательнее (16).
22 Mich
 
07.08.07
15:22
ок спасибо
23 Mich
 
07.08.07
15:44
блин не понимаю......вынес вызов процедуры из конструкции "# Если"...и все равно продолжает ругатся что имя функции не найдено....щас то в чем дело?????
24 Mich
 
07.08.07
15:49
если клиент серверный вариант то п умолчанию тоесть без # где выполняется откомпелированный модуль?
25 Jolly Roger
 
07.08.07
16:24
(0) Включи в настройках проверять модули в режиме сервера и внешнего соединения. И не парь мозх.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой