Почему у модуля ОбщегоНазначения нет галочки ВызовСервера? Где искать ЗначениеРеквизита?

1. fixin 4253 05.12.23 17:02 Сейчас в теме
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Sashares 34 05.12.23 18:26 Сейчас в теме
(1)Сходите на сервер, и вызовите с него.
4. spacecraft 05.12.23 18:45 Сейчас в теме
(1) поищите рядом. Не озвучена конфигурация.
Как правило в типовых расширены возможности.
Пример:
ОбщегоНазначенияУТВызовСервера.ЗначениеРеквизитаОбъекта(...)
Дмитрий74Чел; +1 Ответить
5. fixin 4253 05.12.23 19:01 Сейчас в теме
(4) а зачем такие сложности? Почему нельзя галочку ВызовСервера на модуль ОбщегоНазначения было поставить?
Конфигурация УНФ.
ОбщегоНазначенияУНФВызовСервера - там ничего подобного нет.
10. spacecraft 05.12.23 21:51 Сейчас в теме
(5)
Почему нельзя галочку ВызовСервера на модуль ОбщегоНазначения было поставить?

Более жесткие требования при разработке библиотеки. Безопасность и производительность.
(5)
Конфигурация УНФ.

ОбщегоНазначенияРМКВызовСервера.ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита)
14. fixin 4253 06.12.23 08:58 Сейчас в теме
(10) криво, разве нет? Ведь дублирование функций налицо.

Функция ЗначениеРеквизитаОбъекта должна быть в модуле ОбщегоНазначенияВызовСервера

Подозреваю, что функцию ЗначениеРеквизитаОбъекта сперва студенты-разработчики запихнули в ОбщегоНазначения, а потом сделали покер-фейс и не стали ее перемещать или дублировать в ОбщегоНазначенияВызовСервера, а пихают в самые разные модули в зависимости от конфигурации.

Потому что в коде было уже полно ссылок на ОбщегоНазначения.ЗначениеРеквизитаОбъекта.

Разве не так дело было?

Может быть не стоило 1С делить на модули ОбщегоНазначения и ОбщегоНазначенияВызовСервера, если не получается?
21. spacecraft 06.12.23 14:55 Сейчас в теме
(14)
Функция ЗначениеРеквизитаОбъекта должна быть в модуле ОбщегоНазначенияВызовСервера

Может быть не стоило 1С делить на модули ОбщегоНазначения и ОбщегоНазначенияВызовСервера, если не получается?

Это говорит о непонимании механизма работы 1С. Посмотрите флаги таких модулей. И подумайте, почему они именно такие.
22. user1880116 06.12.23 15:03 Сейчас в теме
(21)
И подумайте
Не смей издеваться над инвалидом!
user1564146; +1 1 Ответить
25. fixin 4253 06.12.23 23:07 Сейчас в теме
(21) Вы поняли то, что я написал или нет?
Каким боком здесь флаги модулей?
По уму функция ЗначениеРеквизитаОбъекта должна быть в модуле ОбщегоНазначенияВызовСервера. Есть возражения?
27. spacecraft 07.12.23 07:33 Сейчас в теме
(25) Как минимум внешнему соединению придется так же идти на сервер. Я же про флаги модулей не просто так указал.
Библиотека делает безопасность и производительность. Чтобы с любого места клиента не вызывать эти методы.
Что будут делать разработчики с этой библиотекой уже на ответственности этих разработчиков.
Удобства это не главное в разработке.
Можно было бы создать общий привилегированный модуль с ВызовСервера и методом Выполнить(Текст). Удобно, но крайне не безопасно.
embarcadero; FatPanzer_Job; +2 Ответить
29. Неопределено 90 07.12.23 08:29 Сейчас в теме
(14)
дублирование функций налицо

Нет, это не дублирование, а, скорее, мост. Флажок Вызов сервера, согласно стандарту, может быть установлен только на тех модулях, которые гарантируют выполнение исключительно разрешённых текущему пользователю действий, а модуль ОбщегоНазначения сам по себе довольно разносторонен и универсален. Прежде чем будет вызвана функция ОбщегоНазначения.ЗначениеРеквизитаОбъекта(), разработчик обязан убедиться в том, что подаваемые туда значения разрешено подавать текущему пользователю.

Кстати, в открытом перед глазами релизе я вижу, что функция ЗначениеРеквизитаОбъекта из модуля с вызовом сервера устарела и заменена на ЗначениеРеквизитаОбъектаВПривилегированномРежиме.
2. VmvLer 05.12.23 17:35 Сейчас в теме
Создайте свой общий модуль с "ВызовСервера" и там создайте вложенные методы, например

Функция ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита, ВыбратьРазрешенные = Ложь, Знач КодЯзыка = Неопределено) Экспорт
	Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита, ВыбратьРазрешенные, КодЯзыка);
	
КонецФункции 

.....


если измениться имя метода или состав реквизитов, то компилятор вам об этом "сообщит"
следить за таким модулем-матрешкой не сложно.

С версии 8.3.21 - это уже неизбежная"повинность" и не только по общим модулям, но и по модулям объектов и даже по оповещениям.
Если прописан на клиенте метод обработчика оповещения на сервере, то "добрый вечер" - делайте матрешку в идентичном контексте.
6. fixin 4253 05.12.23 19:01 Сейчас в теме
(2) Я так и сделал.
но мне не понятно, почему нельзя галочку ВызовСервера на модуль ОбщегоНазначения было поставить?
7. user1880116 05.12.23 20:11 Сейчас в теме
(6)
мне не понятно

Потому что ты думаешь, что стандарты разработки придуманы исключительно для того, чтобы делать тебе неудобно.

Читай https://its.1c.ru/db/v8std#content:678:hdoc
Raskad; Xershi; fixin; romulanin; Sashares; +5 Ответить
12. fixin 4253 06.12.23 08:53 Сейчас в теме
(7) и что я должен понять из этого?
https://its.1c.ru/db/v8std#content:679:hdoc
Почему функция ЗначениеРеквизита расположена тогда в ОбщегоНазначения, а не ОбщегоНазначенияВызовСервера?

Я так понимаю, вы утверждаете, что 1С провела скурулезный анализ и в ОбщегоНазначения только те функции, которые нельзя вызывать с клиента? Да ладно...
8. Sashares 34 05.12.23 20:34 Сейчас в теме
(6)Кроме ответа "Ну вот так" вы какой ответ здесь ожидаете?
Написать на партнерском форуме вопрос или задать его на ЛК у вас какие сложности?
9. fixin 4253 05.12.23 21:45 Сейчас в теме
(8) я хочу понять, может я чего-то не знаю и галочка "ВызовСервера" стоит по каким-то разумным причинам. Ну может это как-то на производительность влияет или еще что.

Или ни на что не влияет, просто 1С почему-то не поставили эту галочку?
11. user1880116 05.12.23 22:04 Сейчас в теме
(9)
просто 1С почему-то
То есть разъяснения по ссылке ты так и не прочитал.

Действительно, ты не тупой. Ты просто неграмотный.
Срочно пиши статью на хабре.
user1564146; Дмитрий74Чел; romulanin; +3 1 Ответить
13. fixin 4253 06.12.23 08:54 Сейчас в теме
18. user1880116 06.12.23 13:34 Сейчас в теме
(13)
по какой ссылке?
Гений, как есть гений.
user1564146; romulanin; FatPanzer_Job; +3 1 Ответить
16. user856012 13 06.12.23 11:19 Сейчас в теме
(8)
Написать на партнерском форуме вопрос или задать его на ЛК у вас какие сложности?
Там рейтинга не видно, так что пошлют сразу, не нянчась.
user1880116; +1 1 Ответить
19. пользователь 06.12.23 13:37
Сообщение было скрыто модератором.
...
20. пользователь 06.12.23 14:19
Сообщение было скрыто модератором.
...
15. VmvLer 06.12.23 09:59 Сейчас в теме
(14) хватит ныть -
Везде некомпетентность и хаос


https://habr.com/ru/companies/ruvds/articles/744264/

надеюсь уже читали и плавали в этом эээ ну, короче, ясно.
17. fixin 4253 06.12.23 13:07 Сейчас в теме
(15)
Спасибо, мне кажется это как раз про типовые 1С:
Разработка ПО бывает настолько невыносимо скучной, что программисты ищут спасение в решении воображаемых проблем, о котором их никто не просил. Примерно как дети ищут спасение от скуки в вымышленных мирах научной фантастики, а женщины — в любовных романах. И это свойство не только отдельных разработчиков, но и менеджеров, которые ищут оправдание своему существованию. И целых отделов разработки, которым нужно высасывать из пальца ставить новые задачи.

