Показать сообщение отдельно
Старый 26.03.2009, 09:08   #3  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от Gustav Посмотреть сообщение
А приведите, пожалуйста, код метода? А то у меня "трёшка", SP4 и такого метода в классе нет.
О.. я не обратил внимания, что метод у меня только на слое CUS. Выглядит так:
X++:
void deleteSheet(int _workSheet)
{
    COM         comWorkSheet;

    ;

    if (! m_comDocument)
        throw error(strFmt("@DIS6401", this.getApplicationName()));

    comWorkSheet  = this.getWorkSheet(_workSheet);
    comWorkSheet.select();

    comWorkSheet.delete();
}
Цитата:
Сообщение от Gustav Посмотреть сообщение
А где это видно?
Как видите, передается только номер листа, а не имя. Далее метод getWorkSheet() уже в слое GLS. Нумерацию листов проверял, перебирая листы по номерам в цикле начиная с 1 методом getWorkSheetName() (он вызывается также с целочисленным идентификатором листа, также в слое GLS). И если имена листов не менялись (Лист1, Лист2 и т.д.)., то листы удаляются без проблем. А если переименовывались, то целочисленные номера у них сохранились, но удаления листа не происходит.