|
Запись во внешние источники данных
| ☑ |
0
Arutynov
29.08.16
✎
13:51
|
Имеется таблица на SQL и подключена она к 1с как внешний источник. Необходимо из внешней обработки записать в таблицу данные. Попробовал так:
&НаСервере
Процедура Команда1НаСервере()
Данные=ВнешниеИсточникиДанных.ТаблицаSQL.Таблицы.dbo_eanuidnom.СоздатьОбъект();
Данные.code_ut=422;
Данные.ean=Данные.code_ut.ean;
Данные.guid=22234;
Данные.Записать();
КонецПроцедуры
&НаКлиенте
Процедура Команда1(Команда)
Команда1НаСервере();
КонецПроцедуры
Выдает ошибку!
по причине:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: 23000
Номер ошибки: 547
Описание: [Microsoft][ODBC SQL Server Driver][SQL Server]Конфликт инструкции INSERT с ограничением FOREIGN KEY "FK_eanuidnom_nomenklatura". Конфликт произошел в базе данных "SCAN_SKLAD", таблица "dbo.nomenklatura", column 'Code'.
Ошибка ODBC. SQLSTATE: 01000
Номер ошибки: 3621
Описание: [Microsoft][ODBC SQL Server Driver][SQL Server]Выполнение данной инструкции было прервано.
Что делаю не так?
|
|
1
igork1966
29.08.16
✎
13:53
|
(0) "Что делаю не так?"
поле 'Code' не заполняешь?
|
|
2
Arutynov
29.08.16
✎
13:58
|
В таблице вроде нету такого поля!
|
|
3
sapphire
29.08.16
✎
13:58
|
(0)
Ошибка связана с тем, что у вас вводится значиние которое отсуствует в связанной таблице (на которое указывает внешний ключ). Т.е. одному из полей сушности назначается неверное значение. Вам надо или задать его правильно или снять ограничение внешнего ключа с таблицы.
|
|
4
Garykom
гуру
29.08.16
✎
14:03
|
таблица "dbo.nomenklatura", column 'Code'.
|
|
5
Garykom
гуру
29.08.16
✎
14:06
|
(4) Скорее всего "dbo.eanuidnom.code_ut" должно быть равно "dbo.nomenklatura.Code",
т.н. нельзя записывать ШК пока связанная запись в номенклатуре с таким же кодом не существует.
|
|
6
Arutynov
29.08.16
✎
14:12
|
Большое спасибо все заработало!
|
|