#0
by fury21
Здр! Помогите обрезать код номенклатуры. Сейчас формат может быть или ГА-00000691 или 00-00000012 (ГА или 00) спереди. Для выгрузки на сайт нужно удалить спереди первые 3 символа и все нули, так, что бы остались только цифры начиная с 1 и до 9. Т.е. из 00-00000012 сделать просто "12", а из ГА-00000691 сделать "691". Кол-во нулей спереди разное всегда. Спасибо!
#4
by НЕА123
ОбрезанныКод = Формат(Число(СтрПолучитьСтроку(СтрЗаменить(Код,"-",Символы.ПС),2)),"ЧГ=");
#5
by ssh-2013
Универсально можно сделать так: цикл перебора символов начиная с конца строки к началу. Как только встречается первое не число цикл прервать и Формат(Число) от того что получено в цикле. Проверить на цифру можно например так:
#6
by Serg_1960
"Кол-во нулей спереди разное всегда" - зато длина кода - число постоянное. Намёк понят?
#8
by Serg_1960
Перебор с начала к концу ни чем не хуже (подначил) "Написать алгоритм сложнее всегда проще, чем наоборот"(я) Не плюсуй. В типовой функции из документа номер (а не код из справочника). Переделывать нет смысла.
#9
by Serg_1960
Типовая функция из типовой конфигурации - выделение числа из строки, где число - в начале строки:
#11
by fury21
Как то все сложно. Первые 3 символа можно просто отрезать, а потом убрать все нули. Как удалить именно нули спереди? И как этот код потом вставить в выгрузку?
#14
by ssh-2013
если префикс будет "01-" ? Может у него такого и нет, в этом смысле более универсально
#15
by Апош
>Как то все сложно дело в том, что программирование предполагает наличие мозга. в данной задаче ну хоть какого-нибудь
#26
by fury21
Преобразование в число добавляет к коду пробел на каждую тысячу (вместо 1180 пишет 1 180). Как обратно в строку преобразовать?
#27
by ДенисЧ
"Преобразование в число добавляет к коду пробел" Ничего никуда не добавляет. А если кому добавляет - могу продать резиновую киянку. Для рихтования рук.
#30
by fury21
При таком коде СтрЗаменить(Строка(Число(Сред(Номенклатура.код, 4))), " ", "") в выгрузку попадает <Артикул>1 108</Артикул> А мне пробел этот не нужен, как его убрать?
#32
by fury21
В итоге вот такая строка решила проблему, всем спасибо Формат(Число(Сред(Номенклатура.код, 4)), "ЧГ=") Нужно ли ее обратно в строку переводить?
#33
by ДенисЧ
Ты, главное, не читай справку... Особенно пояснения по возвращаемому функцией типу значения...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как обрезать рабочую базу ТиС до определенного числа ?
- обрезать базу УТ
- v7: Печатная форма. Как обрезать строку?
- Как в 1С8 можно расчитать цены номенклатуры контрагента из цен номенклатуры
- как обрезать sql базу?
- как сделат чтоб в печатную форму возле номенклатуры отображался код номенклатуры
- Обработка подбор номенклатуры (поиск по любому слову номенклатуры )
- ЭДО УТ11. Сопоставление номенклатуры и номенклатуры поставщика в разных базах
- УТ 11.2.Создание Установки цен номенклатуры из справочника номенклатуры.
- Загрузка номенклатуры в УТ 11.3. Документ "Установка цен номенклатуры"
В этой группе 1С
- ошибка в переносе из тис в ут 11
- Программное заполнение документа данными другого документа из формы.
- Фоновое задание и директивы компиляции
- СКД. Итоговые поля, с группировкой по номенклатуре
- 1C ЗУП 2.5 Штатная расстановка, сотрудник с другой должностью
- УПП закрытие месяца минус на 20 счёте
- Как узнать какая версия 1с 32 или 64?
- 1С: Профессионал по платформе 8.3
- Работа с ТЗ в УФ
- УФ. Оповещение о создании нового документа.
- период в скд 8.3
- ДокументDOM получить часть XML
- Полный перенос данных из Розницы 2.1 в УТ 11
- Отчет СКД загружает удаленный вариант отчета
- СКД. Вывод введенных параметров в шапку таблицы
- Code First и Linq to EF на примере 1С версии 8.3
- БП 3.0 “списание с расчетного счета” при перечислении зарплаты в
- Как получить должность сотрудника
- Хранимые процедуры MS SQL. Конвертировать поле в строку
- ПолучитьФормуВыбора для Управляемой формы