• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Функция "Формат" 1С V 8.1

  • Автор темы VoodyGoo
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

VoodyGoo

Встроенные функции языка
Формат (Format)
Синтаксис:
Формат(<Значение>, <Форматная строка>)

Значение первого параметра выдергиваю из таблицы ДБФ, поле типа Нумерик.
Когда значение 3-х значное (214, 254, 145) все нормально, но когда оно больше 1000 число имеет формат (1 254, 2 954, 25 452 и т.д.) Выловить из строки пробел (т.е. зазделитель тысяч и сотен) не получилось. Нашел функцию "формат", но не могу понять, как работает её 2-й парамтр, пробовал ЧГ и ЧРГ, ничего не выходит.
Помогите!!!
 
V

VoodyGoo

А чем тебе просто Ч не подходит?

пишу
Код:
Формат(ЗнПоляКОД, "Ч");
и по полученному значению
Код:
Контр.НайтиПоКоду(ЗнПоляКОД)
где Контр это справочник.
Выдает сообщение Не найден Контрагент с кодом: 21 456 Наименование в программе РасчетаТарифов: ОАО "Новосибирск Авиа"
в справочнике Код = 21456. Вот мне и надо от этого пробела (21_456) избавиться
 
P

puh14

Контр.НайтиПоКоду(СокрЛП(Формат(ЗнПоляКОД, "Ч")))

Судя по тому что ты написал - форматированое значение в переменную не записывается и следовательно ты ищешь по старому значению - то есть неформатированному.
 
K

KiR

А если попробовать так:
Код:
Контр.НайтиПоКоду(Число(ЗнПоляКОД))
 
V

vbs

2 KiR
Контр.НайтиПоКоду(Число(ЗнПоляКОД))

Боюсь, что
если ЗнПоляКОД = "21 456" результат будет 21 !
1. А зачем вообще форматировать число ? Если код контрагента числовой - по нему (ДВФ.Код) и искать
2. Можно из ЗнПоляКОД удалить пробелы перед поиском
 
K

KiR

2 vbs
А мне кажется что пробел появляется в результате формат(ЗнПоляКОД, "Ч"); могу конечно и ошибаться
 
V

vbs

Вот я и задаюсь вопросом - ЗАЧЕМ использовать формат ? Ищи сразу по коду
 
V

VoodyGoo

Вот я и задаюсь вопросом - ЗАЧЕМ использовать формат ? Ищи сразу по коду
Сразу по коду говорит не найден такой...,
формат поля хоть и числовой, а значение почемуто 12 345.
Главное, что проблема решена уже)

Код:
Формат(ДБФ.nom, "Ч=0");

наверно при записи при выполнении
Код:
ЗнПоляКод = ДБФ.nom;

что происходит с типами..?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!