(4) а зачем такие сложности? Почему нельзя галочку ВызовСервера на модуль ОбщегоНазначения было поставить?
Конфигурация УНФ.
ОбщегоНазначенияУНФВызовСервера - там ничего подобного нет.
(10) криво, разве нет? Ведь дублирование функций налицо.
Функция ЗначениеРеквизитаОбъекта должна быть в модуле ОбщегоНазначенияВызовСервера
Подозреваю, что функцию ЗначениеРеквизитаОбъекта сперва студенты-разработчики запихнули в ОбщегоНазначения, а потом сделали покер-фейс и не стали ее перемещать или дублировать в ОбщегоНазначенияВызовСервера, а пихают в самые разные модули в зависимости от конфигурации.
Потому что в коде было уже полно ссылок на ОбщегоНазначения.ЗначениеРеквизитаОбъекта.
Разве не так дело было?
Может быть не стоило 1С делить на модули ОбщегоНазначения и ОбщегоНазначенияВызовСервера, если не получается?
(21) Вы поняли то, что я написал или нет?
Каким боком здесь флаги модулей?
По уму функция ЗначениеРеквизитаОбъекта должна быть в модуле ОбщегоНазначенияВызовСервера. Есть возражения?
(25) Как минимум внешнему соединению придется так же идти на сервер. Я же про флаги модулей не просто так указал.
Библиотека делает безопасность и производительность. Чтобы с любого места клиента не вызывать эти методы.
Что будут делать разработчики с этой библиотекой уже на ответственности этих разработчиков.
Удобства это не главное в разработке.
Можно было бы создать общий привилегированный модуль с ВызовСервера и методом Выполнить(Текст). Удобно, но крайне не безопасно.
Нет, это не дублирование, а, скорее, мост. Флажок Вызов сервера, согласно стандарту, может быть установлен только на тех модулях, которые гарантируют выполнение исключительно разрешённых текущему пользователю действий, а модуль ОбщегоНазначения сам по себе довольно разносторонен и универсален. Прежде чем будет вызвана функция ОбщегоНазначения.ЗначениеРеквизитаОбъекта(), разработчик обязан убедиться в том, что подаваемые туда значения разрешено подавать текущему пользователю.
Кстати, в открытом перед глазами релизе я вижу, что функция ЗначениеРеквизитаОбъекта из модуля с вызовом сервера устарела и заменена на ЗначениеРеквизитаОбъектаВПривилегированномРежиме.
если измениться имя метода или состав реквизитов, то компилятор вам об этом "сообщит"
следить за таким модулем-матрешкой не сложно.
С версии 8.3.21 - это уже неизбежная"повинность" и не только по общим модулям, но и по модулям объектов и даже по оповещениям.
Если прописан на клиенте метод обработчика оповещения на сервере, то "добрый вечер" - делайте матрешку в идентичном контексте.
(7) и что я должен понять из этого?
https://its.1c.ru/db/v8std#content:679:hdoc Почему функция ЗначениеРеквизита расположена тогда в ОбщегоНазначения, а не ОбщегоНазначенияВызовСервера?
Я так понимаю, вы утверждаете, что 1С провела скурулезный анализ и в ОбщегоНазначения только те функции, которые нельзя вызывать с клиента? Да ладно...
(8) я хочу понять, может я чего-то не знаю и галочка "ВызовСервера" стоит по каким-то разумным причинам. Ну может это как-то на производительность влияет или еще что.
Или ни на что не влияет, просто 1С почему-то не поставили эту галочку?
(15)
Спасибо, мне кажется это как раз про типовые 1С:
Разработка ПО бывает настолько невыносимо скучной, что программисты ищут спасение в решении воображаемых проблем, о котором их никто не просил. Примерно как дети ищут спасение от скуки в вымышленных мирах научной фантастики, а женщины — в любовных романах. И это свойство не только отдельных разработчиков, но и менеджеров, которые ищут оправдание своему существованию. И целых отделов разработки, которым нужно высасывать из пальца ставить новые задачи.
Количество воображаемых проблем, которые может создать для себя инженер-программист, зависит только от его воображения и мастерства программирования.
Вместо того, чтобы написать простой и быстрый инструмент для решения одной задачи, он создаёт увесистую клюкву, универсальный комбайн, или «идеально расширяемую» архитектуру. Отсюда и корни у постоянно тормозящих программ, которые становятся всё жирнее и медленнее.
(24) Да, я ответил только на один вопрос, "Почему у модуля ОбщегоНазначения нет галочки ВызовСервера?".
Перейдем ко второму.
Мы можем не знать какой конкретно модуль, но мы знаем, что его название будет заканчиваться на "ВызовСервера". И с большой долей вероятности начинаться будет на "ОбщегоНазначения". Например у меня конфигурация "Документооборот". Набираем в окне поиска объектов конфигурации "ОбщегоНазначения ВызовСервера" и видим 2 модуля : ОбщегоНазначенияВызовСервера, ОбщегоНазначенияДокументооборотВызовСервера. В первом нет необходимой функции. Во втором она есть. Поиск завершен, работа продолжается. Вам кажется это очень долго и сложно?
(34) да вы доктор) еще один товарищ мне сказал что это такая защита от нехороших разработчиков, чтоб они с клиента не делали частые вызовы сервера, а шли на сервер сразу
(26) да, это криво. Если это функция ОбщегоназначенияВызовСервера, она должна быть в модуле ОбщегоназначенияВызовСервера, а не в Общегоназначения + ее клон в ОбщегоНазначения***ТамВызовСервера
Логично?
Не надо быть адвокатом дьявола и защищать косяки 1с.
(36) Конкретный вопрос - был о том, почему так реализовано. На него ответа пока что нет. Моя гипотеза - так исторически сложилось а сейчас 1с делает "покер-фейс".
Конкретный вопрос - был о том, почему так реализовано.
Почему до вас никак не может дойти, что достоверно на этот вопрос могут ответить только разработчики данного функционала?
Разработчиков БСП на этом форуме нет.
Хотите официальный ответ - задайте официальный вопрос.
В ЛК или на партнерском форуме.
Раз вас не устраивают ответы от других пользователей форума.
сейчас 1с делает "покер-фейс"
А тут вы просто ноете, и ваше нытье выглядит жалко.
В БП 2.0.66.82, 3.0.44.140, 3.0.137.39 есть модуль ОбщегоНазначенияВызовСервера, но ЗначениеРеквизитаОбъекта находится только в модуле ОбщегоНазначения.
Т.е. эта проблема существует уже достаточно давно, еще с БП 2.0