#0
by Aradel3d
Добрый день! Подскажите как оптимально удалить строки с отбором из ТаблицыЗначений, таким образом чтоб в случае множественных значений отбора по одной колонке не запускать N отборов и N циклов удаления строк из ТЗ? Для НайтиСтроки Отбор ведь структура, а там только одно значение на один ключ... в итоге получается не рационально. По идее мне нужен массив, строки которого пойдут как индекс для Удалить, с типом значения и типом "Строка таблицы значений", полученный из ТЗ не методом НайтиСтроки, а как? Запрос просто данные выдает.
#1
by DCKiller
Выбери из таблицы запросом только те строки,которые нужно оставить, и выгрузи результат в ТЗ.
#3
by Aradel3d
Я пробовал запросом: Недопустимое значение параметра (параметр номер '1') (Строка не принадлежит коллекции)
#4
by Zerg80
Сделай удаление а-ля 7.7, то есть обратным обходом ТЗ. А внутри цикла сравнивай значения по Если..Тогда.
#6
by Aradel3d
Пишет, что строку которую я в данный момент подставил как индекс 1с не считает принадлежащей коллекции и выдает ошибку.
#8
by Aradel3d
там 3 строки, цикл и внутри удалить. А до этого два запроса выгруженных в ТЗ, при этом второй с условием сотрудник = &сотрудник. Не знаю где там можно написать бредовый код:)
#11
by iamnub
1C не работает нормально с коллекциями, да ей это и не нужно, так как этот язык заточен под другое, вот например план закупок под производство, тогда да, а отбор из коллекции, это ты что-то не то придумал, паря.
#12
by Aradel3d
Ну не знаю... Сотр[1] = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию("Галиулина Ксения Сергеевна");
#13
by Aradel3d
Документ тут не важен, хочется разобраться в удалении строк из ТЗ, оба запроса дают результат, массив заполняется.
#16
by Diman000
У тебя ТЗ разные, и ссылки на их строки к ссылкам на строки ТЧ док-та вообще никакого отношения не имеют.
#17
by iamnub
Для каждого стр из РезультатЗапроса2 Цикл Это ересь, так как строка ТЗ принадлежит СВОЕЙ ТЗ, и соотвественно - в другой ТЗ её просто нет.
#18
by Diman000
Чтобы удалять строки из ТЗ должен быть массив ссылок на строки именно этой ТЗ, а не какой-то там другой и не важно что они из одной ТЧ вытащены запросом. Если у тебя сложные условия с коллекциями, то хороший вариант в . Если он по каким-то причинам не годится, то другой вариант это создать индекс в ТЗ. Тогда N отборов в цикле будут быстро пролетать.
#20
by Aradel3d
Ребята, вообще-то я в курсе, что строки из разных ТЗ, это просто ответ . Задачка не на результат, а на разобраться с удалением строк из ТЗ.
#21
by Diman000
В совсем другое написано. Прочитай еще раз внимательнее. Там вообще не надо ничего удалять.
#22
by Aradel3d
В общем решение такое: пишется функция, в которую передается исходная таблица, массив значений к отбору и название колонки отбора. В ней циклом подставляются отборы и полученное добавляется в массив. После получения таблички, удаление. Таким образом не надо 100500 раз отбирать и удалять. Спасибо доброму дяде:)
#26
by Aradel3d
Удаляю строки я сейчас таким же способом, только вместо РезультатЗапроса2 у меня массив найденных строк.
#27
by Diman000
Ясно дело, других способов и нет. Только я не понял почему у тебя нет 100500 отборов, по-моему они остаются - "циклом подставляются отборы ". В предложено решение вообще без удаления строк.
#31
by su_mai
А как такую же операцию выполняет SQL Server? Там многое зависит от количества строк в выборке, наличия индекса и т.п. Кроме того не ясно условие задается только на одну колонку или может задаваться на несколько, причем множественные?
#32
by Aradel3d
По поводу SQL Server ничего не скажу. В моей задачке условие только по одной колонке. Одна колонка, много вариантов отбора. Чтоб не было нагромождений кода "Отбор N, Найти отбор N, удалить отбор N" я искал решение. Может запросом к ТЗ по валидным параметрам и правильнее будет, с точки зрения сервера. Но это уже другой вопрос.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как удалить с печатной формы документа колонку.
- не могу удалить строки из Табличного Поля
- ТЗ. Удаление строки сдвигает строки?
- Нужно удалить записи регистра сведений "Удалить права доступа пользователей"
- Как в Excel поставить/удалить группировку по некоторым строкам, и удалить по другим
- Динамический список - выделенные строки - суммирование содержимого строки..
- Таблица Значений отбор по индексу, номеру строки, как найти строки 1-100
- как наиболее оптимально можно программно вывести отчет на скд с группировками?
В этой группе 1С
- 1С как в СКД свернуть вообще все группировки?
- При подключении внешней компоненты 1с вылетает
- Переход с БП 2.0 на 3.0
- Давайте изучать php и 1С Битрикс как дополнение к знаниям 1С.
- Значение не является значением объектного типа "найти по значению"
- v7: Сформировать программно отчет и сохранить его в excel
- Упорядочивание по ссылке в динамическом списке
- Почему в "начислении ЗП" в БП 3.0 нет галки "корректировка"?
- УТ 11.1 Остатки активов и пассивов, где найти такой отчет?
- Не могу обновить релиз УТ
- Веб-Сервис 1С. Сервис не найден.
- Закрытие месяца. Предлагает перепровести документы за 2 года...
- С какого релиза 8ки (2,0) перестали вкладывать правила обмена с 7кой (перехода)?
- Как программно добавить отбор в динамический список на УФ 8.3?
- 1с как экспортированный запрос достат по уровенем
- Обновление платформы клиент-серверной 1С 8.3.5.1186
- Внешняя обработка заполнения табличной части 8.3
- Отчет "Ведомость по учету стоимости материалов в эксплуатации". Нет суммы.
- Ограничение на выбор определенных типов данных,в таб части документа
- Доступ к представлениям строк в таблице формы УФ