ут 10.3 печать этикеток, обращение к реквизитам

1. lylik.92 29.05.17 19:47 Сейчас в теме
Доброго времени суток!

Есть небольшой вопрос..
В языке с++ есть функция, которая возвращает первое до пробела значение строки, есть ли что то подобное в языке 1с?

Суть проблемы, может найдется более разумное решение.
формирую этикетку, у нас производство одежды, и на этикетке должен быть полностью отражен размер. (рост-объем груди-объем бедер)
В базе в артикуле размер это последние две цифры, стандартные (42 44 46 и т.п.)
Можно ли при печати этикетки для данного артикула, как то выцепить эти две цифры, чтобы обработать (привести в гостовский вид размер) и вывести на ярлык..
Может не совсем точно разъясняюсь..

Если есть интересные статье в эту тему, буду признательна =)
По теме из базы знаний
Найденные решения
3. DAL 29.05.17 19:52 Сейчас в теме
Если последние две цифры, то

Размер = Прав(СокрЛП(Номенклатура.Артикул),2);
lylik.92; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DAL 29.05.17 19:50 Сейчас в теме
(1)
Позиция = Найти(СтрокаВКоторойИщем, СтрокаКоторуюИщем);

Позиция - это номер символа, с которого начинается вхождение
lylik.92; +1 Ответить
3. DAL 29.05.17 19:52 Сейчас в теме
Если последние две цифры, то

Размер = Прав(СокрЛП(Номенклатура.Артикул),2);
lylik.92; +1 Ответить
6. lylik.92 30.05.17 13:14 Сейчас в теме
(3)
Размер = Прав(СокрЛП(Номенклатура.Артикул),2);



Возможно громоздко, но работает)
ОбластьРазмер.Текст ="Размер: 170-" + Прав(СокрЛП(СтрокаИзСписка.Номенклатура.Артикул),2)*2 + "-" + (2+Прав(СокрЛП(СтрокаИзСписка.Номенклатура.Артикул),2))*2;
7. DAL 30.05.17 14:29 Сейчас в теме
(6)
Попытка
  Число1 = Число(Прав(СокрЛП(СтрокаИзСписка.Номенклатура.Артикул),2));
Исключение
  Число1 = 0;
КонецПопытки;

СтрокаЧисла1 = Формат(Число1*2,"ЧЦ=2; ЧДЦ=; ЧВН=");
СтрокаЧисла2 = Формат((Число1+2)*2,"ЧЦ=2; ЧДЦ=; ЧВН=");

ОбластьРазмер.Текст ="Размер: 170-" + СтрокаЧисла1  + "-" + СтрокаЧисла2;
Показать


Так корректнее.
Когда в артикуле пусто, не будет сообщения об ошибке выдавать.
lylik.92; +1 Ответить
8. lylik.92 30.05.17 15:08 Сейчас в теме
(7)

Оо...

спасибо, не знала про такой оператор.

А можно тогда еще Вас помучать)

Так сложилось, что у нас в базе наименование номенклатуры хранит в себе артикул вместе с названием модели.
И все эти наименования объединяются в группы с названиями моделей

Ищу сейчас возможность выводить на этикетку не полностью наименование, а только Родитель (наименование группы) или ЭтаГруппа (могу путать)
Возможно ли вообще такое?

Просто пытаюсь понять всю связь.
в макете задана область [Номенклатура.Наименование]
идет определение области ОбластьНоменклатура = ЭтикеткаОбласть.Области.Номенклатура;
и ниже печать ОбластьНоменклатура.Текст = СокрЛП(СтрокаИзСписка.Номенклатура)

не совсем понимаю откуда начинать копать
10. DAL 30.05.17 15:24 Сейчас в теме
(8)
Логика следующая.

Например, есть папка "Одежда", в ней папка "Пальто", в ней папка "Пальто драповое", а в ней номенклатура "123/432-Пальто драповое обыкновенное".

Вот ссылка на номенклатуру понятно что даст.
НоменклатураСсылка.Родитель 
- даст Пальто драповое.

