8.х Как програмно удалить строку из табличного поля формы?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Ярик, 11 апр 2010.

  1. TopicStarter Overlay
    Ярик
    Offline

    Ярик

    Регистрация:
    21 мар 2010
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Как удалить конкретную строку из табличного поля формы?

    В данному случае есть пустая строка в табличном поле формы (это табличное поле отражает табличную чатсь справочника). Хотелось бы узнать, как эту строку можно удалить, либо как можно что либо в неё записать программным методом.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    Найти эту строку в ТЗ или ТЧ, к которой привязана ТЧ на форме и удалить в ней.
  3. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Читайте синтаксис Удалить()
  4. TopicStarter Overlay
    Ярик
    Offline

    Ярик

    Регистрация:
    21 мар 2010
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Дело в том, что, насколько я понимаю, при создании новой строки в Табличном поле формы, если мы НЕ нажали кнопку "записать", то для табличной части справочника этой строки ещё не существует. По задумке нужно эту строку из табличного поля ПРГРАММНО удалить (или хотя бы записать в неё некоторое содержимое). (При этом в табличную часть справочника она ещё не записана.) Никак не могу это сделать.
  5. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    Если не записан сам объект, содержащий табличную часть, еще не значит, что табличная часть не содержит строк.

    Строка в табличную часть добавляется сразу же после метода ТЧ ДОБАВИТЬ().

    Обращайтесь к ТЧ напрямую, ищите в ней нужны строки и делайте с ними, что хотите.

    По завершении обработки, если не было записи объекта, естественно, ничего не сохраняется в ИБ.

    В коде примерно так:

    НовыйОбъектСправочника = Справочники.<НужныйСправочник>.СоздатьЭлемент();
    ...................
    ....................
    .....................
    НоваяСтрокаТЧ = НовыйОбъектСправочника.<ИмяТЧ>.Добавить();
    .....................
    .....................
    .....................
    НовыйОбъектСправочника.Записать();
  6. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    1. Если объект не записан то в базе данных его нету, и соответственно его табличной части тоже и если Вы пытаетесь вытащить данные запросом, то результата Вы не получите.
    2. Для извлечения данных из не записанного объекта Вам нужна ссылка на сам не записанный объект, в таком случае Вы сможете обратиться к не записанной табличной части.
    3. Проверка для удаления...
    Код:
    Если НЕ ТабличнаяЧасть.Количество()=0 Тогда
    ТабличнаяЧасть.Очистить();
    КонецЕсли;
    
    
    в модуле объекта код выглядит как написано Выше, если надо обратиться из другого объекта, тогда просто укажите ссылку на объект и имя его табличной части.

    Вот это не понял разъясните.

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