Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 13:43

Сообщить название удаленных реквизитов табличной части

Автор proofet, 17 фев 2011, 10:50

0 Пользователей и 1 гость просматривают эту тему.

proofet

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

Процедура КнопкаВыполнитьНажатие(Кнопка)
Если ЗначениеЗаполнено(ЭлементыФормы.Контрагенты.Значение) Тогда
КонтрагентТТ=ЭлементыФормы.Контрагенты.Значение.ПолучитьОбъект();
КонтрагентТТ.ТорговыеТочки.Очистить();

ЭлементыФормы.Надпись1.Заголовок=("Удалены торговые точки" +Контрагенты.ТорговыеТочки.);  //  здесь нужно что-бы выводилось сообщение какие ТТ были удалены, не могу понять как написать ссылку на удаленные реквизиты табл. части
       КонтрагентТТ.Записать();

Иначе Сообщить ("Выберите контрагента у которого требуется очистить ТТ");
КонецЕсли
КонецПроцедуры

   

Klyacksa

То есть по кнопке должна очиститься табличная часть Контрагента? Сами торговые точки не помечаются на удаление?
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

proofet

именно так!  - торговые точки не помечаются на удаление

proofet

Можно ли как то "ссылаться" на наименование этих "очищенных" торговых точек в таком случае ?

Klyacksa

Ну смотрите, есть нечто. Если мы его в начале удалим, то что в нем было уже не узнаем. А если мы в начале напишем, что в нем есть, и потом сразу удалим - то можем :)

То есть, в вашей процедуре, прежде чем очищать табличную часть, нужно в цикле ее обойти и вывести сообщения вида "Удалена торговая точка такая-то". А затем выполнить метод Очистить()

Цикл для обхода табличной части:

Для каждого Строка из КонтрагентТТ.ТорговыеТочки цикл
    //
конеццикла;
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

cska-fanat-kz

Удалять не всей толпой (Очистить()) а по одной (Удалить())
А перед этим писать "Удалена торговая точка такая-то"
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Klyacksa

А зачем удалять построчно, если нужно удалить ВСЕ строки? :)
p.s. Блин, это только у меня при ответе кнопки форматирования и смайлы не нажимаются?..((
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

cska-fanat-kz

Ну просто строки все равно обходить чтобы вывести название...
Хотя в целом не критично...

ЗЫ у меня тоже не нажимается ((
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Klyacksa

С удалением построчно есть заморочки.

Если обходим циклом <<Для каждого... из ... цикл>>, то внутри цикла нельзя удалять элементы. Строки через одну будут пропускаться.
То есть:
1) берем 0-й элемент, удаляем
2) строки сдвигаются, и 1-я становится 0-й.
3) цикл считает, что 0-й элемент уже отработали, берет 1-й
4) и т.д.

Получается, что удалятся строки через одну.

То есть, придется либо использовать цикл со счетчиком и передвигать максимальное значение счетчика, либо заморачиваться с массивом строк таб.части...

Проще очистить таб.часть :)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

cska-fanat-kz

Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск