Пропуск незаполненного значения #745473


#0 by noooobok
Здравствуйте! 1с 8.2 упп Есть докумет с макетом. В модуле объекта строка кода дает такой результат: ТН по форме ТОРГ-12: 000295,            , 000296,            , 000297,            , 000298,            , 000299, ХЛБ00000026, 000300, ХЛБ00000027, 000301, ХЛБ00000028, 000302,            , 000303,            , 000304, ХЛБ00000029, 000305, ХЛБ00000030, 000306, ХЛБ00000031, 000307,            ,       Суть в следующем: Есть документы РН(расх накладная) и РТУ(реализация товаров и услуг). РТУ в свою очередь является реквизитом РН. Что требуется вывести в итоге: если значение РТУ не заполнено, то в макете предоставляется номер РН, иначе выводится номер РТУ. По сути почти получилось :) Пробовал пофиксить так: но на выходе лишняя инфа появляется. Видимо не совсем корректно задал условие в КОГДА .... ИНАЧЕ. Подкиньте идею как допилить это, спасибо.
#1 by noooobok
Доп. инфо: в результате на выходе ТН по форме ТОРГ-12: 000295,            , 000296,            , 000297,            , 000298,            , 000299, ХЛБ00000026, 000300, ХЛБ00000027, 000301, ХЛБ00000028, 000302,            , 000303,            , 000304, ХЛБ00000029, 000305, ХЛБ00000030, 000306, ХЛБ00000031, 000307,            , значения вида 000295 - это рн, ХЛБ00000026 - это рту
#2 by StepankovSergei
А чем первый результат от второго отличается? те же пробелы... Их нужно убрать?
#3 by Dmitriy_76
сокрЛП юзай
#4 by bootini
СтрокаДок.РасходнаяНакладная пустая тоже
#5 by noooobok
Видимо криво объяснил. из моего примера 000299, ХЛБ00000026. 000299 это номер РН. ХЛБ00000026 это номер РТУ. Если есть РТУ, то только он один должен выводиться. РН в данном случае не должен. В идеале должно быть так: ТН по форме ТОРГ-12: 000295,000296, 000297, 000298, ХЛБ00000026, ХЛБ00000027, ХЛБ00000028, 000302, 000303, ХЛБ00000029, ХЛБ00000030, ХЛБ00000031, 000307
#6 by Dmitriy_76
?(значениеЗаполнено(НомерРТУ),НомерРТУ,НомерРН)
#7 by bootini
#8 by noooobok
результат такой: ТН по форме ТОРГ-12: 000295,            , 000295, 000296,            , 000296, 000297,            , 000297, 000298,            , 000298, 000299, ХЛБ00000026, ХЛБ00000026, 000300, ХЛБ00000027, ХЛБ00000027, 000301, ХЛБ00000028, ХЛБ00000028, 000302,            , 000302, 000303,            , 000303, 000304, ХЛБ00000029, ХЛБ00000029, 000305, ХЛБ00000030, ХЛБ00000030, 000306, ХЛБ00000031, ХЛБ00000031, 000307,            , 000307, дублей еще больше
#9 by noooobok
Пардон, код рабочий. Косяк из-за моей невнимательности. Спасибо, кто откликнулся!
#10 by StepankovSergei
и соответствует условиям в ... Похоже в другом месте ошибка. Покажи больше кода.
#11 by noooobok
Пока в теме есть народ задам еще вопрос: можно ли выкинуть из имени часть символов? например, ХЛБ00000029 будет выводиться как 000029. 4 левых символа убрать
#12 by Mankubus
Синтаксис: Прав(<Строка>, <ЧислоСимволов>) Параметры: Тип: Строка. Тип: Число. Количество выбираемых символов. Возвращаемое значение: Тип: Строка. Строка выбранных символов. Описание: Выбирает последние справа символы строки. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Пример: // Пусть номер автомобиля в справочнике основных средств задается
#13 by Jokero
Если номер содержит кучу пробелов, то ЗначениеЗаполнено(Номер) выдаст истину. isnt it
#14 by GenAcid
No. It is not. СП: Для значений типа Строка возвращается Истина, если в строке есть не пробельные символы.
#15 by noooobok
спасибо. рабочий вариант выглядит так: //новый номер РТУ (без приставки ХЛБ)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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