удаление записи в детали

создал новую деталь Темы в разделе Задачи, (Темы - это новый справочник)
в детали кнопки Добавить и Изменить работают нормально, но кнопка Удалить - не работает: ArrayIDs - возвращает ноль

function DeleteData() {
var ArrayIDs = GetArrayByCollection(grdData.SelectedIDs);
if (ArrayIDs.length == 1) {...}

...
}
function btnDeleteOnClick(Control) {
DeleteData();
}

подскажите, как решить проблему

Нравится

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

Уточните, пожалуйста, какое значение имеет при этом grdData.SelectedIDs?

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

если я пишу
Log.Write(1, grdData.SelectedIDs);
тогда скрипт выдает ошибку о несоответствии типов.

Log.Write(1, grdData.SelectedIDs.CommaText);

 

Это нормально, поскольку grdData.SelectedIDs - это объект, а в лог можно вывести только строковое значение. Попробуйте

Log.Write(1, grdData.SelectedIDs.Items(0));

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

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

"Александр Кудряшов" написал:Log.Write(1, grdData.SelectedIDs.CommaText);

Согласен, это лучше :).

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

возвращает пустую строку

Дмитрий, а как Вы создавали деталь? Если окно детали наследуется от wnd_BaseGridArea, там не нужно дополнительно обрабатывать удаление, достаточно базового обработчика.

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

В разделе задачи есть деталь контакты, я использовал контакты как пример.
Наследование от wnd_BaseGridArea есть.
Обработчик удаления скопировал из scr_ContactInTaskGridArea, без обработчика тоже не удаляет один элемент. ЕСли удалять все, тогда нормально.

Представление в реестре детали одно или больше? Возможно, Вы используете несколько окон? Были случаи, когда не совсем корректно было прописано изменение активного представления, соответственно, информация отображалась с одного датасета, а работа велась совсем с другим.

Для более детального анализа необходим удалённый доступ. Если это возможно, отправьте, пожалуйста, запрос или параметры доступа на адрес службы технической поддержки (support@tscrm.com).

Если деталь не предполагает каких-либо сложных функциональностей, возможно, лучше пересоздать её с помощью редактора разделов (запустив приложение с параметром /wnd=wnd_CreateNewWorkspace). Правда, он есть не во всех версиях.

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

высылаю параметры на почту

Проверьте, указаны ли у датасета (ds_) ключевое поле и первичное поле для отображения.
--------------------------------------------
Лабитек
Центр разработки приложений

да, не было ключевого поля в датасете :smile:
спасибо!

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