Нужно было встроить в карточку редактирования проекта - карточку редактирования контрагента. Сделал я это через WindowContainer. Карточка редактирования контрагента отображается нормально, но она не активна. Как я понимаю из-за того, что датасет ds_Account не открыт. Как правильно его открыть, что бы карточка контрагента была редактируемая?
Нравится
Как минимум, встроенному окну редактирования надо указать несколько атрибутов и вызвать метод Prepare:
WindowContainer.Window.Attributes('имя') = 'значение'; ... WindowContainer.Window.Prepare();
Какие именно атрибуты - смотрите в скрипте к wnd_AccountsGridArea
--------------------------------------------
Лабитек
Центр разработки приложений
Окно контейнера стало редактируемое, но появилась другая проблема. При открытии главного окна пишет, что контрагент удален. И у окна контейнера не активна кнопка "ОК".
А атрибуты окну назначили корректно? Как минимум надо указать правильный RecordID.
Также проверьте sq_Account - не включены ли у Вас там фильтры в Where (все фильтры должны быть выключены)
--------------------------------------------
Лабитек
Центр разработки приложений
Какие именно атрибуты нужны можно посмотреть в функции ShowEditWindowEx.
Столкнулся еще с такой проблемой, если нажать на окне, которое встроено с помощью WindowContainer на кнопку "ОК". окно исчезает и на форме просто остается пустое место. И даже при закрытии и открытии главного окна, встроенное не появляется, пока не перезапустишь террсофт. Есть ли способ сделать, что бы встроенное окно не исчезало?
Это надо модифицировать обработчик кнопки ОК.
По умолчанию в окне редактирование при нажатии этой кнопки запись сохраняется и окно закрывается.
--------------------------------------------
Лабитек
Центр разработки приложений
Как можно программно вызвать событие нажатия на кнопку "ОК" для окна вставленного с помощью WindowContainer.
Пытался так WindowContainer.Window.btnOnClick(Control) - не работает :(
Попробуйте так:
WindowContainer.Window.ComponentsByName('btnOK').Click();
--------------------------------------------
Лабитек
Центр разработки приложений