Имя: Пароль:
1C
1С v8
Как получить длину строки реквизита формы?
0 MonteCarlo
 
26.09.19
10:26
Ребят, добрый день. Собственно вопрос в теме. Есть реквизит формы типа "Строка", не привязанный к реквизиту объекта. Можно ли как то получить длину строки программно?
1 mikecool
 
26.09.19
10:26
можно
2 mikecool
 
26.09.19
10:26
у реквизита есть выделенный текст
3 MonteCarlo
 
26.09.19
10:30
(2) А выделенный текст разве не тогда, когда реквизит уже привязан к элементу формы?
4 mikecool
 
26.09.19
10:35
(3) а ты возьми и проверь
5 MonteCarlo
 
26.09.19
10:36
(4) Проверил. Нету у реквизита выделенного текста
6 mikecool
 
26.09.19
10:37
(5) а что есть?
7 MonteCarlo
 
26.09.19
10:37
(4) Выделенный текст, согласно синтакс помощнику, это свойство поля формы. Поправь меня, если я не прав.
8 MonteCarlo
 
26.09.19
10:38
(6) Есть реквизит формы.
9 Kigo_Kigo
 
26.09.19
10:41
СтрДлина(ЭтаФорма.СтрокаРесквизит) = ?
10 MonteCarlo
 
26.09.19
10:44
(9) Параметром этой функции должна быть строка
11 hhhh
 
26.09.19
11:10
(10) ну или реквизит типа строка
12 MonteCarlo
 
26.09.19
11:16
(11) Вот именно
13 MonteCarlo
 
26.09.19
11:17
(11) А у меня нет строки, которую можно измерить. У меня есть реквизит формы.
14 Kigo_Kigo
 
26.09.19
11:19
(11) СтрДлинна вернет длину содержимого реквизита формы
15 Kigo_Kigo
 
26.09.19
11:19
как текста
16 Kigo_Kigo
 
26.09.19
11:20
я и спросил, что возвращает
или так
СтрДлина(СокрЛП(ЭтаФорма.СтрокаРесквизит)) хотя по идее СокрЛП лишнее
17 Kigo_Kigo
 
26.09.19
11:21
18 MonteCarlo
 
26.09.19
11:21
(16) СтрДлина возвращает длину строки. А мне нужно узнать длину реквизита типа строки.
19 Kigo_Kigo
 
26.09.19
11:23
(18) я правиль понял, есть реквизит типа строка, нужно узнать сколько сиволов туда можно загнать, типа сколько там определенно конфигуратором(к примеру)
20 MonteCarlo
 
26.09.19
11:24
(18) Я могу в принципе длину строки протянуть через параметры от создания реквизита до создания поля ввода. Но я бы хотел понять, есть ли способ прям из реквизита вытянуть это значение.
21 MonteCarlo
 
26.09.19
11:24
(19) Да
22 MonteCarlo
 
26.09.19
11:27
(19) Мне нужно как то получить КвалификаторыСтроки, оттуда я уже могу получить длину.
23 3achem
 
26.09.19
11:37
(22) Метаданные

Метаданные.Справочники[ИмяСправочника].Реквизиты[ИмяРеквизита].Тип.КвалификаторыСтроки.Длина
24 3achem
 
26.09.19
11:38
(23) А сорян, сейчас перечитал вопрос, что это реквизит формы

Форма УФ или ОФ?
25 MonteCarlo
 
26.09.19
11:44
(24) Форма управляемая. Реквизит создаю программно, указывая нужное мне значение. Его я могу протянуть дальше по коду. Но хотелось бы прям из реквизита вытянуть. Да и есть создать в конфигураторе этот реквизит, то этого значения у меня не будет.
26 Жан Пердежон
 
26.09.19
12:05
(25) ПолучитьРеквизиты()

хотя если ты сам его создаешь, правильным будет как раз использовать эту инфу, а не добывать её заново
27 MonteCarlo
 
26.09.19
12:09
(26) Хорошо, давайте предположим, что я создал реквизит формы в конфигураторе. А поле ввода под него пока не создавал. В какой то момент понадобилось создат ьполе ввода под этот строковый реквизит и мне нужна длина строки. Как ее вытащить?
28 MonteCarlo
 
26.09.19
12:10
(26) Я не спрашивал как мне получить реквизиты, я спросил как мне получить длину этого реквизита.
29 MonteCarlo
 
26.09.19
12:11
Похоже, что никак.
30 Жан Пердежон
 
26.09.19
12:17
(28) (29) похоже что да,
остается только звать программиста
31 Kigo_Kigo
 
26.09.19
12:29
(29) Да забей реквизит нулями да промерь СтрДлина :)
32 zuza
 
26.09.19
12:30
Ответ в (26)
33 MonteCarlo
 
26.09.19
12:46
(32) Прикалываетесь?
34 MonteCarlo
 
26.09.19
12:46
(30) Не знаете как, не пишите ерунду.
35 MonteCarlo
 
26.09.19
12:47
(31) Мне не надо хоть как нибудь решить эту задачу. Я хочу элегантный способ типовыми методами. Собственно то, что мне в итоге нужно, я смогу сделать и без этого.
36 MonteCarlo
 
26.09.19
12:48
(32) Какой ответ в 26? Метод ПолучитьРеквизиты() или то, что раз я сам создаю этот реквизит кодом, то и параметры Квалификаторов строки у меня уже есть и я могу их использовать?
37 Жан Пердежон
 
26.09.19
12:54
(36) а ты попробуй;
или всё ждешь, что за тебя тут весь код напишут?
38 MonteCarlo
 
26.09.19
12:59
(37) Попробовать что?????
39 MonteCarlo
 
26.09.19
12:59
(37) Если Вы о методе ПолучитьРеквизиты() то вот его описание.
ПолучитьРеквизиты (GetAttributes)
Синтаксис:
ПолучитьРеквизиты(<Путь>)
Параметры:
<Путь> (необязательный)
Тип: Строка.
Указывает путь к родительскому реквизиту. Если параметр опущен или указана пустая строка, возвращаются реквизиты верхнего уровня.
Возвращаемое значение:
Тип: Массив.
Массив объектов РеквизитФормы.
Описание:
Получает описание реквизитов формы.
40 MonteCarlo
 
26.09.19
13:03
(39) Через этот метод я получу все реквизиты формы. Затем мне нужно найти мой по имени, у него уже будет тип значения, из которого я получу квалификаторы строки и длину. Думаете этот метод элегантный? Я проще протяну эту длину по коду.
41 Жан Пердежон
 
26.09.19
13:05
(40) ну наконец-то, нельзя быть таким тугим
42 MonteCarlo
 
26.09.19
13:06
Ладно, всё, закрыли тему. Проще чем протянуть по коду нужное мне значение метода нет. Искать в массиве реквизитов нужный мне реквизит, это не то, что я хотел. Всем спасибо за участие.
43 Кац
 
26.09.19
13:08
А что там тянуть то? Храни значение длины строки своего реквизита в служебном реквизите формы, потом оттуда и дернешь
44 Ёпрст
 
26.09.19
13:09
(42) массив, это если путь не указываешь к реквизиту, тебе путь известен - имеешь сразу свой реквизит, из него то, что надо.
45 MonteCarlo
 
26.09.19
14:22
(44) В описание написано, что возвращается всегда массив. А если указан путь, то получишь все подчиненные реквизиты.
46 MonteCarlo
 
26.09.19
14:22
(43) Реквизитов много. Да как тянуть, не проблема, спасибо.
Независимо от того, куда вы едете — это в гору и против ветра!