Рекламное место пустует
|
Вход | Регистрация |
1С:Предприятие :: Метки: |
| |||
Nikz 09.03.04 - 17:16 | У меня возникла какая то бяка. Если кто сталкивался пожалуйста помогите советом.
Создан справочник, у него 15 реквизитов. В форме списка нарисована кнопка "удалить", а к ней процедура Спр.НайтиЭлемент(ТекущийЭлемент);Спр.Удалить(); Все хорошо, процедура работает идеально, когда удаляем один элемент из справочника. Но когда таким образом нужно удалить порядка 10 элементов одновременно, 1С вылетает с сообщением "Программа выполнила недопустимую операцию и будет закрыта". Начинается самое интересное. При попытке вновь запустить базу, что вполне логично, возникает предложение ее переиндексировать. Отвечаем Да. 1С начинает переиндексацию таблиц, но как только доходит до переиндексации этого справочника опять вылетает "Программа выполнила недопустимую операцию и будет закрыта". Бяка наблюдалась на всех доступных мне операционках - 98,Me,2000,XP. К слову удаление нескольких элементов справочника реализовано следующим образом: Спр.ВыбратьЭлементыПоРеквизиту("Пометка",1,1,0); Пока Спр.ПолучитьЭлемент()=1 Цикл Спр.Удалить(); КонецЦикла;Вот. Проблема в том, что если в выборку попадает более 10 элементов то возникает вышеописаная бяка. Если кто нибудь знает, как можно это вылечить PLEASE HELP, а то я потихоньку в депресняк входить начинаю. Рекламное место пустует | ||
shura 1 - 09.03.04 - 17:21 | Попробуй Спр.Удалить(0) а потом непосредственное удаление средствами 1С. Может где ссылки есть на эти элементы? | ||
shura 2 - 09.03.04 - 17:23 | Еще попробуй сделать в конфигураторе "Выгрузить данные", потом на чистом каталоге "Загрузить данные". Может дбф покалечился когда? | ||
SnarkHunter 3 - 09.03.04 - 17:24 | (0)Как насчет ссылочной целостности? Известно сие словосочетание? | ||
Nikz 4 - 09.03.04 - 17:32 | Спасибо за совет, но такое решение "Удалить(0)" не подходит. Дело в том что необходимо оперативно добавлять и удалять достаточно большое количество элементов, и пометка на удаление не прокатывает, хотя идея такая уже приходила.
Выгрузка и загрузка то же не помогает. Там я вообще долго смеялся что происходит. Создаю чистую базу, и объединяю ее с проблемной. Соответственно чистая база совершенно пустая. Потом в конфигураторе "Администрирование/Тестирование и исправление БД/Реиндексация" доходит до проблемного справочника и вылетает с теми же симптомами. А я в это время тихо вешаюсь. | ||
romix 5 - 09.03.04 - 17:32 | В Администраторе 1С надо запустить Тестирование и Исправление ИБ.
После удаления каждого элемента имхо надо опять начинать выборку: ок=1; Пока ок=1 цикл Спр.ВыбратьЭлементыПоРеквизиту("Пометка",1,1,0); Если Спр.ПолучитьЭлемент()=1 Тогда Спр.Удалить(); ок=1; Иначе ок=0; КонецЕсли; КонецЦикла; | ||
SnarkHunter 6 - 09.03.04 - 17:35 | (4)И все-таки... Элементы этого справочника используются в других объектах? | ||
Nikz 7 - 09.03.04 - 17:36 | Точно нет. | ||
SnarkHunter 8 - 09.03.04 - 17:39 | (5)Можно и без ок...
Пока Спр.ВыбратьЭлементыПоРеквизиту("Пометка",1,1,0)=1 цикл Спр.ПолучитьЭлемент(); Спр.Удалить(); КонецЦикла; | ||
Nikz 9 - 09.03.04 - 17:42 | Сейчас попробую... | ||
skunk 10 - 09.03.04 - 17:42 | Спр.ПолучитьЭлемент(); - ??? | ||
SnarkHunter 11 - 09.03.04 - 17:47 | ЖКК | ||
romix 12 - 09.03.04 - 17:48 | (8) Да, так лучше. | ||
skunk 13 - 09.03.04 - 17:50 | (11)сорри... все понял... сразу не вкурил... | ||
Nikz 14 - 09.03.04 - 17:59 | Он мне сейчас новый прикол выдал я скопировал MD в чистый каталог. Вошел через конфигуратор. Оттуда запустил 1С:Предприятие. Только начала конфа подниматься как вылетает окно "невосстановимая ошибка базы данных Код: -10Ошибка открытия словаря базы данных" Может это из-за того что проблемный справочник является подчиненным 3 уровня (т.е. у него есть владелец у которого тоже есть владелец). | ||
skunk 15 - 09.03.04 - 18:01 | есть два решения одно скопируй от куда коил md файл dd | ||
Nikz 16 - 09.03.04 - 18:04 | Спасибо, скопировал DD база вроде поднялась. Надо будет пропробовать то что писал SnarkHunter. | ||
SnarkHunter 17 - 09.03.04 - 18:05 | (14)Сначала "загрузи как изменный" свой мд-шник... Тогда словарь создастся... | ||
Nikz 18 - 09.03.04 - 18:06 | Блин, при переиндексации опять вылетает... | ||
skunk 19 - 09.03.04 - 18:19 | 18 способ два сказал (17)
способ три в конфигураторе в любом модуле поставь пробел а потом удали... запусти 1с прям из конфигуратора | ||
Nikz 20 - 09.03.04 - 18:48 | Вобщем проблема следующая:
Имеем справочник 3 уровня подчиненности. При переиндексации 1С вылетает. Вылетает так, что впоследствии поднять конфу можно только копированием MD и DD в чистый каталог. Но при этом остается проблема того, что конфа имела внутри себя информацию (порядка 200 метров). Может есть у кого какие идеи как эту гадость исправить, потому что (как показали последние испытания)дело даже не в убитых ДБФ, так как реиндексация не проходит даже в чистой базе. PLEASE HELP !!!!!!!!!!! | ||
327 21 - 09.03.04 - 19:32 | Собери все удаляемые элементы в ТЗ, затем удаляй... Так будет корректнее
Если база дбф-ная, у тя битая ДВФ,
1С в таком режиме колет винду, у ней прокалывается кэш.. Это особенность CodeBase
Код ошибки в студию... | ||
Леонид 22 - 10.03.04 - 09:40 | Есть такая дос-утилита dbview Несмотря на название это редактор ДБФ файлов. Запускаешь с параметром"имя файла", она ругается "поврежден заголовок, восстановить?" Гришь "да" и выходишь. Попробуй, вдруг поможет. Я этой прогой пользуюсь еще с 6-ой 1эски. | ||
Леонид 23 - 10.03.04 - 09:41 | (22) Ну и ЦДХ файлы е-сно грохнуть сначала, ручками. | ||
Nikz 24 - 10.03.04 - 13:17 | А что может убить ДБФ если база чистая, запускается из каталога в котором только MD и DD. | ||
skunk 25 - 10.03.04 - 13:23 | тебе их надо сперва создать... см 17 или 19 | ||
Nikz 26 - 10.03.04 - 13:35 | Копирую MD и DD в чистый каталог. Захожу через конфигуратор и ставлю пробел в глобальном модуле. Сохраняю изменения. ДБФ создались. Запускаю конфу - поднимается. Начинаю переиндексацию из конфигуратора - доходит до проблемного справочника и вылетает. | ||
romix 27 - 10.03.04 - 18:55 | (26) Тестирование и исправление запускал? | ||
skunk 28 - 10.03.04 - 19:03 | (27)Сохраняю изменения. ДБФ создались. - о чем нить говорит | ||
romix 29 - 10.03.04 - 19:19 | (28) Да кто их знает, насколько он ЧИСТЫЙ. Скорее всего что ему надо запустить Конфигуратор - Администрирование - Тестирование и исправление, и после этого уже говорить, помогает это или нет, и тогда уже DBF сносить. | ||
romix 30 - 10.03.04 - 19:21 | +29 ес-но все это делать в копии базы, а не в рабочей базе 1С. | ||
skunk 31 - 10.03.04 - 19:26 | внимательно (26) читай... | ||
romix 32 - 10.03.04 - 19:42 | (31) Мы понимаем так, а юзеры под "чистым" каталогом могут понять совсем другое. | ||
skunk 33 - 10.03.04 - 19:48 | Рекламное место пустует | ||
GrayT 34 - 10.03.04 - 21:58 | for Nikz Дай МД-шник поэксперементироватьgrayt<DOG>front.ru Что за справочник? Может в нем реквизит какой как-нить "криво" обозван? |
Список тем форума
|
Правила
| Описание
| Реклама на сайте
| Поиск
| |