Окно редактирования для имеющегося справочника.

Добрый день

Господа, никак не могу разобраться с окнами редактирования.

Существуют сервисы в системе, на основании которых надо сделать интерфейс.
С GridArea всё хорошо, но при клике на запись, или нажатии на кнопку Изменить, выбрасывается исключение. Создавал из "Настроек справочников" через добавление существующего dataset, и с нуля создавал оба окна (наследуя от базовых разумеется)

Подскажите пожалуйста, о этапах создания таких окон. Видимо что то делаю я не правильно.

Буду очень благодарен за помощь, и разъяснение этого вопроса.

С уважением
Литвяков Егор

Нравится

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

Yegor, предлагаю ознакомиться с особенностью создания окон в этой статье .
А именно, изучите [Создание окна реестра раздела] и [Создание карточки редактирования].

Если создаете окно реестра и окно редактирования для справочника, необходимо:
1. В справочнике указать "Окно редактирования" и "Окно реестра".
2. В скрипте окна реестра на OnPrepare прописать заполнение атрибута 'EditWindowUSI':

function Initialize(Window) {
	SetAttribute(Window, 'EditWindowUSI', 'wnd_TaskPriorityEdit');
}
 
function wnd_BaseGridAreaOnPrepare(Window) {
	Initialize(Window);
        scr_BaseGridArea.wnd_BaseGridAreaOnPrepare(Window);
}

Где 'wnd_TaskPriorityEdit' - название окна редактирования

Благодарю, буду пробовать.

Наталия, действую в соответствии руководства, но при изменении имеющейся записи в БД (двойной клик или кнопка Изменить) выбрасывается исключение 80020102.
Возможно что то не корректно указано в настройках сервисов?
Какие настройки (обязательные) должны быть установлены у сопутствующих сервисов?

Yegor, выгрузите и вложите сервисы окон.
Так быстрее удастся разобраться в причине ошибки.

servises.7z
Возможно что то необходимое не было указано в tbl, sq и ds?
Я предположил что проблема может быть связана с отсутствием FK в таблице, но суть не в этом оказалась.

Yegor, протестировала сервисы. Так как Вы не вложили tbl, sq и ds, в сервисах окна связала dlData с ds_AccountAddress.
В результате, изменение записи из реестра окна wnd_ClientsDiscountCardsGridArea ошибок не вызвало и отрабатывает корректно.
Проверьте:
1. Заполнены ли свойства [Ключевое поле] и [Первичное поле для отображения] в датасете.
2. Заполнено ли свойство [Первичное поле для отображения] в таблице.

Если не удастся устранить ошибку, вложите полный набор сервисов.

Наталия, внёс указанные Вами замечания, и взял на заметку, но результат остаётся прежним.

Во вложении все участвующие сервисы.

files.7z

Сервисы скачала, после тестирования напишу Вам результат.

Причина ошибки заключается в том, что Вы не добавили в sq фильтр ID.
Для устранения ошибки Вам необходимо:
1. В sq_ClientCartMain добавить параметр

/system/files/parameter.png

2. Затем добавить фильтр сравнения

/system/files/filter_0.png

Наталия, спасибо огромное. Очень помогло.
Разобрался.

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