Версия для печати темы (https://pro1c.org.ua/index.php?s=3c382f7ca13b53c30f33c70422a4f2b1&showtopic=45852)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Выбрать часть текста из строки

Автор: Lexveritas 22.05.18, 10:25

1С8.3.10 УПП 1.3

Справочник Номенклатура.

Наименование примерно такое "что-то 123,123 (что-то+что-то и что-то еще) 1,23

Как сделать так чтоб при изменении поля Наименование, содержимое скобок отправлялось в поле "Конструкция"? Возможно ли это вообще?

Содержимое скобок может быть самое разное. Длина так же может быть от 10 до 30 символов...

 ! 

http://pro1c.org.ua/index.php?act=announce&id=2: 5
 

Автор: sava1 22.05.18, 11:05

Цитата(Lexveritas @ 22.05.18, 11:25) *
Возможно ли это вообще?


Возможно.
Найти подстроку и вписать в Конструкция.

Автор: Vofka 22.05.18, 12:09

Навскидку:
- используйте СтрНайти для поиска номера символа ( и );
- после этого от позиции символа ) отнимаете позицию символа ( и получаете количество символов в скобках;
- после этого используйте функцию Сред.

Автор: sava1 22.05.18, 13:37

или регулярку.

Автор: Vofka 22.05.18, 16:09

sava1, дайте ТС-у пример кода с регуляркой. Иначе ценность вашего сообщения 0. Честно говоря, как и предыдущего в этой теме. Обратите внимание на 16 пункт правил. Если хотите помочь - помогите, если не хотите, зачем давать бесполезные, в данном случае, ответы?

Автор: Lexveritas 22.05.18, 16:41

Vofka @ Сегодня, 13:09 * ,
Вот тут вообще ничего не понял. Вернее понял, но и не понял!
А, можно хоть какой то кусок кода для примера? Буду крайне признателен!

Автор: Flexy 22.05.18, 20:08

ОткрСкобка = Найти(Наименование, "(");
ЗакрСкобка = Найти(Наименование, ")");
Если ОткрСкобка = 0 ИЛИ ЗакрСкобка = 0 Тогда
Возврат;
КонецЕсли;
Конструкция = Сред(Наименование, ОткрСкобка + 1, ЗакрСкобка -1);

Автор: Prospero 22.05.18, 21:22

Цитата(Flexy @ 22.05.18, 21:08) *
Конструкция = Сред(Наименование, ОткрСкобка + 1, ЗакрСкобка -1);

ИМХО,
Конструкция = Сред(Наименование, ОткрСкобка + 1, ЗакрСкобка -ОткрСкобка -1);


Добавьте код в обработчике события "ПриИзменении"

Автор: Flexy 22.05.18, 22:09

Цитата(Prospero @ 22.05.18, 21:22) *
ИМХО

Действительно, спешил...не проверял...Спасибо icon_beer17.gif

Автор: Lexveritas 25.05.18, 15:24

Классно!
Всем преогромное спасибо! Заработало!

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua