1 C Предприятие 7.7. Поиск документа

Новая тема
Как найти в базе документ по его представлению.
Выгрузил в DBF и Excel документы док.ТекущийДокумент()
Строка выписки банка (расход) ВПрГ-00316 (07.06.10)
Должен же быть какой нибудь поиск
"есть поиск по номеру в диапазоне нумератора.
Надо было выгружать детализированно, то есть, вид отдельно, номер отдельно, дату отдельно
В вашем случае придется делать полный перебор для поиска, то есть:
НужнаяСтрока="Строка выписки банка (расход) ВПрГ-00316 (07.06.10)";
Доки=СоздатьОбъект("Документ");
Доки.ВыбратьДокументы();
Пока Доки.ПолучитьДокумент()=1 Цикл
    Если Строка(Доки.ТекущийДокумент())=НужнаяСтрока Тогда
         //нашли
         ....
    КонецЕсли;
КонецЦикла;

или попытаться распарсить строку для задействования более скоростных механизмов поиска, а еще лучше заново выгрузить по нормальному и не мучаться"
"Процедура СформироватьВиды()
СписокВидовДокументов = СоздатьОбъект("СписокЗначений");
Для Счетчик = 1 по Метаданные.Документ() Цикл
СписокВидовДокументов.ДобавитьЗначение(Метаданные.Документ(Счетчик).Идентификатор, Метаданные.Документ(Счетчик).Представление());
КонецЦикла;
СписокВидовДокументов.СортироватьПоПредставлению();
  Номер = 1;
строка1="""";    строка1="""";ВидСубк="""";   НомерДок_Дата=""""; НомерДок="""";
Пока Номер <= СписокВидовДокументов.РазмерСписка() Цикл
ВидСубк = СписокВидовДокументов.ПолучитьЗначение(Номер,строка1);
если найти(Док,строка1)>0 Тогда
НомерДок_Дата=СокрЛП(сред(Док, Стрдлина(строка1)+1));
НомерДок=СокрЛП(сред(НомерДок_Дата,1,найти(НомерДок_Дата,"(")-1));
сообщить("есть !!!!!! "+ВидСубк+ "       НомерДок_Дата="+ НомерДок_Дата+"           НомерДок ="+НомерДок );
прервать;
конецесли;
Номер= Номер+1;
конеццикла;
КонецПроцедуры"
неправильно будет работать если представление видов документов будут, например, такими:
Счет
Счет-фактура

потому что при выполнении:
Если найти(Док,строка1)>0 Тогда

слово "Счет" найдется и в строка1="Счет" и в строка1="Счет-фактура"
Читают тему
(гостей: 1)

Быстрый переход