#0
by rino
Здравствуйте. Подскажите пожалуйста, как делать поиск с помощью метода Seek, знаю что нужно установить индекс а после вызваь функцию. Но, где не лазию не могу найти аргументы этой функции, что нужно подставлять туда??? Работаю с MSSQL, нужен быстрый поиск в таблице, при этом он будет повторятся многократно в цикле. Заранее спасибо.
#3
by rino
БДТблДок.Seek(Сред(ВРег(Док.Вид),1,50),1); {C:ПРОГРАММЫ ВЫГРУЗКИКОПИЯ ВЫГРУЗКА 1С 7.7 SQL.ERT}: ADODB.Recordset: Текущий проводник не поддерживает необходимый интерфейс для функции Index вот такую ошибку пишет, что может быть? индекс устанавливал перед открытием таблицы.
#6
by rino
в 1с версии 7.7 не существует (как мне кажется) единого справочника видов документов. Поэтому я его получаю с помощью объекта Документ. А он возвращает все виды документов вперемешку с дублями за период, который я указываю. Вообщем, чтобы виды были уникальны, то прежде чем занести очередной вид в таблицу, я проверяю, есть ли он там или нет. Для этого делаю поиск по таблице. Разумеется все это происходит в цикле, в котором обрабатывается минимум 1500 записей. И как показал SQL, если делать SELECT получается долго. Мб есть другние варианты или я не прав в чем то?
#7
by Sadovnikov
Ну-ка еще раз всю задачу опиши? А то что-то не совсем ясно, что ты делаешь. И что такое, например, "единого справочника видов документов" ?
#9
by rino
Вообщем так. Напишу более подробно, потому как подобным способом решается задача во многих местах программы. Уйдем от документов. Есть таблица, в которую мне нужно заносить данные так, чтобы они там были уникальны по какому либо полю. Например мне нужно сформировать таблицу видов документов (выписка, счета фактура, накладная расход....). На входе я получаю результат выборки из глобальному объекта "Документ". В нем, я получаю все виды документов, которые есть в проводках и операциях за заданный мною период. Очевидно там есть дубликаты ( т.е. может быть так : выписка, счет, выписка, выписка, платежное поручение, выписка, платежное поручение....). А записать в таблицу мне нужно - выписка, счет, платежное поручение... Вот, для этого, прежде чем заносить в таблицу значение, я проверяю, есть ли оно там или нет. Вот, так понятно??? подобным способом я делаю проверку и для других таблиц. Но, это было когда я использовал XBase использую Ключ (НайтиПоКлючу), а сейчас нужно сделать ту же прогу, тока чтобы она работала с MSSQL. А в ADODB есть аналогичный только Seek.
#11
by rino
Блин, я это описал лишь в примере к документу. Просто подобный механизм поиска в таблице есть и в других частях программы. Меня собственно интересует, как можно сделать это поиск быстрым? Т.е. общий случай, когда я в цикле постоянно получаю одну запись, смотрю есть ли такая же уже в таблице, если нет, то добавляю, и беру следующую запись. Меня интересует, как быстро сделать поиск записи в таблице??? Пробовал SELECTом, в Open("SELECT..."); но очень долго работает ;( Подскажите плиз....
#13
by rino
блин, и всеже, как сделать быстрый поиск в таблице??? Find не поддерживает индексов, нужен Seek
#14
by Sadovnikov
Помедитируй над этим: CREATE UNIQUE INDEX [IX_ЗадействованныеТовары] ON [dbo].[ЗадействованныеТовары]([идТовар]) With IGNORE_DUP_KEY ON [PRIMARY]
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- По умолчанию при нажатии Ctrl-F поиск настроен на поиск по текущей колонке
- В Проводнике не работает Поиск!?! при нажатии на Поиск процесс зависает, справа как
- Что быстрее? Поиск в таблице значений, соответствии или прямой поиск в базе?
- 1c adodb recordset на сервере 64
- Поиск в УФ как програмно отключить поиск?
- Ошибка ADODB.Recordset при выполнении SQL запроса
- 1С 8.3. Что быстрее - поиск по коду в справочнике или поиск в ТЗ
- 1С:Предприятие 8.1 УТ 10.3 Как Поиск по штрихкоду поменять на поиск по коду?
- (ADODB.Recordset): Текущий объект Recordset не поддерживает закладки
- Ошибка при вызове метода контекста (Update): Произошла исключительная ситуация (ADODB.Fiel
В этой группе 1С
- Вызвать конструктор при работе через COM
- Отбор счетов по субконто
- формирование счет-фактуры на аванс
- Проблемы с удалением элементов справочников в УРБД
- Как сделать не доступным колонку в одной строке документа
- Код справочника стал не уникальным!
- Безопасность: Kerio WinRoute Firewall его бесплатный аналог
- сравнение ТИС и УТ
- Выкидывает и БД при записи элемента
- Кто обяснить эту чудо-обработку?
- Как получить путь временного каталога 1С
- Как удобнее всего получить список подчиненных документов?
- Горячие клавиши 1с 8 в конфигураторе?
- 1С7 падпает при ФС.ВыбратьФайл()
- v8: Перенос данных Комплексная 7.7 - УПП
- как создать 2 ярлыка запуска 1с. в которых будут прописаны разные базы?
- Демо по Консолидации
- Внутреннее совместительство в УПП
- Настойки прав доступа в УТ
- Regedit и 1С