Имя: Пароль:
1C
1С v8
БСП 2.1.3.51 Почему у многих модулей нет флажка "ВызовСервера"?
,
0 VVi3ard
 
04.07.13
17:08
Перевожу конфигурацию с очень старой БСП на новую, столкнулся с тем что у многих модулей отключен вызов сервера, и с клиента их приходится вызвать через промежуточный сервер.

Например: ЭлектроннаяПочта, "ОтправитьПочтовоеСообщение"

А в "ЭлектроннаяПочтаВызовСервера" очень мало функций.

Есть подозрение что это специально для того что бы эти функции вызывались из серверных процедур в модуле формы, так как только там для серверных процедур доступен контекст.

Какие еще варианты?
1 Kreont
 
04.07.13
17:10
Ну еще например не все методы работают на сервере линукса, почта вроде как раз есть там глюки и т.п.
2 VVi3ard
 
04.07.13
17:30
Вот еще пример:
ОбщегоНазначения.ЗначениеРеквизитаОбъекта

Ее вообще в 99% вызывают исключительно с клиента, при этом в "ОбщегоНазначения" тоже нет "ВызовСервера"

т.е. приходится писать в модуле формы:
&НаСервереБезКонтекста
Процедура ЗначениеРеквизитаОбъектаПрокси(Ссылка, ИмяРеквизита)
 ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита)
КонецПроцедуры // ПолучитьЗначениеРеквизита()

Причем дофига таких моментов, я вот думаю может включить флажок "ВызовСервера"
3 acsent
 
04.07.13
17:31
Для БП 30 есть
ОбщегоНазначенияБПВызовСервера.ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита)
4 VVi3ard
 
04.07.13
17:32
Точнее:
&НаСервереБезКонтекста
Функция ЗначениеРеквизитаОбъектаПрокси(Ссылка, ИмяРеквизита)
   Возврат(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита))
КонецФункции // ПолучитьЗначениеРеквизита()

Или может добавить подобные вызовы в отдельный модуль (просто не хочется менять БСП шные модули, потом обновлять тяжело, а тут на подходе уже БСП для 8.3)
5 VVi3ard
 
04.07.13
17:33
3.0? Уменя на майском ИТС только 2.1.3.51, странно
6 VVi3ard
 
04.07.13
17:38
Блин туплю БП :) Не БСП.
7 smotritel
 
04.07.13
17:52
1. потому что это дыра в безопасности. почитай стандарты на ИТС, там про это есть
2. потому что постоянные бездумные вызовы сервера с клиента - зло.
когда у тебя такой возможности нет, ты 10 раз подумаешь, как сделать так, чтобы когда тебе понадобилась какая-то инфа на клиенте, она уже у тебя была - например, закешированная в реквизит формы
8 VVi3ard
 
04.07.13
17:57
Судя по всему в то же БП они решили не заморачиваться и себе перенесли   ОбщегоНазначенияБПВызовСервера.ЗначениеРеквизитаОбъекта.
Типа нам можно, а вы тупые и вам нельзя.

Стандарты читал, а можно конкретней? Какая дыра в безопасности?

Вообще например "ЗначениеРеквизитаОбъекта" она вообще не имеет смысла на сервере, но почему то разместили её в том модуле который только с сервера доступен.

На мой взгляд это странно.
9 smotritel
 
04.07.13
18:05
(8)
> Судя по всему в то же БП они решили не заморачиваться и себе перенесли   ОбщегоНазначенияБПВызовСервера.ЗначениеРеквизитаОбъекта.
Типа нам можно, а вы тупые и вам нельзя

ты посмотри, сколько раз она юзается в БП...
потом открой релиз полугодовалой давности и посмотри там.
делай выводы

> Стандарты читал, а можно конкретней? Какая дыра в безопасности?

плохо читал. см. например статья с говорящим названием "Безопасность прикладного программного интерфейса сервера" http://its.1c.ru/db/v8std#content:-2145782969:1

1. Несанкционированный вызов серверного кода конфигурации с клиента.

1.1. Потенциальную угрозу безопасности представляют все серверные процедуры и функции, доступные для вызова из клиентского кода. В совокупности они составляют прикладной программный интерфейс сервера 1С:Предприятия. Как правило, такие процедуры и функции размещены в общих модулях с признаками Сервер и Вызов сервера и являются экспортными.

Подробнее см. "Ограничение на установку признака Вызов сервера у общих модулей" http://its.1c.ru/db/v8std#content:-2145782968:1
10 acsent
 
04.07.13
18:07
(9) так почему же они сами своим стандартам не следуют?
11 smotritel
 
04.07.13
18:10
(10)
см. от топикстартера:
> Перевожу конфигурацию с очень старой БСП на новую, столкнулся с тем что у многих модулей отключен вызов сервера

см. от меня (было выше):
> ты посмотри, сколько раз она юзается в БП...
> потом открой релиз полугодовалой давности и посмотри там.
> делай выводы

из этого не следует вывод, что следуют? вычищают конфы, что БСП, что БП
12 smotritel
 
04.07.13
18:12
+(11) стандарт, относительно свежий. насколько я помню, год назад таких требований не было
13 VVi3ard
 
04.07.13
18:21
(9)Да я тебя понял, именно эту статью не читал, спасибо. Теперь все стало на свои места, логично в принципе.

Получается что разработчик прикладного решения может дополнить модуль [ИмяПодсистемы]БПВызовСервера прокси вызовами которые нужны ему в работе. А остальные не будут светиться.

Теперь только нужно определить что лучше создавать свой "Прокси ОМ" или менять БСПшные [ИмяПодсистемы]БПВызовСервера