[РЕШЕНО] При очищении табличной части в соответствующем контроле не сбрасывается свойство ТекущаяСтрока

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Нина__, 17 мар 2014.

  1. TopicStarter Overlay
    Нина__
    Offline

    Нина__

    Регистрация:
    22 фев 2008
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Добрый день!

    Платформа 1С:Предприятие 8.2 (8.2.19.80)
    Конфигурация Бухгалтерия предприятия, редакция 3.0 (3.0.27.9)

    Создала новый документ. В документе есть табличная часть, заполняется программно. При нажатии на определенную кнопку нужно эту табличную часть перезаполнить. После очистки и повторного заполнения содержание Объект.ТабличнаяЧасть корректно. В контроле же Элементы.ТабличнаяЧасть новые строки нумеруются не с 0 (как должно быть по идее), а словно они дописаны к уже удаленным. Соответственно при срабатывании события ПриАктивизацииСтроки на фактической первой строке Элементы.ТабличнаяЧасть.ТекущаяСтрока содержит не 0, а 0+n, где n - это количество ранее удаленных строк.
    Подскажите, как с этим бороться, в какую сторону копать...
    Заранее спасибо!
  2. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.987
    Симпатии:
    398
    Баллы:
    104
    Где Вы понахватались таких терминов?!
    Что значит содержание корректно?
    Что такое "в контроле"?
    Если нужно перезаполнить табличную часть, то ее сначала нужно очистить. А потом уже заполнить заново...
  3. TopicStarter Overlay
    Нина__
    Offline

    Нина__

    Регистрация:
    22 фев 2008
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Благодарю за ответ!
    Да, я сначала очищаю табличную часть, а потом заполняю заново. В Объект.ТабличнаяЧасть все правильным образом заполняется, строки нумеруются с нуля. А вот в Элементы.ТабличнаяЧасть происходит совершенно мне не понятный сдвиг. И соответственно обращение типо Объект.ТЧПроводок[Элементы.ТЧПроводок.ТекущаяСтрока].ДокОпер выдает ошибку " Индекс находится за границами массива".
  4. GlukAl
    Offline

    GlukAl Опытный в 1С

    Регистрация:
    4 окт 2012
    Сообщения:
    187
    Симпатии:
    7
    Баллы:
    29
    ТекущаяСтрока может быть Неопределено
  5. TopicStarter Overlay
    Нина__
    Offline

    Нина__

    Регистрация:
    22 фев 2008
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    При отладке видно, что ТекущаяСтрока не Неопределено, а содержит число, которое больше количества строк в табличной части. И больше оно ровно на столько, сколько было строк в первое заполнение табличной части.
  6. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Процедуры/функции в модуле формы или в модуле объекта документа?
  7. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Если правильно понимаю в чем проблема, то:
    В управляемых формах .ТекущаяСтрока возвращает идентификатор строки, а не саму строку.
    Используйте метод НайтиПоИдентификатору().

    Подробности см. Радченко. Разработка управляемого интерфейса. Стр. 524.
    Нина__ нравится это.
  8. TopicStarter Overlay
    Нина__
    Offline

    Нина__

    Регистрация:
    22 фев 2008
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    В модуле формы
    --- Объединение сообщений, 19 мар 2014 ---
    Т.е. в ТекущаяСтрока содержится не номер строки, а некий идентификатор, который может совпадать с номером строки, а может и не совпадать?
    Огромное спасибо, попробую с этим разобраться.

Поделиться этой страницей