1. 1C / Говнокод #4849

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    ВнутреннийКодДокумента=Лев(ФайлКаталога.Имя,Найти(ФайлКаталога.Имя,"_")-1);
    ВнутреннийКодДокумента=Формат(Число(ВнутреннийКодДокумента),"ЧЦ=9;ЧВН=");
    ВнутреннийКодДокумента=СтрЗаменить(ВнутреннийКодДокумента," ","");
    СсылкаНаВходящийДокумент=Справочники.ВходящиеДокументы.НайтиПоКоду(ВнутреннийКодДокумента);

    получает имя файла например 122341_20101207201000.pdf и ищет по коду в справочники с лидирующими нулями, если кто то может предложить лучше предложение, то я буду только рад)

    Запостил: cdpoma, 07 Декабря 2010

    Комментарии (22) RSS

    • небольшая неточность заменить надо не пробел а Символы.НПП
      Ответить
      • ну если правильно написать форматную строку в Формат, то никаких НПП или ещё чего заменять вообще не надо будет
        Ответить
    • Лев(">:3")
      Ответить
    • расскажите пожалуйста по подробнее про задачу
      мне вроде бы все слова ясны, но в общую картину не скалдывается(
      Ответить
      • Пока СтрДлина(ВнутреннийКодДокумента)<Метадан ные.Справочники.ВходящиеДокументы.ДлинаК ода Цикл
        ВнутреннийКодДокумента="0"+ВнутреннийКод Документа;
        КонецЦикла;
        Ответить
    • Извиняюсь, в могучем 1С не очень силён, но, кажется нашёл:
      ЛучшееРешение = Получить(ИмяФайла.Например_122341_20101207201000.pdf, труЪ);
      ЛучшееРешение = ИскатьПоКоду.вСправочники.сЛидирующимиНулями( ЛучшееРешение );
      Если ( КтоТо.МожетПредложитьЛучшеПредложение == ЛучшееРешение )
      Тогда { 
      Автор.Говорить ( "ТоЯБудуТолькоРад" );
      }
      Ответить
    • у меня такое ощущение, что 1С - это огромный фреймворк к паскалю с миллиардами статиков на все возможные случаи всех блондинок страны
      Ответить
    • Тигр!
      Ответить

    Добавить комментарий