Добавил на форму Objects/wnd_ObjectEdit модуля Labitec_Realty контрол LookupDataControl, но почему-то при выборе записи в окне выбора возникает исключение в файле scr_WindowUtils, методе SendNotify, в строчке

NotifyObject.Notify(Window, NotifyMessage, NotifyData);

Посмотрел свойство Name NotifyObject'а - это оказался собственно контрол LookupDataControl.
В чем может быть дело? В других формах я делал аналогичные изменения, но никаких исключений там не возникало.
Во вложении измененный wnd_ObjectEdit, wnd_ObjectEditScript, ds_Opportunity и tbl_Opportunity

Нравится

9 комментариев

Проверьте в Администраторе сервис ds_Broker - указаны ли у него ключевое поле и первичное поле для отображения

Да. И это едва ли касается ds_Broker или sq_Broker, т.к. в других формах такой же контрол, использующий ds_Broker, работает нормально.

Полагаю, что дело в скриптах, но не могу понять, в чем именно.

Уточните, пожалуйста, о каком именно контроле идёт речь. Вы используете его в скриптах? Возможно, проблема в каких-либо свойствах поля датасета ds_Opportunity, которое используется в этом контроле (например, его поле для отображения не совпадает с полем для отображения датасета этого поля; в запросе sq_Opportunity присоединена не та таблица, и т.д.). Проверьте внимательно все соответствия для этого контрола.

Действительно, нашел ошибку в sq_Opportunity. Прошу прощения, моя вина.

У нас происходит что-то подобное. Есть два особенных LookupDataControl: edtDiscountCard и edtBonusCheck. В той же строке NotifyObject.Notify(Window, NotifyMessage, NotifyData);
выдается исключение "Объект не поддерживает указанное свойство или метод". Для других LookupDataControl - нормально. Такое происходит, если делается выбор, отличный от первоначального значения.

Здравствуйте, Владимир!

Уточните, пожалуйста, версию Вашего продукта.

3.2.1.62.

Владимир, если со всеми контролами работает нормально, а с этими — нет, то дело, скорее всего, в свойствах этих полей. Сравните в сервисах tbl, sq, ds и wnd этого раздела эти два особенных поля с остальными, которые работают нормально. Возможно, какое-то их свойство не заполнено или заполнено не так. Подробнее см. в комментарии от Олега.

Показать все комментарии

Добрый день.

В модуле Labitec_Realty изменяю таблицу tbl_AccountQuery и пытаюсь ее сохранить, но возникает ошибка "There is already an object named 'tbl_AccountQuery' in the database."
Проверил БД, такой таблицы нет, но есть представление tbl_AccountQuery.
Что делать, чтобы сохранить изменения?

Нравится

4 комментария

Представление tbl_AccountQuery представляет собой выборку данных из tbl_Opportunity.
Вам надо:
- открыть в Администраторе сервис tbl_Opportunity и добавить требуемое поле, сохранив таблицу в базе;
- пересоздать представление tbl_AccountQuery как select * from tbl_Opportunity;
- открыть в Администраторе сервис tbl_AccountQuery и добавить требуемое поле, НЕ СОХРАНЯЯ таблицу в базе.

Сделал как вы сказали, но этого поля нет. При добавлении этой таблицы в запрос, у нее прежние поля, но при просмотре через MS SMS представление обновлено.

По последнему пункту я имел ввиду так:
- открываете сервис tbl_AccountQuery;
- добавляете поле;
- нажимаете кнопку "Сохранить";
- на вопрос "Обновить таблицу в базе?" отвечаете "Нет".

Благодарю.

Показать все комментарии