|
Запись или НаборЗаписей - как модифицировать без удаления? |
☑ |
0
fantomrik
10.12.15
✎
17:07
|
Коллеги, добрый день!
Работаю с ВнешнимИсточникомДанных (база MySQL) как с записью или с набором записей.
ТаблицаТоваров = ВнешниеИсточникиДанных.ВнешняяБД.Таблицы.product;
ТоварыБД = ТаблицаТоваров.СоздатьНаборЗаписей();
ИЛИ
ТаблицаТоваров = ВнешниеИсточникиДанных.ВнешняяБД.Таблицы.product;
ТоварБД = ТаблицаТоваров.СоздатьМенеджерЗаписи();
Проблема следующая, как выяснилось при модификации записи, запись сначала удаляется, и следом записывается модифицированная. А так как в MySQL таблицы связанные, мне админ не разрешает удалять уже связанные записи, только модифицировать.
Не могу придумать как быть.
ВнешнийИсточникДанныхТаблицаМенеджерЗаписи.<Имя внешнего источника>.<Имя таблицы внешнего источника данных> (ExternalDataSourceTableRecordManager.<Имя внешнего источника>.<Имя таблицы внешнего источника данных>)
Записать (Write)
Синтаксис:
Записать(<Замещать>)
Параметры:
<Замещать> (необязательный)
Тип: Булево.
Определяет режим замещения существующей записи по ключевым полям.
Значение по умолчанию: Истина.
Описание:
Записывает в базу данных внешнего источника данных запись таблицы с текущими значениями полей. Если запись была предварительно прочитана из базы данных, то при выполнении метода сначала прочитанная запись удаляется, а затем производится запись измененной записи. С помощью параметра Замещать регулируется, будет ли метод замещать запись, если в момент выполнения метода существует другая (исключая прочитанную) запись с такими же значениями ключевых полей.
Доступность:
Толстый клиент.
|
|
1
ДенисЧ
10.12.15
✎
17:10
|
Не пользоваться кривым инструментом - не предлагать?
|
|
2
fantomrik
10.12.15
✎
17:11
|
(1) а каким инструментом пользоваться? До меня просто начали работу с ВИД, я продолжил то что было.
|
|
3
ДенисЧ
10.12.15
✎
17:11
|
(2) Нормальным ))
АДО, например.
Там есть update
|
|
4
fantomrik
10.12.15
✎
17:14
|
(3) Что за АДО еще ?
|
|
5
Гёдза
10.12.15
✎
17:16
|
можно функцию написать. Во внешних источниках есть поддержка функций
|
|
6
ДенисЧ
10.12.15
✎
17:17
|
(4) ADODB
|
|
7
fantomrik
10.12.15
✎
17:24
|
(5) Не уловил мысль
|
|
8
Гёдза
10.12.15
✎
18:17
|
|
|
9
Лефмихалыч
10.12.15
✎
19:52
|
(0) то есть, проблема в том, что ты не можешь отличить изменение существующей записи от удаления, я правьно понял?
|
|
10
fantomrik
11.12.15
✎
11:08
|
(9) Ну почти. 1С при работе с записью и набором записи при модификации все равно сначала удаляет запись/набор а потом пишет модифицированный. SQL мне не дает удалить запись, так как к ней привязаны записи других таблиц.
|
|
11
fantomrik
11.12.15
✎
16:31
|
Спасибо всем! Будем изучать прямые запросы в SQL для решения задачи)
|
|
12
Лефмихалыч
11.12.15
✎
16:39
|
(10) удаление существующей легко отличить.
Перед записью набора делаешь запрос к регистру с отбором по значениям отбора. Если запрос что-то вернул, значит это удаление.
|
|
13
ptiz
11.12.15
✎
17:09
|
Не доверял бы я 1С запись во внешние источники.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший