Имя: Пароль:
1C
 
Обращение к табличной части из модуля формы. Запрос/НеЗапрос?
0 palpetrovich
 
11.05.10
11:38
Чем нехорошо пользоваться:
"Для Каждого СтрокаТЧ Из Товары Цикл"
...или я на молоко дую? :)
1 Maxus43
 
11.05.10
11:39
запросом получишь сохраненные значение, перебором - все. например...
2 palpetrovich
 
11.05.10
11:40
(1) если я делаю это в ПослеЗаписи() - то как-бы одинаково?
3 Ненавижу 1С
 
гуру
11.05.10
11:40
(0) вообще результат может быть разным и смотря что нужно, тот и будет правильным
4 Ненавижу 1С
 
гуру
11.05.10
11:41
(2) зачем запросом тогды выгребать данные, если вот они уже тут?
5 palpetrovich
 
11.05.10
11:42
(3) "что нужно" - даже стыдно рассказывать :)  ...хотелки очередные
(4) ну да, просто меня терзают смутные сомнения :)
6 Maxus43
 
11.05.10
11:42
в УПП например данные из ТЧ тянутся запросами, видимо так "правильней"
7 palpetrovich
 
11.05.10
11:43
(6) вот,вот потому и терзают сомнения... семерочный опыт сказывается
8 DedMazay
 
11.05.10
11:50
Ну если вам это к примеру для проведения нужно то однозначно лучше запросом, а иначе к чему лишние телодвижения ведь по результату запроса небось потом все равно придется в цикле пробегаться.
9 palpetrovich
 
11.05.10
11:53
(8) нет, не для проведения , чисто получить значения реквизитов ...и создать другой док :)
10 Maxus43
 
11.05.10
11:58
(9) вот в УПП для проведения так соберается (запросом), просто получить - имхо, без разницы, можно и перебором
11 Maxus43
 
11.05.10
11:58
блин, что то с русским у меня сегодня нелады (
12 Maxus43
 
11.05.10
12:09
З.ы. кстати, как правильно: Список Счетов Фактур или Список Счет Фактур ?)
13 DedMazay
 
11.05.10
12:11
(12) правильно первое :)
(9) тогда конечно запрос. затем его результат можно будет просто выгрузить в ТЧ без перебора
14 palpetrovich
 
11.05.10
12:24
(13) а если  Список Счет-Фактур? :)
13.2 - без перебора не получится, реквизиты совпадают не сильно
15 Mitriy
 
11.05.10
12:29
(13) Список счетов-фактур...
16 Mitriy
 
11.05.10
12:31
(14) получай запросом так, как надо и загружай в тч...
17 Aprobator
 
11.05.10
12:32
(10) ввод на основании что ли?
18 Aprobator
 
11.05.10
12:33
мимо (17) к (9)
19 palpetrovich
 
11.05.10
12:50
(18) ну типа ...ввод дока автоматом, так что-б манагеры и не знали об этом ;)
кста, а вот что лучше:
Если ЧтоТо <> ЧемуТо Тогда
или
Если НЕ ЧтоТо = ЧемуТо Тогда
20 Mitriy
 
11.05.10
12:51
(19) это вопрос религии...
21 fisher
 
11.05.10
12:55
(0) Если сабж нужен только в форме плюс нужна возможность его юзать, когда изменения еще не сохранены - тогда запрос идёт в сад. Зачем лишний раз фигачить запрос к БД, если к этому нет никаких предпосылок?
Почитай в СП описание универсального объекта "Табличная часть". Она много чего умеет. И в ТЗ выгружаться, и множественный поиск по сложным критериям делать.
Да и тупым перебором всяко лучше, чем лишний раз запрос к БД фигачить.
22 palpetrovich
 
11.05.10
12:57
(21) сеньку за поддержку ...уже перебрал :)
23 fisher
 
