ДБФ.НайтиПоКлючу(0) почему не работает? #476753


#0 by 4esz
Добрый день. Народ подскажите пожалуйста че делаю не так? Запись в ДБФ добавляется нормально, но при попытке ее получить вываливается следующая ошибка: {D:EXTERTS_ЮРИСТ_КОММЕНТАРИИ.ERT}: Перед выполнением операции установите объект на запись!
#1 by miki
В коде у клиента все 8 символов не пустые?
#2 by 4esz
да код 8ми символьный вида SMR50221
#3 by SnarkHunter
Проверять надо результат поиска, да?
#4 by miki
.cdx создается? Я не помню, создается ли он автоматом или надо обязательно СоздатьИндексныйФайл
#5 by SanchoPancho
Разумеется надо создать индекс к dbf-ке прежде чем по нему искать
#6 by 4esz
нужно получить из дбфника записаный туда комментарий для клиента cdx создается
#7 by miki
Ну тогда станцуй с бубном: 1. Сделай явно  СоздатьИндексныйФайл 2. Вместо НайтиПоКлючу попробуй просто Найти (все равно у тебя по одному полю индекс) А - это чтобы ошибку типо в не выкидывал... Потрут твоего выбКлиента и начнет обработка матюгацо
#8 by SnarkHunter
Прежде чем пытаться что-то получить, следует проверить, а нашлось ли то, что мы ищем... P.S. Специально для сидящих в БТР: после выполнения надо проверить значение переменной ЗаписьНайдена и если оно равно 1, то только тогда пытаться читать...
#9 by 4esz
вопрос не в том как проверить, это и так понятно вопрос в другом я добавляю одну запись в ДБФ Процедура ЗаписатьКомент далее открываю ДБФвьювером эту ДБФку на просмотр запись там есть, cdx файл создается далее Процедура ПолучитьКоммент эту запись в ДБФке не находит вопрос почему не находит???
#10 by SnarkHunter
Еще раз, специально для слабоумных: если поиск по ключу возвращает 0, т.е. запись с заданным ключом не найдена, пытаться читать что-то из файла - глупо, поскольку указатель не спозиционирован на какой-то конкретной записи, он указывает в никуда... Сообщение об ошибке об этом ясно говорит: "Перед выполнением операции установите объект на запись" - перед тем, как прочитать, установите указатель на конкретную запись...
#11 by Ёпрст
И на сколько я помню, индексный файл сам не создается..
#12 by 4esz
ну тогда еще раз для очень сильно умных: вопрос почему он не находит запись и как сделать что бы он ее находил? индексный файл создался сам.
#13 by miki
файл есть - индексов нет.(?) Очень тяжко прописать ещё один метод в свой код? И копать дальше, по результатам...
#14 by Ёпрст
Ну и ? При таком коде , в лучшем случае будет индекс NAMEKONTR С чего взял, что в индексном файле есть индекс IDXCODE ?
#15 by SnarkHunter
Не надо никаких дополнительных методов, индекс создается нормально... Проблема в другом... При открытии файл открывается БЕЗ ИНДЕКСА, запись в него выполняется тоже БЕЗ ИНДЕКСА, а читать товарищ пытается, открыв файл таблицы и файл индекса, который пуст, поскольку в него ничего не было записано...
#16 by SnarkHunter
Он там есть, только девственно пустой...
#17 by Ёпрст
точно..
#18 by 4esz
разьве тут не указан путь к индексному файлу?
#19 by SnarkHunter
Указан, да... Только он указан слишком поздно, когда запись без индекса уже случилась...
#20 by DrZombi
При индексации, 1С захватывает этот файл и более никто открыть не могет :) Писать так же в "это ..." не стоит, т.е. это делает только один юрвер. И он не отпустит сеи файлы, пока не наработается или не на пишется ;) Короче много пользовательский интерфейс организовать не получится ;)
#21 by SnarkHunter
Не в тему...
#22 by miki
Сколько раз ты ещё придумаешь вопросы, вместо того, чтобы попробывать? +ещё Переиндексировать есть...
#23 by 4esz
Спасибо за науку разобрался но вот вопрос нельзя было просто указать что в процедуре ПриОткрытии напиши вместо    ДБФ.ОткрытьФайл(Строка(ПутьДоступа)); ->    ДБФ.ОткрытьФайл(Строка(ПутьДоступа),Строка(ПутьДоступаИнд));                               ???
#24 by SnarkHunter
Нет, нельзя... Теперь ты этот момент хорошенько запомнишь, потому что мозг морщил, а если бы положили в рот разжеванный гранит, то это не было бы столь полезно... P.S. Метода у меня такая...
#25 by 4esz
Согласен :-) еще раз спасибо!!!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С