8.х Лидирующие нули

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Aparatus, 21 окт 2013.

  1. TopicStarter Overlay
    Aparatus
    Offline

    Aparatus Опытный в 1С

    Регистрация:
    3 апр 2013
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Добрый день всем.
    Читаю ячейки экселя, есть значение "Код", считывается оттуда почему-то без нулей(кстати наверное обратный тут вопрос так же можно задать), то есть , к примеру, код = 1
    Как найти в справочнике элемент по такому коду? Не пойму что-то. Понедельник даёт о себе знать .
    Или может быть тут лучше всё-таки нормально код считывать? Подскажите, почему у меня неправильно тогда читает? считывается в квалификатор строки.
  2. TopicStarter Overlay
    Aparatus
    Offline

    Aparatus Опытный в 1С

    Регистрация:
    3 апр 2013
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Изначально, вопрос в голове звучал там, можно ли как-то найти элемент справочника, отрезав при поиске лидирующие нули в коде. :)
  3. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    потому как из екселя у вас все с типом строка считывается. Добавляйте искусственные нули впереди до вашей длины строки кода. Еще учитывайте префикс, если он есть

    думаю можно, в запросе через ПОДОБНО
  4. TopicStarter Overlay
    Aparatus
    Offline

    Aparatus Опытный в 1С

    Регистрация:
    3 апр 2013
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Не, через подобно совсем всё плохо конечно
  5. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    почему?
  6. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    циклом заполни список значений, каждый раз добавляя впереди "0", а запрос проверяй код "В" полученом списке

    потому что написав подобно "%10" у тебя попадет и "00000010" и "11111110" :)
  7. TopicStarter Overlay
    Aparatus
    Offline

    Aparatus Опытный в 1С

    Регистрация:
    3 апр 2013
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Самый лучший тут , пожалуй, вариант с добавлением необходимого количества нулей.
    Если кому надо, взято с хэлп1с
    Функция ДобавитьНули(Значение, НужнаяДлинаЗначения)

    Значение = СтрЗаменить(Формат(Значение, "ЧГ="), " ", "");
    НадоНулей = НужнаяДлинаЗначения - СтрДлина(Значение);
    ВедущиеНули = Формат(0,"ЧЦ="+НадоНулей+";ЧН=; ЧВН=; ЧГ=0");
    Возврат ВедущиеНули + Значение;

    КонецФункции


    Спасибо всем большое
  8. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну да, что-то переклинило
  9. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    #7 если количество "0" впереди заранее известно то да
  10. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    В экселе тип ячейки стоит число. сделайте строка и нули вернуться.
    А если это проблематично, можно из конфигурации "Конвертация данных" взять функцию ПривестиКодКДлине или ПривестиНомерКДлине (не помню точное название) и ее использовать.
Похожие темы
  1. Shurfer
    Ответов:
    2
    Просмотров:
    1.097
  2. Bless
    Ответов:
    2
    Просмотров:
    490
Загрузка...

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