v7: Внешняя печатная форма #793721


#0 by san4ez1008
Добрый день! Создаю внешнюю печатную форму, партнеру нужно, чтобы в ней указывались количество единиц поставки и вложимость единиц поставки. Табличка будет выглядеть примерно так: . Вложимостью единицы поставки будет количество штук в месте. В номенклатуре нашей базы единица измерения только одна - штуки, поэтому вложимость надо считывать с наименования. Наименования в номенклатуре прописываются следующим образом: MEN DEEP EFFECT 3 шампунь От перхоти и жирности с цинк-пиратионом 250мл[6;] или т/мыло FA Бодрящее 90гр [40;5]. Вопрос: как найти это число в строке наименования номенклатуры, если оно находится между [ и ; ?
#1 by san4ez1008
Конфиг комплексная 4.5
#2 by VladZ
Считывать что-то из названия - ненадежный метод. Заведите отдельный реквизит. Будет быстрее и надежнее.
#3 by 1dvd
СтрНайти
#4 by 1dvd
Ну, или регуляркой воспользоваться, если времени много
#5 by san4ez1008
времени в обрез
#6 by 1dvd
тогда
#7 by san4ez1008
СтрНайти нет функции оО
#8 by Fedor-1971
Как-то так: только что будешь делать когда будет наименование типа "некая большая штука [тут ещё какая-то информация ; [40;5]" в прав, отдельным реквизитом кошернее.
#9 by 1dvd
украли!
#10 by san4ez1008
просто Найти есть
#11 by 1dvd
а... у тебя семерка, да, тогда Найти(
#12 by Fedor-1971
и? как-то меняется суть алгоритма?
#13 by san4ez1008
да вроде нет
#14 by Fedor-1971
вместо  Вложимость=Число(позДоКуда-ПозОтКуда); надо  Вложимость=Число(Сред(Наименование,позОтКуда,позДоКуда-ПозОтКуда)); - надо получить число из строки, а не разность позиций
#15 by 1dvd
; может встретиться до [
#16 by san4ez1008
не работает(
#17 by Fedor-1971
потому и контроль разности После-До Тут больше проблема когда между символами строка текста, а не число, или несколько чисел отладчиком пользоваться умеешь? вот и воспользуйся
#18 by san4ez1008
еще ни разу не пользовался..
#19 by 1dvd
самое время начать
#20 by Fedor-1971
учись, так завещал дедушка Ленин Внеси исправление в и учись пользоваться отладчиком
#21 by san4ez1008
говорила мне мама, "Сынок,зануляй перменные"... =/ вложимость = 0
#22 by Fedor-1971
Лучшие грабли, это те, на которые, наступил сам.
#23 by san4ez1008
а еще вопрос, мне в печатную форму надо вывести реквизит с заявки покупателя "Дата отгрузки", пытаюсь передать во внешнюю печатную форму через Докум.Форма.ДатаОтгрузки - выводит неизвестный объект...
#24 by san4ez1008
о блин,какая нахрен форма... все сделал
#25 by san4ez1008
а как из поля "комментарий" номенклатуры извлечь данные?
#26 by Смотрящий
Ты не поверишь
#27 by san4ez1008
нет конечно
#28 by Fedor-1971
ты о чём? целиком Номенклатура.Комментарий, часть -  работа со строками
#29 by san4ez1008
все что после слова "Объем: " стоит. А если это будет не единственной строкой?
#30 by Fedor-1971
тебе виднее что в твоём поле записано. Принцип в , только забирай всё до конца строки
#31 by san4ez1008
символ конца строки 10 или 13?
#32 by Fedor-1971
почитай в СП про Сред, вроде если не указать количество символов (последний параметр), то получишь строку с указанной позиции до конца строки
#33 by Маркусс
Ищешь позицию ; Вичисляешь длину искомой строки Через сред получешь с позиции[ строку полученной длиной. Там перебираешь символы на соответствие числовому ряду. и преобразуешь полученную строку в число.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С