12.04.2018, 15:18 | #1 |
Участник
|
Размер буфера записи превышен. Как так может быть?
На форму поставщика попросили добавить три поля - ссылки на Работника компании (как в стандарте уже сделана ссылка на контактное лицо)
Добавила. В таблице все ок, на форме же при открытии выпадает сразу " The total, internal size of the records in your joined SELECT statement is 71176 bytes, but Microsoft Dynamics is by default performance-tuned not to exceed 49152 bytes." Проблема в том, что reference group добавляет джойн к HcmWorker и еще до кучи DirParty. А таких группы нужно целых три.... Что делать - приблизительно понятно: либо увеличивать размер допустимый буфера или же убирать поля из VendTable и создавать новую таблицу с новыми полями... Вопросы: 1) Если я помещу поля в отдельную новую таблицу, то все равно, чтобы их показывать форме поставщика, надо будет этй таблицу джойнить с VendTable на форме и то размер буфера останется приблизительно таким же. То есть, та же ошибка будет 2) Я не понимаю вот что. Я вижу, что размер буфера при удалении каждого из новых полей уменьшается на 7198 байтов. То есть, удалила поле и получила сообщение "SELECT statement is 63978 bytes ...." , удалила второе - уже " is 56780 bytes" , потом " 49582 bytes" (то же самое происходит, если удаляю стандартую сслку на контакное лицо. То есть, проблема не в том, что я что-то криво делаю). Смотрю формируемый запрос и вижу. что да, две таблицы HcmWorker и DirParty присоединяются, но из них берутся только следующие поля: T12.PERSON, T12.RECVERSION, T12.RECID, T16.NAME, T16.RECID, T16.RECVERSION, T16.INSTANCERELATIONTYPE, T16.RECVERSION, T16.RECID Тут все поля int64, кроме имени, что в базе хранится как nvarchar(100) и поэтому максимум может быть 200 байтов. Это все хозяйтво заведомо меньше даже 300 . Вопрос - откуда берется разница в 7198 байтов (что видно из вышеприведенных собщений от ошибках) при добавлении каждого поля ?????? Последний раз редактировалось kitty; 12.04.2018 в 15:51. |
|
|
|