Количество воображаемых проблем, которые может создать для себя инженер-программист, зависит только от его воображения и мастерства программирования.

Вместо того, чтобы написать простой и быстрый инструмент для решения одной задачи, он создаёт увесистую клюкву, универсальный комбайн, или «идеально расширяемую» архитектуру. Отсюда и корни у постоянно тормозящих программ, которые становятся всё жирнее и медленнее.
23. gybson 06.12.23 18:21 Сейчас в теме
Набор галочек должен соответствовать наименованию модуля.

https://its.1c.ru/db/v8std/content/469/hdoc

Или напротив, название модуля должно соответствовать галочкам

https://its.1c.ru/db/v8std/content/469/hdoc
24. fixin 4253 06.12.23 23:06 Сейчас в теме
(23) это замечательно, но я про перенос функции в другой модуль, который вызывается с клиента.
26. gybson 06.12.23 23:50 Сейчас в теме
(24) Да, я ответил только на один вопрос, "Почему у модуля ОбщегоНазначения нет галочки ВызовСервера?".

Перейдем ко второму.
Мы можем не знать какой конкретно модуль, но мы знаем, что его название будет заканчиваться на "ВызовСервера". И с большой долей вероятности начинаться будет на "ОбщегоНазначения". Например у меня конфигурация "Документооборот". Набираем в окне поиска объектов конфигурации "ОбщегоНазначения ВызовСервера" и видим 2 модуля : ОбщегоНазначенияВызовСервера, ОбщегоНазначенияДокументооборотВызовСервера. В первом нет необходимой функции. Во втором она есть. Поиск завершен, работа продолжается. Вам кажется это очень долго и сложно?
embarcadero; +1 Ответить
28. Kilka_v_Kepke 07.12.23 08:11 Сейчас в теме
(26) ну или глобальным поиском "ЗначениеРеквизитаОбъекта", выводим список найденных значений и ищем "ВызовСервера"
embarcadero; +1 Ответить
34. fixin 4253 07.12.23 10:54 Сейчас в теме
(28) спасибо, как вырезать аппендикс через гланды, я знаю. Вопрос, почему 1С не исправит свой косяк?
35. user1880116 07.12.23 10:58 Сейчас в теме
(34)
почему 1С
Потому что косяком это считаешь только ты. Соответственно тебе и исправлять.
39. fixin 4253 07.12.23 14:33 Сейчас в теме
(35) но не соответствует же логике БСП?
37. Kilka_v_Kepke 07.12.23 11:17 Сейчас в теме
(34) да вы доктор) еще один товарищ мне сказал что это такая защита от нехороших разработчиков, чтоб они с клиента не делали частые вызовы сервера, а шли на сервер сразу
user1880116; FatPanzer_Job; +2 Ответить
38. user1880116 07.12.23 12:09 Сейчас в теме
(37)
это такая защита
И, как мы видим, эта защита успешно сработала =)
FatPanzer_Job; +1 Ответить
41. fixin 4253 07.12.23 15:33 Сейчас в теме
(38) да ладно, я вызвал свой серверный модуль, который вызвал бсп. ни о чем защита.
45. Kilka_v_Kepke 07.12.23 15:38 Сейчас в теме
(41) надеюсь все это было сделано в цикле с клиента иначе вы зря взломали защиту
user1564146; +1 Ответить
48. Sashares 34 07.12.23 17:13 Сейчас в теме
(38)Не помогла, защита, слишком деятельный оказался))
40. fixin 4253 07.12.23 15:33 Сейчас в теме
(37) вряд ли. Единственное, что стоит запрещать - это методы с параметрами, которые не конвертируются при вызове с клиента. Но проблема в БСП налицо.

А если есть "чтобы часто не вызывали", то это надо декларировать в принципах разработки.
33. fixin 4253 07.12.23 10:54 Сейчас в теме
(26) да, это криво. Если это функция ОбщегоназначенияВызовСервера, она должна быть в модуле ОбщегоназначенияВызовСервера, а не в Общегоназначения + ее клон в ОбщегоНазначения***ТамВызовСервера

Логично?

Не надо быть адвокатом дьявола и защищать косяки 1с.
36. gybson 07.12.23 11:02 Сейчас в теме
(33) Были поставлены конкретные вопросы и даны конкретные ответы. Нет никакого смысла оценивать логичность реальности, надо ее принять.

Если нанесен какой-то моральный ущерб или нарушены обязательства, то обращайтесь в суд.
42. fixin 4253 07.12.23 15:34 Сейчас в теме
(36) Конкретный вопрос - был о том, почему так реализовано. На него ответа пока что нет. Моя гипотеза - так исторически сложилось а сейчас 1с делает "покер-фейс".
46. user1880116 07.12.23 15:45 Сейчас в теме
(42)
На него ответа пока что нет
Прости, Серёженька, бисер кончился.
47. gybson 07.12.23 16:00 Сейчас в теме
(42) Видимо вопрос ушел прямо во вселенную, а сюда не попал.
49. Sashares 34 07.12.23 17:19 Сейчас в теме
(42)
Конкретный вопрос - был о том, почему так реализовано.


Почему до вас никак не может дойти, что достоверно на этот вопрос могут ответить только разработчики данного функционала?
Разработчиков БСП на этом форуме нет.
Хотите официальный ответ - задайте официальный вопрос.
В ЛК или на партнерском форуме.
Раз вас не устраивают ответы от других пользователей форума.

сейчас 1с делает "покер-фейс"


А тут вы просто ноете, и ваше нытье выглядит жалко.
50. fixin 4253 07.12.23 21:05 Сейчас в теме
(49) Вы прекрасно знаете, что разработчики с комьюнити не общаются. Я чуть выше сделал предоложение, почему так произошло.

Жалким тут выглядит 1С, которая из релиза в релиз продолжает клепать БСП, не соответствующую своим же описаниям с дублями функций.

Я лишь это констатирую.
30. VmvLer 07.12.23 09:47 Сейчас в теме
Кто часто использовал эти методы в своих наработках типовых - те весело проведут пару недель когда платформу обновят.

Я еще пару лет назад вынес в расширение общий модуль с ВызовСервера относительно попсовых методов из незыблемой области ПрограммныйИнтерфейс
user1880116; +1 Ответить
31. user1880116 07.12.23 10:38 Сейчас в теме
(30)
из незыблемой области ПрограммныйИнтерфейс
Ну хоть кто-то документацию читает и своими руками что-то делает.

А не устраивает детский сад и клоунаду "почему это не сделали для Меня, я не понимаю, они там все такие..."
43. fixin 4253 07.12.23 15:34 Сейчас в теме
(31) косяк налицо, захотели побыть адвокатом дьявола (1С)?
32. user1880116 07.12.23 10:46 Сейчас в теме
Какое, всё-таки, счастье, что геня ничего ни знает о взрослых языках и концепциях.

Представляю пост с клоунадой по поводу private-public-protected-internal-sealed-virtual-override и прочих abstract. Потому что "а чо они, а Мне надо"
user1564146; +1 Ответить
44. fixin 4253 07.12.23 15:35 Сейчас в теме
(32) детские концепции еще не значит лепить по дурному. Приняли стандарты разработки - следуейте им.
51. fixin 4253 15.12.23 20:07 Сейчас в теме
Кстати, посмотрел хронологию конфигураций.

В БП 2.0.66.82, 3.0.44.140, 3.0.137.39 есть модуль ОбщегоНазначенияВызовСервера, но ЗначениеРеквизитаОбъекта находится только в модуле ОбщегоНазначения.

Т.е. эта проблема существует уже достаточно давно, еще с БП 2.0
52. user1880116 16.12.23 08:13 Сейчас в теме
(51)
эта проблема
Скучно тебе, генюшка?
53. user1564146 19.12.23 13:00 Сейчас в теме
Кто нибудь, пожалуйста. Дайте этому парню ссылку на статью про клиент серверное взаимодействие
Прикрепленные файлы:
user1880116; Sashares; +2 Ответить
54. fixin 4253 19.12.23 14:06 Сейчас в теме
(53) Вопрос не так прост, как вам кажется, перечитайте ветку, юноша.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот