По какому принципу в датасете при нажатии на галочку "генерировать запрос на вставку" появляются поля? Мне нужно обновлять поле в таблице, оно есть и в tbl и в sq и в ds а в insert/update/delete квери не попадает. См. рис.
Нравится
Здравствуйте Анна,
А можете прикрепить сервисы tbl, sq ,ds и сказать какое именно поле не попадает в запрос обновления update?
Добрый день!
Анна, проверьте сервис таблицы. Убедитесь, что проблемное поле типа "Уникальный идентификатор", и что для него созданы Relations.
Анна, протестировать Ваши сервисы возможности нет, поскольку в них есть ссылки на таблицы, которых нет в базовых версиях.
Советую проверить еще SelectQuery, если проблем не обнаружите, свяжитесь с support'ом предоставив бэкап базы.
Такая же ситуация есть в версии 3 3 2 173 xrm distrib, см вложение, в insert query нет OfferingMovementTypeID. В sql, просматривая таблицу tbl_OfferingInMovement, видно, что OfferingMovementTypeID пустые во всех строках.
"Анна Проненко" написал:По какому принципу в датасете при нажатии на галочку "генерировать запрос на вставку" появляются поля? Мне нужно обновлять поле в таблице, оно есть и в tbl и в sq и в ds а в insert/update/delete квери не попадает. См. рис.
Если вопрос теоретический - про принцип генерации этих запросов из сервиса ds_***, то тут помогут только гуру техподдержки:smile: Кстати, в delete query оно попадать в блок where и не будет по умолчанию, туда первичный ключ видимо берется только.
Если практический - а если написать в скрипте добавление записи в эту таблицу (tbl_OfferingInMovement ?) вручную через Dataset.Append() и так далее, в том числе указав Dataset('OfferMovemntTypeID') = 'нужное значение ID', то все добавится корректно и ошибок нет? Тогда посмотрите через Profiler какой реальный запрос исполняется в момент добавления, а сгенерированные из ds_*** просмотром чудо-запросы позабудьте:smile:
"Александр Кудряшов" написал:Если практический - ...
Самим дописать можно, но зачем, если есть возможность что-то подправить, чтобы в "автоматом сгенерированнный" попадало нужное поле.
В профайлере как раз тот запрос к базе, который виден в "просмотре" в админке.
"Анна Проненко" написал:Самим дописать можно, но зачем, если есть возможность что-то подправить, чтобы в "автоматом сгенерированнный" попадало нужное поле.
В профайлере как раз тот запрос к базе, который виден в "просмотре" в админке.
а поле с типом заполнено в датасете было? я к тому что если оно пустое генерируемый запрос автоматом обрубается до набора значимых полей (это не знание, скорее размышления, самому интересно)
"Александр Кудряшов" написал:
...а поле с типом заполнено в датасете было? я к тому что если оно пустое генерируемый запрос автоматом обрубается до набора значимых полей (это не знание, скорее размышления, самому интересно)
Да, до и после post() в нужном поле нужное ID есть :)
Посмотрел таблицу tbl_OfferingInMovement в 3.3.2, запрос тоже... похоже это поле OfferMovemntTypeID в таблице осталось как рудимент от каких-то старых версий, по крайней мере в моих вариантах баз на 3.3.2 и 3.4 в запросе данные в одноименное поле тянут из приJOINненной таблицы, а само таинственное поле вообще не используют :smile:
Обратитесь с Вашей базой в support, вопрос будет решен :smile: