|   |   | 
| 
 | Кому принадлежит переменная? | ☑ | ||
|---|---|---|---|---|
| 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) Шикарно, много информации - я уже опробовал)
 Спасибо | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |