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

Тема в разделе "1C и всё что с ней связано", создана пользователем VoodyGoo, 21 июл 2008.

Статус темы:
Закрыта.
  1. VoodyGoo

    VoodyGoo Гость

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

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

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    А чем тебе просто Ч не подходит?
     
  3. VoodyGoo

    VoodyGoo Гость

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

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Контр.НайтиПоКоду(СокрЛП(Формат(ЗнПоляКОД, "Ч")))

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

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    А если попробовать так:
    Код (Text):
    Контр.НайтиПоКоду(Число(ЗнПоляКОД))
     
  6. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    2 KiR
    Контр.НайтиПоКоду(Число(ЗнПоляКОД))

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

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    2 vbs
    А мне кажется что пробел появляется в результате формат(ЗнПоляКОД, "Ч"); могу конечно и ошибаться
     
  8. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Вот я и задаюсь вопросом - ЗАЧЕМ использовать формат ? Ищи сразу по коду
     
  9. VoodyGoo

    VoodyGoo Гость

    Сразу по коду говорит не найден такой...,
    формат поля хоть и числовой, а значение почемуто 12 345.
    Главное, что проблема решена уже)

    Код (Text):
    Формат(ДБФ.nom, "Ч=0");
    наверно при записи при выполнении
    Код (Text):
    ЗнПоляКод = ДБФ.nom;
    что происходит с типами..?
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей