![]() |
|
Кому принадлежит переменная? | ☑ | ||
---|---|---|---|---|
0
anikev
19.05.25
✎
12:05
|
Всем привет!
Имею простой кусок кода: _Фамилия = ""; _Имя = ""; _Отчество = ""; ЗаявительКратко = удМСН.РазборФИО(КонтрагентОтветственноеЛицоИнициалы, _Фамилия, _Имя, _Отчество); Если не смотреть реквизиты, я не могу понять что такое "ЗаявительКратко". Это может быть реквизит формы, реквизит объекта или вообще переменная. Может быть есть какой хоткей, при выборе которого мне конфигуратор подсказал бы, к чему относится? Может TurboConf умеет. |
|||
1
Fish
гуру
19.05.25
✎
12:13
|
(0) Есть такой хоткей. Ctrl+Shift+F
|
|||
2
Мультук
гуру
19.05.25
✎
12:18
|
Нажать F12, если локальная переменная - перейдёт к месту её объявления.
|
|||
3
Eiffil123
19.05.25
✎
12:36
|
в заголовке темы очень философский вопрос. Я бы сказал, что переменная принадлежит программисту, который ее придумал.
|
|||
4
saradip
19.05.25
✎
12:37
|
(0) А что мешает поставить точку остановка перед строчкой ЗаявительКратко = удМСН.РазборФИО(КонтрагентОтветственноеЛицоИнициалы, _Фамилия, _Имя, _Отчество);
и посмотреть значение ЗаявительКратко? |
|||
5
СвинТуз
19.05.25
✎
12:40
|
"реквизит объекта"
эт вряд ли |
|||
6
Fish
гуру
19.05.25
✎
12:40
|
(4) Ему нужно не значение, а выяснить принадлежность.
|
|||
7
Fish
гуру
19.05.25
✎
12:42
|
(5) В модуле объекта запросто.
|
|||
8
olegves
19.05.25
✎
12:45
|
(7) в модуле формы может быть и реквизит формы
|
|||
9
olegves
19.05.25
✎
12:46
|
(0) это фича 1С - привыкай
|
|||
10
АгентБезопасной Нацио
19.05.25
✎
12:50
|
Турбоконф - умеет. При подсказке реквизит формы отмечается зеленым, переменная - красным.
В модуле - реквизит объекта соответсвенно.
|
|||
11
maxab72
19.05.25
✎
13:02
|
(10) и простой конфигуратор, не турбированный, по разному подсвечивает при быстром выборе переменные модуля и объекта.
|
|||
12
saradip
19.05.25
✎
13:03
|
(7) Ну окей.
Вот у человека вопрос: реквизит формы реквизит объекта вообще переменная Ставим точку, смотрим тип: 1. Неопределено = Значит НЕ реквизит формы и НЕ реквизит объекта, ответ = переменная Иначе ищу через глобальный поиск. Других способов не знаю. Вот допустим в УТ 11.5. Из банка чуваки прислали обработку для работы с их китайским умным терминалом, в которой есть строчка ОблачныеКассы = Новый Массив; А у меня 1С ругается на ней, смотрю, а ОблачныеКассы это типовой общий модуль. |
|||
13
maxab72
19.05.25
✎
13:12
|
(12) "ОблачныеКассы это типовой общий модуль." Это новый стиль наименований в 1с. Имя модуль должно совпадать с именем подсистемы. То есть в конфигурации существует подсистема "ОблачныеКассы".
|
|||
14
saradip
19.05.25
✎
13:21
|
(13) Существует, да, все верно.
Я имею ввиду, что динамическая переменная совпадает с именем общего модуля, и при попытке присвоить ей новый массив возникает ошибка. Ну как бы, я об этом сообщил, но уже неделю ответа нет, видимо не интересно. |
|||
15
uno-group
19.05.25
✎
13:22
|
(12) А реквизита формы неопределенного типа не может быть?
|
|||
16
saradip
19.05.25
✎
13:34
|
(15) Если произвольный?
Я его в любом случае, найду через поиск, какой бы он ни был |
|||
17
Fish
гуру
19.05.25
✎
14:04
|
(12) Пустое значение реквизита составного типа всегда неопределено.
|
|||
18
программистище
19.05.25
✎
14:10
|
хм, человеку проще ветку создать, чтобы задать такой вопрос вместо того, чтобы несколько секунд потратить на понимание, однако
|
|||
19
anikev
19.05.25
✎
14:17
|
(9) после VS Code не пришло принятие
|
|||
20
anikev
19.05.25
✎
14:24
|
(12) Вот прям в точку! Чтобы найти принадлежность, нужно проанализировать всю конфигурацию, а внимание рассеивается. На сколько я понял из ответов - легкого пути нет. Сейчас у меня задача подсистему из УПП 1.3 перенести в самописанную с Управляемыми формами. Логику я там не знаю и мне приходится играть в Шерлока с поиском по имени, где находится эта переменная
|
|||
21
anikev
19.05.25
✎
14:32
|
Вот, например, тут я вижу где находится переменная и какой тип.
https://prnt.sc/mfhIQzK2wib5 В конфигураторе мне бы такого функционала было бы тоже достаточно. Навел на переменную, а она показала, что, например, это реквизит формы и какой тип. Здорово же. |
|||
22
saradip
19.05.25
✎
14:51
|
(17) Да я не спорю на счет Неопределено, на то оно и Неопределено, что это может быть, что угодно...
Зацепились значит они) Но прежде, чем использовать глобальный поиск, я всегда смотрю тип в отладчике, часто бывает, что он уже определен. А так, я написал общий принцип, которым пользуюсь я. Может у вас другой подход, откуда мне знать. В 1С более быстрого способа поиска принадлежности я не знаю. А на счет вопроса автора, если на него отвечать прямо, то хоткея универсального нет, только поиск |
|||
23
Гипервизор
19.05.25
✎
15:12
|
(12) 'Неопределено = Значит НЕ реквизит формы и НЕ реквизит объекта, ответ = переменная'
Почему такой вывод? А если реквизит составного типа? |
|||
24
Мультук
гуру
19.05.25
✎
15:25
|
(22)
Сделай два скриншота -- реквизиты объекта -- реквизиты формы Приклей их скотчем на второй монитор и наслаждайся. Все что не этих списках -- локальные переменные. |
|||
25
TormozIT
гуру
19.05.25
✎
17:06
|
(21) В ТурбоконфИРе есть подробнейшая инфа в панели описания текущего слова списка автодополнения
- параметр-приемник - расчетный тип выражения - объявленный тип выражения - тип-приемник - свойства первого уровня - параметры метода - тип-владелец - место объявления - минимальная версия платформы - доступность по контекстам компиляции - описание на естественном языке и прочее. Можно часть этого увидеть в видео по старой версии https://www.youtube.com/watch?v=6H8br133luM ![]() |
|||
26
Garykom
гуру
19.05.25
✎
15:41
|
(0) Только через отладку
Это может быть чем угодно и до этапа исполнения невозможно достоверно точно выяснить что это такое |
|||
27
Garykom
гуру
19.05.25
✎
15:44
|
(26)+ Я к тому что реквизиты формы можно программно добавлять
В итоге в одной и той же процедуре/функции это может быть сначала локальная переменная, а затем реквизит формы |
|||
28
TormozIT
гуру
19.05.25
✎
15:50
|
(27) Ошибаешься. К динамически добавленным реквизитам формы обращение только через родителя, т.е. прямое обращение (ф = <ИмяРеквизита>) запрещено.
|
|||
29
saradip
19.05.25
✎
15:49
|
(24) Идея бомбовая, надо запатентовать
|
|||
30
Garykom
гуру
19.05.25
✎
15:55
|
(28)
ЗаявительКратко = ЭтотОбъект.ЗаявительКратко; |
|||
31
anikev
19.05.25
✎
16:01
|
(25) Шикарно, много информации - я уже опробовал)
Спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |