Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SQL таблицы и запись в них данных из 1с
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
liksoft
повторюсь вопросом заданным на уаклабе, поскольку ответа никто не дал.

Все еще мучаюсь с Universale, у него таблицы с данными в SQL server, моя же задача выгрузить данные с 1с, все вроде прекрасно, но как быть со связанными полями, не совсем понятно. более конкретно, есть таблица Depts с индексированным полем NDep в котором содержится номер отдела, записываю туда без проблем, и есть таблица DeptsItem и двумя индексированными полями NDep и Code и кучей прочих полей, которая содержит данные о товарах в отделах, т.е. значение NDep должно быть равно номеру отдела.
Пытаюсь в нее записать данные

INSERT INTO DeptItems (NDep,Code,Name,Cen,Dep,Grp,Tax,Kol,FreeCen,FracKol,WatchKol,Quote,DiscType,Sale
d,Modified,Deleted,Verified,Online,Term,KeepDays,ServDays,PC omm) VALUES ('1',4840526001169,'"Домашнее Вино" ',30.9,'1','1','1','5','0','0','255','','','','','','','1','','','','')

но нарываюсь на

Violation of PRIMARY KEY constraint 'PK_DeptItems'. Cannot insert duplicate key in object 'DeptItems'.
The statement has been terminated.

я все понимаю, но выхода не вижу

описание, сам Universale здеся (http://rapidshare.com/files/322660806/universale-full.rar.html), 130 метров, если кто пожелает помочь
World1С
Могу предположить: попробуй не заполнять значение поля NDep.

Если перевод ошибки верный: Не может вставить двойной ключ в объект ''DeptItems''

ИМХО: Эти таблицы (Depts DeptsItem) связаны, наверное, по ключевому полю NDep. И поэтому таблицу Depts не заполняй.
Acid
видимо запись с уникальным ключом с номером "1" уже существует.
Ты поле NDep не указывай. И вообще посмотри в этой таблице уникальные поля какие и их не указывай вообще. это для начала...
Fynjy
Нужно select ом получить максимальное значение индексируемого поля, потом делать insert.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.