Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Май 2017, 07:11
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как удалить в ТЧ документа не все строки, а удовлетворяющие нужному условию  (Прочитано 1624 раз)

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

Оффлайн ktu78

  • ***
  • Сообщений: 151
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-21
  • Сайт: 
  • Профессия: Программист 1С
Добрый день, подскажите пожалуйста коллеги:

Это код удаления всех строк ТЧ
ОбъектДокумента = Документ.ПолучитьОбъект();
    ОбъектДокумента.Товары.Очистить(); 

Как удалить в ТЧ документа не все строки, а удовлетворяющие нужному условию

Спасибо


Оффлайн LexaK

  • *****
  • Сообщений: 1209
  • РЕПУТАЦИЯ: 333
  • КПД: 28%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
да-а-а, похоже что на такой элементарный вопрос вам никто не ответит,
это все равно что вы спросили:
- ребята, а сколько будет "2 + 2"

как вариант (создайте структуру, с ее помощью найдите строчки (которые надо удалить), и в цикле все их удалите) всего 5 строчек кода!
боюсь вы ничего не поняли.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Только если удалять в цикле, то только с использованием счетчика. По-другому просто нельзя.
Добавлено: 15 Дек 2015, 05:37

Сч = 1;
Пока Сч <= Объект.Товары.Количество() Цикл
Если Объект.Товары[Сч - 1].<<ИмяРеквизитаТЧ_Товары>> = <<Чему то равно>> Тогда
Объект.Товары.Удалить(Сч - 1);
Иначе
Сч = Сч + 1;
КонецЕсли;
КонецЦикла;
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Последний раз редактировалось: Luzer1C; 15 Дек 2015, 05:37. Причина: Объединение сообщений

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Только если удалять в цикле, то только с использованием счетчика. По-другому просто нельзя.

Не есть факт. Да и при вашем алгоритме цикл не собьется часом?

Обычно обхожу таблицу циклом "Для каждого". Проверяем нужное условие и если выполняется то кладем текущую строку в массив для удаления.
Далее циклом обходим получивший массив и удаляем.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Так тоже можно.
Только если удалять строки из ТЧ сразу, то они сдвигаются и получится так, что, например, мы удалили строку и на её место встала другая строка. А так как мы обрабатываем циклом, то эту строку мы не проверим. Проверка условия перейдёт на другую строку.
Мой механизм рабочий. Это из обучающего видео Евгения Гилёва.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Так тоже можно.
Только если удалять строки из ТЧ сразу, то они сдвигаются и получится так, что, например, мы удалили строку и на её место встала другая строка. А так как мы обрабатываем циклом, то эту строку мы не проверим. Проверка условия перейдёт на другую строку.
Мой механизм рабочий. Это из обучающего видео Евгения Гилёва.

При обходе циклом Для каждого например так
    Для каждого СтрокаТЧ Из Товары
    ...

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

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Правильнее было написать так: "с использованием массива для удаления или с использованием счетчика".
Цитировать
Да и при вашем алгоритме цикл не собьется часом?
Если не верите, советую проверить.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
Тоже считаю, что удаление по индексу строки допустимо только снизу. Удаление по ссылке - направление не важно.

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Вы не понимаете суть алгоритма. Советую разобраться.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
А ведь и вправду годно. Не обратил внимание на блок "Иначе".


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

Автор EHOTРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 4026
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Автоматическое заполнение табличной части документа из табличной части другого

Автор WillРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 14150
Последний ответ 16 Авг 2012, 12:07
от Will
Заполнение поля табличной части документа из табличной части справочника.

Автор Kurt_WagnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3520
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

Автор kaf_infoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 133
Последний ответ 10 Май 2017, 20:44
от ilnur75
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 6989
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
Dethmontt Dethmontt
71 Сообщений
alex0402
63 Сообщений
MuI_I_Ika MuI_I_Ika
61 Сообщений
wise wise
50 Сообщений
ilyay ilyay
39 Сообщений
Сергей Федоров Сергей Федоров
36 Сообщений
ilnur75
21 Сообщений
BuhRust
21 Сообщений
magnifico61
20 Сообщений

* Кто онлайн

  • Точка Гостей: 365
  • Точка Скрытых: 0
  • Точка Пользователей: 13
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal