8.х Ссылка на документ передается строкой - как найти документ?

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

  1. TopicStarter Overlay
    Tanush
    Offline

    Tanush Опытный в 1С

    Регистрация:
    24 апр 2008
    Сообщения:
    96
    Симпатии:
    0
    Баллы:
    26
    Итак, если СТР = "Счет-фактура полученный ТДК00000001 от 23.05.2009 12:00:00" (строка). Как имея вот такую строку найти этот документ? Есть ли какой-то стандартный способ или как вариант разбить эту строку на кусочки "Дата", "Номер" и "Вид документа" и искать по этим кусочкам?
  2. UnNone
    Offline

    UnNone Опытный в 1С

    Регистрация:
    21 мар 2007
    Сообщения:
    148
    Симпатии:
    0
    Баллы:
    26
    Теоретически можно построить запрос и искать по представлению документа, но это в том случае если указанная вами строка, получена тоже как представления документа, а если вы ее формируете самостоятельно по какому-то правилу, то по представлению искать сложно будет.
    А правильнее всего было продумать как все таки передавать ссылку, по которой однозначно можно было бы найти документ.
  3. KoD
    Offline

    KoD

    Регистрация:
    23 сен 2010
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    А эта строка откуда вылезла? Из дока или откуда то еще?

    Если из дока то можно не разбивать на дату и номер
  4. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    немного некорректнаязадача..

    Изначально надо знать по какому количеству типов документов будет осуществляться поиск.. потом уже и думать о способах...

    Строку можно в принципе разложить на тип докуменат номер и дату.. а потом просто поиск..
  5. TopicStarter Overlay
    Tanush
    Offline

    Tanush Опытный в 1С

    Регистрация:
    24 апр 2008
    Сообщения:
    96
    Симпатии:
    0
    Баллы:
    26
    Изначально задача состояла в слеующем: в файле текстовом задается список документов, при загрузке в БД надо находить эти документы и если найден возвращать ссылку, если нет - то это уже совсем другая история.
    мое решение: разбить строку с названием на Дату, номер и Синоним. По синониму искать в метаданных.
  6. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Простейший вариант - изменить задачу :) Пусть это будет не текстовый файл, а, например, дбф или эксель - думаю, с "поставщиком файла" договоритесь :)
  7. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    да или тот же текст просто структурированный))) ..
  8. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Искать по синониму - это извращение. А так и эту строку разобрать можно.
    Структурированная строка:
    Код:
    СтрокаСДанными = СтрЗаменить(ПредставлениеДокумента," ",Символы.ПС);
    // в последней строке у вас будет время, в предпоследней дата, потом слово "от", далее номер, а в оставшихся синоним, который легко собрать обратно.
    // обращение к строке:
    СтрокаВремя = СтрПолучитьСтроку(СтрокаСДанными,СтрокаСДанными.Количество());
    СтрокаДата = СтрПолучитьСтроку(СтрокаСДанными,СтрокаСДанными.Количество()-1);
    

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