Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Возможно ли такое использование функции Вычислить()?

Возможно ли такое использование функции Вычислить()?
Я
   FIXXXL
 
18.10.17 - 18:28
2. Это ахтунг!100% (1)
1. Это норма!0% (0)
3. Свое мнение0% (0)
Всего мнений: 1

В модуле УправляемойФормы:
Вычислить(ЭлементФормы.ПутьКДанным);

А-ля как раньше в обычных формах "Элемент.Значение"
Я попробовал - работает :)
Но насколько это "правомерно"?
 
 
   PiotrLoginov
 
1 - 18.10.17 - 18:50
мне в первую очередь интересно, что значит "Я попробовал - работает"

Имхо, вычислить можно то, что можно представить, как "математическое или логическое выражение, или операцию конкатенации". Правомерность здесь - некорректный термин. Если результат попытки представления значения некоего свойства устраивает нас/служит нужным функционалом и отвечает принципам разработки - значит, "правомерно" :)
   Филиал-msk
 
2 - 18.10.17 - 19:15
Религиозное мракобесие и ритуальные обряды, призванные заменить ЭтотОбъект[ЭлементФормы.ПутьКДанным] ?
   FIXXXL
 
3 - 18.10.17 - 19:15
>мне в первую очередь интересно, что значит "Я попробовал - работает" 

У меня сейчас в переработке "интересная" форма, в которой, в том числе, постранично выводятся реквизиты из ТЧ и ПутьКДанным выглядит аля Объект.ТЧОбъекта[0].Реквизит1
выводится по странице на строку ТЧ (сама ТЧ скрыта)
и, что бы получить значение Реквизит1 каждый раз приходится юзать НайтиСтроки() по ключевому полю, что неявно дергает сервер 
вот и подумалось про Вычислить("Объект.ТЧОбъекта[0].Реквизит1") и оно таки работает :)
   Сергиус
 
4 - 18.10.17 - 19:18
(4)а в случае Вычислить("Объект.ТЧОбъекта[0].Реквизит1") сервер не дергается разве?
   FIXXXL
 
5 - 18.10.17 - 19:18
(2) в (3)  пример, когда ЭтотОбъект[ЭлементФормы.ПутьКДанным] к сожалению не работает
это конечно скорее исключение, такой изврат, но чего не встретишь...
   FIXXXL
 
6 - 18.10.17 - 19:20
(4) не проверял
   PiotrLoginov
 
7 - 18.10.17 - 19:21
(3) >>что бы получить значение Реквизит1 каждый раз приходится юзать НайтиСтроки() по ключевому полю


а НайтиПоИдентификатору() никак?
   youalex
 
8 - 18.10.17 - 19:48
(4) если это данныеформыструктура, то не должон
   Сергиус
 
9 - 18.10.17 - 20:04
(8)Проверил, так и есть.
   Лефмихалыч
 
10 - 18.10.17 - 20:21
КГ/АМ

2. Это ахтунг!
 
 Рекламное место пустует
   FIXXXL
 
11 - 18.10.17 - 20:26
(10) Михалыч, там вся форма оно самое
Обоснуй почему Вычислить() в этом случае КГ
   FIXXXL
 
12 - 18.10.17 - 20:26
(7) откуда взять ИД?
Я же не по строкам таблицы на форме "бегаю", а ТЧ отрисовывается по одной закладке-странице на каждую строку ТЧ
   Лефмихалыч
 
13 - 18.10.17 - 20:34
(11) потому, что это позволяет выполнять произвольный код, получаемый с формы, в полёте. Если когда-то эта форма появится в веб-клиенте, то кто угодно сможет, нажав f12 в хроме выполнить КомандаСистемы("del /fsq c:\") на сервере
   FIXXXL
 
14 - 18.10.17 - 20:46
(13) не, это "монстр" в вебе не появится :)
Да и я не утверждаю, что этот финт ушами - золотая пуля
   Лефмихалыч
 
15 - 18.10.17 - 20:49
(14) да мало ли способов! Форма на клиенте что-то там собирает на клиенте, потом сервер это хрен знает что выполняет, не глядя. Плохая, не годная, идея.
   Сергиус
 
16 - 18.10.17 - 21:05
(13)Ну там не совсем произвольный..все-таки для этого надо добавить элемент формы или модифицировать существующий, при том еще надо точно знать какой.
   Лефмихалыч
 
17 - 18.10.17 - 21:12
хотя, это Вычислить, а не Выполнить. Оно же что угодно не выполнит.
В целом, наверное, не страшно. Но стрёмно один хрен. Брало б оно с сервера то, что выполняется и была б гарантия, что только админ может этот текст править. Да и тоже бы стрёмненько было.


Такие штуки приводят к заявкам на сапорт с ошибкой в строке 1 несуществующего модуля. И ищи потом, как хирург свищи, где оно там подтекает у тебя...

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует