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

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

Читают тему

(гостей: 1)

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