Обработка в 1С после редактирования dbf-файла справочника в MS Access не понимает связей.

1C DBF

Есть обработка, которая по совпадению заданных параметров (контрагент, контракт, модель автомобиля, деталь) вставляет в заказ-наряд цену из справочника спецификаций. Справочник состоит из ~5 000 элементов, что вручную было бы забить очень долго и сложно. Вбил примерно 600 записей, остальные одинаковы, с небольшими изменениями (номера контрактов, модели). Открыл dbf-файл в MS Access, откопировал имеющиеся записи, изменил в них номера контрактов, внутренние ID-номера, сохранил. При попытке вбить в заказ-наряд деталь, совпадающую параметрами со справочником — ничего не происходит. Что могло нарушиться в справочнике спецификаций?

Примечание:
Сохранял в стандартном Microsoft Office Access.
Переиндексация не помогла.

Примечание:
oldTV:
1. Кодировку не менял.
2. Я открыл DBF-файлик в Access, он создал дополнительный mdb. Открывал только через DBF.
3. Суть справочника: есть 4 параметра: A - модель автомобиля, B - контрагент, которому принадлежит автомобиль, C - контракт с контрагентом, D - деталь, и собственно цена. Создается заказ-наряд с параметрами A B и C, совпадающими со справочником, вбивается деталь D, ставится цена из справочника.
4. Все связи базы с таблицей? Какие именно связи?

Примечание:
Заказ-наряд — документ автосервиса на машину, в который вбиваются данные об автомобиле, владельце, работах, которые надо выполнить, деталях, связанных с этими работами. Есть параметр "Контракт" — для госконтрактов (например, автомобили ГУВД). В справочнике спецификаций имеются следующие поля:
"Код" — числовой код, просто номер элемента в справочнике.
"Модель" — модель автомобиля, к которой привязывается деталь и цена.
"Заказчик" — контрагент, за автомобилями которого нужно следить в заказ-наряде.
"Контракт" — контракт, под который попадают детали автомобилей, у ГУВД, например, есть 5 контрактов, для каждого свои цены.
"Номенклатура" — деталь, к которой привязывается цена при совпадении в заказ-наряде полей "Модель", "Заказчик" и "Контракт" с записью в справочнике спецификации.
"Цена" — цена, которая берется из справочника спецификации и попадает в заказ-наряд при совпадении всех вышеперечисленных полей.

Возможно несколько сумбурно, будут уточнения.

Примечание:
oldTV: Я взял файл справочника из 1С в виде DBF. Отредактировал его в MS Access. Засунул обратно в папку 1С. База видит изменения, но реагирует на них, как-будто нет связи между справочником и остальной базой. Если в справочник вбить какою-либо новую запись — эта запись определяется как правильная, и на нее база реагирует правильно.

Примечание:
oldTV:
Только что добавил в этот справочник 1 строку. Изменились 6 файлов.
1SUSERS.DBF
SC5853.DBF
SC5853.CDX
1SUIDCTL.DBF
1SDNLOCK.DBF
1SDNLOCK.CDX

Вот этот самый SC5853 и есть тот самый справочник.
Могу скинуть DD-шник и MD-шник, если, конечно, они чем-то помогут. Только запустить саму базу не получится — нужен ключ :(
Ответы:
в каком из dbase форматов сохранял результат?
попробуй переиндексировать базу
а там никаких драйверов не надо, типа ODBC
1. dbf бывают разные. Разные версии и т.д. Но есть еще понятие кодировка. DOS или Windows.
2. Не совсем понятно что Вы сделали в Access? Вы импортировали базу или присоединили?
3. Что должно происходить когда Вы вбиваете заказ-наряд совпадающий параметрами со справочником?
4. Опишите все связи базы с этой таблицей.
а Вы каким образом открывали?
Непосредственно в MS Access (меню - файл - открыть) ?
По дополнению 2:
не понимаю сути п.3: Создается заказ. Где? Какая логика вашей базы?
Вот например у меня есть база по сотрудникам. Я вбиваю в текстовое поле начальные буквы фамилии сотрудника, осуществляется поиск и мне выдаются записи с совпадающими фамилиями: я вбил Ив - выводятся - Иванов, Иванова, Иваси, ИваЗнойная и т.д. Чтобы это работало: я связал текстовое поле и событие в нем, с некой обработкой, которая ищет в базе записи с фамилией начинающейся на эту букву. Какая у Вас логика в базе? Что должно происходить по Вашему мнению тогда, когда вбивается в заказа наряд деталь? Заказ-наряд - это не объект базы. Объект базы - таблица, запрос, отчет. Куда Вы вбиваете данные и что хотите получить в итоге?
Все равно не понятно как устроена Ваша база. Вы описываете документ "Заказ-наряд". Я прошу Вас описать именно базу. Давайте последовательно:
сколько в базе данных таблиц? Опишите их, написав название таблицы и перечислив все поля таблицы.
сколько в базе данных запросов? Опишите и их
сколько в базе данных форм?
понятно. У Вас проблема не с базой, а с 1С. Скорее всего в том, что при работе в 1С информация записывается не в один файл, а в 2 или 3. Именно поэтому связей и нет. Когда Вы вбиваете через 1Цэ - связи есть, программа записывает все правильно. когда подсовываете файл - они не видит связей между ним, и неким другим, или другими, который Вы не учли. Попробуйте сделать запись и посмотреть по дате изменения, куда 1С записала инфу. Так определите файлы. Потом посмотрите между ними зависимость. Возможно в первый файл пишутся записи и идентификатор, во второй идентификатор 1-го файла и что-то еще.
выложите куда нибудь 3 файла: 1SUSERS.DBF, SC5853.DBF, 1SUIDCTL.DBF
CDX - индексы
Попробуй сделать Тестирование и восстановление данных в конфигураторе (Администрирование - Тестирование и исправление ИБ) с восстановлением несуществующих объектов (Настройка: оба варинта = создавать объекты)


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.