Имя: Пароль:
1C
1С v8
Выполнение общего модуля на сервере и на клиенте
0 serg-lom89
 
28.01.15
11:43
Ребята,нужна помощь.
1С:Предприятие 8.1 (8.1.15.14)
Есть документ,из которого выполняется процедура из общего модуля.В общем модуле стоят галочки  Клиент,Сервер,внеш. соединение.

в документе повесил галку НеВклПересчетЦенИвалют.

Вот сам код

            ФормаДокумента = ДокументОбъект.ПолучитьФорму();
            Если  типЗнч(ДокументОбъект) =  тип("ДокументОбъект.ЗаказПокупателя") Тогда
                Если   НЕ ФормаДокумента.НеВклПересчетЦенИвалют Тогда    
                    СтруктураЗначений = Ценообразование.ОткрытьФормуЦеныИВалютаНеМодально(ДокументОбъект, СтруктураРеквизитовДокумента, ВалютаРегламентированногоУчета,
                    СтруктураНеРедактируемыхРеквизитов, ИмяТабличнойЧасти, НовыйТипЦенДляУстановки);
                КонецЕсли;    
            КонецЕсли;


Получается когда выполняется на сервере ругается.
Подскажите как исправить данную ситуацию?
Ругается на получитьФорму()
1 xaozai
 
28.01.15
11:44
(0) Уберите форму с сервера.
Нужный код перенесите в модуль.
2 SanGvin
 
28.01.15
11:45
на сервере без контекста не может быть формы.
3 serg-lom89
 
28.01.15
11:45
ГАлка сама реквизитом не является и в базе не хранится
4 xaozai
 
28.01.15
11:46
(3) Параметры процедур и функций никто не отменял.
5 Demetres
 
28.01.15
11:53
(4) БАМ!!!
6 xaozai
 
28.01.15
11:54
(5) Байкало-Амурская магистраль
7 serg-lom89
 
28.01.15
11:55
мне интересно как в этом общем модуле можно сделать
8 serg-lom89
 
28.01.15
11:57
и возможно ли
9 Defender aka LINN
 
28.01.15
11:59
(7) В этом - нет
10 serg-lom89
 
28.01.15
12:03
А если сделать проверку,если на клиенте то получать форму,иначе если на серваке,то присваивать ФормаДокумента.НеВклПересчетЦенИвалют = ложь.(она то сама по себе всегда ложь будет?
11 serg-lom89
 
28.01.15
12:04
(10) или это слишком г*внокодисто?)
12 Defender aka LINN
 
28.01.15
12:12
(10) Что вообще в результате добиться-то надо? Пересчитать документ в другую валюту?
13 serg-lom89
 
28.01.15
12:20
(12) ну в результате если галка не стоит то вызывается другая процедура и идет пересчет
14 Defender aka LINN
 
28.01.15
12:23
(13) А на форме она генератором случайных чисел устанавливается, или все же откуда-то берется?
15 serg-lom89
 
28.01.15
12:27
пользователь ставит,если ему нужно.
А так по определению она всегда ложь будет,в базе не храниться она же.
16 serg-lom89
 
28.01.15
12:30
получается оно заданиями регл. вызывается и обработками
17 Rie
 
28.01.15
12:31
(15) Эээ... А галку повесил где? Просто на форме? Ну тогда зачем чего-то присваивать, тем более на сервере?
18 Rie
 
28.01.15
12:31
(16) Регл. задание открывает форму?!
19 serg-lom89
 
28.01.15
12:32
(17) да просто на форме
20 hhhh
 
28.01.15
12:32
(15) если там и так ЛОЖЬ, зачем второй раз писать ЛОЖЬ?
21 Rie
 
28.01.15
12:33
(19) Тогда поясните, пожалуйста, (10), а именно - "то присваивать ФормаДокумента.НеВклПересчетЦенИвалют = ложь"
22 serg-lom89
 
28.01.15
12:33
Думал что такое написать
            #Если Клиент Тогда
                ФормаДокумента = ДокументОбъект.ПолучитьФорму();
                ЗначениеГалки =ФормаДокумента.НеВклПересчетЦенИвалют;
            #Иначе
                ЗначениеГалки = Ложь;
            #КонецЕсли
            Если  типЗнч(ДокументОбъект) =  тип("ДокументОбъект.ЗаказПокупателя") Тогда
                Если   НЕ ЗначениеГалки Тогда    
                    СтруктураЗначений = Ценообразование.ОткрытьФормуЦеныИВалютаНеМодально(ДокументОбъект, СтруктураРеквизитовДокумента, ВалютаРегламентированногоУчета,
                    СтруктураНеРедактируемыхРеквизитов, ИмяТабличнойЧасти, НовыйТипЦенДляУстановки);
                КонецЕсли;    
            КонецЕсли;
23 Rie
 
28.01.15
12:34
(22) А зачем?
Если это - общий модуль, то при обращении к его процедуре - не проще ли параметром передать ЗначениеГалки?
24 serg-lom89
 
28.01.15
12:37
что то запутался я ))
25 serg-lom89
 
28.01.15
12:39
просто это процедура много откуда вызывается....и все дописывать надо
26 Rie
 
28.01.15
12:42
(25) Есть замечательная штука - "значение параметра по умолчанию". "Много откуда" - пусть берёт по умолчанию.