11.05.10
12:59
(22) ИМХО, вот твой выбор:
Табличная часть
Выгрузить (Unload)
Вариант синтаксиса: Выгрузить по отбору
Синтаксис:
Выгрузить(<Параметры отбора>, <Колонки>)
Описание:
Выгружает табличную часть в таблицу значений.
Если указан отбор, то только строки из отбора будут выгружены. Если отбор не указан, то будут выгружены все строки табличной части.
Если указаны колонки, то только эти колонки будут выгружены. Иначе, будут выгружены все колонки табличной части.
24 fisher
 
11.05.10
13:01
Если только перебрать, тогда
Табличная часть
НайтиСтроки (FindRows)
Синтаксис:
НайтиСтроки(<Параметры отбора>)
Параметры:
<Параметры отбора> (обязательный)
Тип: Структура. Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение.
Возвращаемое значение:
Тип: Массив. Массив из строк табличной части, соответствующих заданному условию поиска
25 fisher
 
11.05.10
13:02
А не, соврал...
По сложным критериям оно вроде не умеет, только на равенство...
26 igork1966
 
11.05.10
13:02
(0) Мне интересно как ты запросом достанешь ТЧ не записанного документа?
27 fisher
 
11.05.10
13:03
Для сложных критериев можно скормить табличную часть построителю запроса. В типовых для этого даже универсальная функция имеется.
28 igork1966
 
11.05.10
13:04
(26) +  даж если уже записан, данные у тебя уже на клиенте в ОЗУ... это скорее всего быстрее будет чем из базы тащить.

PS. Конечно если идет речь о форме...
29 palpetrovich
 
11.05.10
13:08
fisher - а смысл мне выгружать в ТЗ? что-б потом Загрузить в новый док? ...ну может и так
 igork1966 - док записан, я уже говорил выше
30 igork1966
 
11.05.10
13:11
(29) гы... а изменения ТЧ тож уже записаны...?

PS. Вообще ситуация с записью еще не полностью созданного документа не очень хороша...  я бы такого старался избежать.
31 palpetrovich
 
11.05.10
13:21
(30) ну, имхается мне, ПослеЗаписи, док уже записан полностью
ну а ситуация мне самому не нравится, но тут случай из разряда: лучше сделать, чем объяснять что это плохо :))
32 DedMazay
 
11.05.10
15:06
(14) ну а если без перебора все равно не получается, тогда и смысла никакого нет запросоим отбирать, тогда сразу проходить в цикле и в этом же цикле и добавлять записи в ТЧ нового документа
33 73
 
11.05.10
15:22
(14) Если условие типа ВСписке, это еще не значит, что только перебором можно. Есть еще и Построитель...
34 73
 
11.05.10
15:25
(33) + И запрос не обязательно к записанной ТЧ делать. Можно и к незаписанной, поместив во временную.
А вот целесообразно или нет зависит от размера ТЧ...
35 palpetrovich
 
11.05.10
15:31
(33) не очень понял о чем речь
(34) в данном случае к незаписанной - нет смысла вообще!
36 73
 
11.05.10
15:53
(35) А перебираешь ты что? ТЧ из базы или ТЧ что в памяти? ТЧ что в памяти.
А Записанная она или незаписанная - ты сам должен позаботиться, что нужно.
Так вот и запрос можно сделать, хоть к Базе, хоть к ТЧ что в памяти. Вот это я имел ввиду в (34).

А в (33) - можно использовать ПостроительЗапроса, передав ему в ИсточнокДанных твою ТЧ. А Отборы у него гибче(в том числе ВСписке). В типовых кстати глобальная процедурка есть. Поищу...
37 73
 
11.05.10
15:58
(36)+
Вот отсюда: v8: Как скопировать таблицу значений с отбором по нескольким параметрам
УТ:
Функция ОтобратьСтрокиПоКритериям(Источник, СтруктураКритериев, СтруктураСложныхКритериев = Неопределено) Экспорт
38 palpetrovich
 
11.05.10
16:11
(37) почитал, спасибо.  малехо не то.  
и это, вопрос собственно снят :) порешал перебором, с выгрузкой/загрузкой в тз - есть неудобный момент, усложняющий алгоритм и, соотвественно, увеличивающий время исполнения