НоменклатураСсылка.Родитель.Родитель
- даст Пальто.

НоменклатураСсылка.Родитель.Родитель.Родитель
- даст Одежда.

НоменклатураСсылка.Родитель.Родитель.Родитель.Родитель
- даст Неопределено.
12. lylik.92 30.05.17 15:27 Сейчас в теме
14. DAL 30.05.17 15:31 Сейчас в теме
(12)
Нужно понимать, что у вас содержится в переменной.

СтрокаИзСписка - Это ссылка на объект типа "Строка таблицы значений" или "Строка табличной части".

СтрокаИзСписка.Номенклатура - ссылка на элемент справочника "Номенклатура". Т.е. там есть внутри артикул, наименование, базовая единица измерения и т.д.

СтрокаИзСписка.Номенклатура.Родитель - тоже ссылка на элемент справочника "Номенклатура", у которого признак "ЭтоГруппа" установлен в "Истина".

Если он не определен (например, номенклатура в корне списка), то можно получить абракадабру при печати.
15. lylik.92 30.05.17 16:48 Сейчас в теме
(14)

Поняла, спасибо огромное!
4. DAL 29.05.17 19:55 Сейчас в теме
В 1С в конфигураторе существует синтакс-помощник.

Там есть раздел: Функции работы со значениями типа Строка.

Описание в таком виде:

СтрНайти (StrFind)
Синтаксис:

СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>)

Параметры:

<Строка> (обязательный)

Тип: Строка.
Исходная строка.
<ПодстрокаПоиска> (обязательный)

Тип: Строка.
Искомая подстрока.
<НаправлениеПоиска> (необязательный)

Тип: НаправлениеПоиска.
Указывает направление поиска подстроки в строке.
Значение по умолчанию: СНачала.
<НачальнаяПозиция> (необязательный)

Тип: Число.
Указывает позицию в строке, с которой начинается поиск.
Если параметр не задан и в параметре НаправлениеПоиска указано значение СНачала, то значение по-умолчанию равно 1.
Если параметр не задан и в параметре НаправлениеПоиска указано значение СКонца, то значение по умолчанию равно длине строки.
Не может быть отрицательным. В случае указания отрицательного значения выдаётся исключительная ситуация "Неверное значение параметра".
<НомерВхождения> (необязательный)

Тип: Число.
Указывает номер вхождения искомой подстроки в исходной строке.
Значение по умолчанию: 1.
Возвращаемое значение:

Тип: Число.
Позиция первого знака найденной подстроки. Нумерация символов в строке начинается с 1. Если строка не содержит указанной подстроки, то возвращается 0.
Описание:

Находит первое вхождение искомой строки как подстроки в исходной строке.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Примечание:

Если параметр <ПодстрокаПоиска> пустая строка, то возвращает 1.
Если оба параметра пустые строки, то возвращает 1.
Пример:

Если СтрНайти(Сотрудник.Имя, "Сергей") > 0 Тогда
    Сообщить(Сотрудник.Имя + " таб. №" + Сотрудник.Код);
КонецЕсли;
5. lylik.92 30.05.17 13:11 Сейчас в теме
Спасибо,
Сработало))

Отлично!
9. DAL 30.05.17 15:16 Сейчас в теме
(9)
ОбластьНоменклатура = ЭтикеткаОбласть.Области.Номенклатура;
Если ЗначениеЗаполнено(СтрокаИзСписка.Номенклатура.Родитель) Тогда
    НаименованиеГруппы = СтрокаИзСписка.Номенклатура.Родитель.Наименование;
Иначе
    НаименованиеГруппы = "";
КонецЕсли;
ОбластьНоменклатура.Текст = СокрЛП(НаименованиеГруппы); 
Показать
11. lylik.92 30.05.17 15:26 Сейчас в теме
(9)
Я тут попыталась сама

вроде вышло так как надо

В макете вместо Номенклатура.Наименование указала Номенклатура.Родитель
И при печати СокрЛП(СтрокаИзСписка.Номенклатура.Родитель)

Нельзя так?)
13. DAL 30.05.17 15:28 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот