Иногда при распечатке с/ф бывают позиции товара, где в строке ГТД написано что-то типа
<Объект не найден>(83/)
Начинаю разбираться откуда что. Выясняется что да действительно у некоторых партий
данного товара в строке ГТД вылезает это сообщение <Объект не найден>(83/) (цифры в конце
могут быть разными).
Смотрю соотв. документы "ПоступлениеТМЦ" - там тоже самое <Объект не найден>(83/) на
этой позиции. Хотя менеджер клянется что гтд всегда вбивает по приходу.
Вопрос
- из за чего такое может происходить?
- как от этого избавиться раз и навсегда?
p/s делал стандартное восстановление последовательности документов. не помогает
Сообщение "Объект не найден" означает что в качестве реквизита документа/справочника/регистра фигурирует некий элемент ссылка на который не найдена в таблице справочника/документа где этот элемент должен быть.
Наиболее частые причины этого:
1. Возникнуть такое может в РБД если при миграции не соблюдалась целостность данных.
2. Если элемент был удален из своей таблицы справочника/документа но ссылки на него остались в других таблицах базы(так можно сделать программно)
3. Другие причины повлиявшие на целостность данных
"Таблица - SC568. Не сходится количество полей
Проверка физической целостности таблиц ИБ. Неисправимая ошибка."
Что с этим можно сделать?
Все таблицы начинающиеся на sc это таблицы справочников. В них хранятся элементы справочника в виде ид, ПризнакГруппы,Признак пометкиУдаления,Код, НепериодичРеквизит1,...НепериодичРеквизитN.
Давай разберемся какого поля не хватает. для этого сохраним конфигу(не базу а только md). На пустой тестовой базе загрузим конфигу, обновляем конфигурацию бд и смотрим чем по полям отличается таблица sc568 в полученной базе и в исходной. Дальше думать надо исходя из того какого поля не хватает.
Кстати - база sql или dbf?
"Таблица - SC568. Не сходится количество полей
Проверка физической целостности таблиц ИБ. Неисправимая ошибка."
Что с этим можно сделать?
Все таблицы начинающиеся на sc это таблицы справочников. В них хранятся элементы справочника в виде ид, ПризнакГруппы,Признак пометкиУдаления,Код, НепериодичРеквизит1,...НепериодичРеквизитN.
Давай разберемся какого поля не хватает. для этого сохраним конфигу(не базу а только md). На пустой тестовой базе загрузим конфигу, обновляем конфигурацию бд и смотрим чем по полям отличается таблица sc568 в полученной базе и в исходной. Дальше думать надо исходя из того какого поля не хватает.
Кстати - база sql или dbf?
В общем отличия следующие.
SC568.DBF (моя база):
ID
CODE (пустая колонка)
DESCR
ISMARK (пустая колонка)
VERSTAMP
SP8719 (пустая колонка)
SP569 (пустая колонка)
SC568.DBF (типовая):
ID
DESCR
ISMARK (пустая колонка)
VERSTAMP
ISMARK насколько я понял это пометка на удаление
т.е отсюда видно какие колонки лишние.
В общем я его тупо привел в соответствие (удалил лишние колонки) в екселе. После этого запустил тестирование ИБ. В процессе тестирования выдаются следующие сообщения:
Проверка таблиц справочников. Справочник ГТД(SC568). . Запись 1. Поле ID. 0
...
...
...
Проверка таблиц справочников. Справочник ГТД(SC568). . Запись 419. Поле ID. 0
Т.е. на этапе проверки физ.целостности выдает, что у всех ГТД-шек в таблице поле ID = 0, хотя это не так. Там идет нормальная последовательная нумерация.
Но после такой проверки там уже действительно у всех гтд поле ID = 0. В режиме предприятия соотв. у всех товаров в поле гтд теперь пишет "Объект не найден" (ссылки то затерла по ID)
Добавление от 24.01.2007 16:16:
В общем я пришел к выводу, что ситуацию с потеряными гтд решить невозможно.(благо таких позиций номенклатуры не много и их можно вручную поправить). На данный момент стоит задача - привести в соответствие кол-во колонок в этой дбф. Посоветуйте плиз какой редактор дбф лучше подходит для этих целей (удаление колонок). После экселя получилось еще хуже (см. выше)
dbf viewer http://www.whitetown.com/download/cdbfwgui.zip
А еще для удаления колонок можно написать соответствующую обработку на языке 1С. Она при работу с dbf уж точно совмесима по формату