Обращение к табличной части из модуля формы. Запрос/НеЗапрос? #481311


#0 by palpetrovich
Чем нехорошо пользоваться: "Для Каждого СтрокаТЧ Из Товары Цикл" ...или я на молоко дую? :)
#1 by Maxus43
запросом получишь сохраненные значение, перебором - все. например...
#2 by palpetrovich
если я делаю это в ПослеЗаписи - то как-бы одинаково?
#3 by Ненавижу 1С
вообще результат может быть разным и смотря что нужно, тот и будет правильным
#4 by Ненавижу 1С
зачем запросом тогды выгребать данные, если вот они уже тут?
#5 by palpetrovich
"что нужно" - даже стыдно рассказывать :)  ...хотелки очередные ну да, просто меня терзают смутные сомнения :)
#6 by Maxus43
в УПП например данные из ТЧ тянутся запросами, видимо так "правильней"
#7 by palpetrovich
вот,вот потому и терзают сомнения... семерочный опыт сказывается
#8 by DedMazay
Ну если вам это к примеру для проведения нужно то однозначно лучше запросом, а иначе к чему лишние телодвижения ведь по результату запроса небось потом все равно придется в цикле пробегаться.
#9 by palpetrovich
нет, не для проведения , чисто получить значения реквизитов ...и создать другой док :)
#10 by Maxus43
вот в УПП для проведения так соберается (запросом), просто получить - имхо, без разницы, можно и перебором
#11 by Maxus43
блин, что то с русским у меня сегодня нелады (
#12 by Maxus43
З.ы. кстати, как правильно: Список Счетов Фактур или Список Счет Фактур ?)
#13 by DedMazay
правильно первое :) тогда конечно запрос. затем его результат можно будет просто выгрузить в ТЧ без перебора
#14 by palpetrovich
а если  Список Счет-Фактур? :) 13.2 - без перебора не получится, реквизиты совпадают не сильно
#15 by Mitriy
Список счетов-фактур...
#16 by Mitriy
получай запросом так, как надо и загружай в тч...
#17 by Aprobator
ввод на основании что ли?
#18 by Aprobator
мимо к
#19 by palpetrovich
ну типа ...ввод дока автоматом, так что-б манагеры и не знали об этом ;) кста, а вот что лучше: или Если НЕ ЧтоТо = ЧемуТо Тогда
#20 by Mitriy
это вопрос религии...
#21 by fisher
Если сабж нужен только в форме плюс нужна возможность его юзать, когда изменения еще не сохранены - тогда запрос идёт в сад. Зачем лишний раз фигачить запрос к БД, если к этому нет никаких предпосылок? Почитай в СП описание универсального объекта "Табличная часть". Она много чего умеет. И в ТЗ выгружаться, и множественный поиск по сложным критериям делать. Да и тупым перебором всяко лучше, чем лишний раз запрос к БД фигачить.
#22 by palpetrovich
сеньку за поддержку ...уже перебрал :)
#23 by fisher
ИМХО, вот твой выбор: Выгрузить (Unload) Вариант синтаксиса: Выгрузить по отбору Синтаксис: Выгрузить(<Параметры отбора>, <Колонки>) Описание: Выгружает табличную часть в таблицу значений. Если указан отбор, то только строки из отбора будут выгружены. Если отбор не указан, то будут выгружены все строки табличной части. Если указаны колонки, то только эти колонки будут выгружены. Иначе, будут выгружены все колонки табличной части.
#24 by fisher
Если только перебрать, тогда НайтиСтроки (FindRows) Синтаксис: НайтиСтроки(<Параметры отбора>) Параметры: <Параметры отбора> (обязательный) Тип: Структура. Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение. Возвращаемое значение: Тип: Массив. Массив из строк табличной части, соответствующих заданному условию поиска
#25 by fisher
А не, соврал... По сложным критериям оно вроде не умеет, только на равенство...
#26 by igork1966
Мне интересно как ты запросом достанешь ТЧ не записанного документа?
#27 by fisher
Для сложных критериев можно скормить табличную часть построителю запроса. В типовых для этого даже универсальная функция имеется.
#28 by igork1966
+  даж если уже записан, данные у тебя уже на клиенте в ОЗУ... это скорее всего быстрее будет чем из базы тащить. PS. Конечно если идет речь о форме...
#29 by palpetrovich
fisher - а смысл мне выгружать в ТЗ? что-б потом Загрузить в новый док? ...ну может и так  igork1966 - док записан, я уже говорил выше
#30 by igork1966
гы... а изменения ТЧ тож уже записаны...? PS. Вообще ситуация с записью еще не полностью созданного документа не очень хороша...  я бы такого старался избежать.
#31 by palpetrovich
ну, имхается мне, ПослеЗаписи, док уже записан полностью ну а ситуация мне самому не нравится, но тут случай из разряда: лучше сделать, чем объяснять что это плохо :))
#32 by DedMazay
ну а если без перебора все равно не получается, тогда и смысла никакого нет запросоим отбирать, тогда сразу проходить в цикле и в этом же цикле и добавлять записи в ТЧ нового документа
#33 by 73
Если условие типа ВСписке, это еще не значит, что только перебором можно. Есть еще и Построитель...
#34 by 73
+ И запрос не обязательно к записанной ТЧ делать. Можно и к незаписанной, поместив во временную. А вот целесообразно или нет зависит от размера ТЧ...
#35 by palpetrovich
не очень понял о чем речь в данном случае к незаписанной - нет смысла вообще!
#36 by 73
А перебираешь ты что? ТЧ из базы или ТЧ что в памяти? ТЧ что в памяти. А Записанная она или незаписанная - ты сам должен позаботиться, что нужно. Так вот и запрос можно сделать, хоть к Базе, хоть к ТЧ что в памяти. Вот это я имел ввиду в . А в - можно использовать ПостроительЗапроса, передав ему в ИсточнокДанных твою ТЧ. А Отборы у него гибче(в том числе ВСписке). В типовых кстати глобальная процедурка есть. Поищу...
#37 by 73
+ Вот отсюда: УТ:
#38 by palpetrovich
почитал, спасибо.  малехо не то.   и это, вопрос собственно снят :) порешал перебором, с выгрузкой/загрузкой в тз - есть неудобный момент, усложняющий алгоритм и, соотвественно, увеличивающий время исполнения
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С