Имя: Пароль:
1C
 
Получить данные из запроса или полей?
,
0 Кондер
 
15.01.24
14:33
Есть ли смысл поля вытащить запросом? Ща написано так:
Данные = Новый Структура;
Данные.Вставить("Проведен", ОбъектОбработки.Проведен);
Данные.Вставить("ПометкаУдаления", ОбъектОбработки.ПометкаУдаления);
Данные.Вставить("Дата", ОбъектОбработки.Дата);
Данные.Вставить("Номер", ОбъектОбработки.Номер);
Данные.Вставить("Склад", ОбъектОбработки.Склад.ИДД);
Данные.Вставить("ИДД", XMLСтрока(ОбъектОбработки));

мсвТаблица = Новый Массив;
Для каждого текСтрока из ОбъектОбработки.Товары цикл
		Товары = Новый Структура;
		Товары.Вставить("Количество", текСтрока.Количество);
		Товары.Вставить("Качество", текСтрока.Качество);
		Товары.Вставить("ХарактеристикаНоменклатуры", текСтрока.ХарактеристикаНоменклатуры.ИДД);

		мсвТаблица.Добавить(Товары);
КонецЦикла;
1 Волшебник
 
15.01.24
14:33
Получится запрос в цикле. Вытаскивайте Товары запросом, т.е. все поля по всем товарам.
2 PR
 
15.01.24
14:33
(0) Да
3 Garykom
 
гуру
15.01.24
14:36
(0) Зачем? Что это даст? Какие плюсы и минусы?
4 Кондер
 
15.01.24
14:36
(1) Ну я думал запрос пакет, по шапке и товарам
5 Dmitrii
 
гуру
15.01.24
14:37
(0) Что такое ОбъектОбработки?

Если это объект, то смысла никакого нет. У тебя и так в памяти считан весь объект, включая табличные части.
Если это не объект, а ссылка на объект, то лучше делать запросом.

А вообще "Есть ли смысл...?" - вопрос философский.
Смысл для чего?...
6 Кондер
 
15.01.24
14:37
(3) Хоть документы и не большие, но их много. Вытащить за одно обращение
7 Кондер
 
15.01.24
14:38
(5) ссылка на документ
8 Волшебник
 
15.01.24
14:59
(4) Ну сделайте, если Вам за это заплатят
9 Кондер
 
15.01.24
15:02
(8) Отдельно нет, но мне потом смотреть на этот код )

Всем спасибо.
10 mikecool
 
15.01.24
16:46
если объект 1 и в нем нет полей неограниченного типа - то пофик как, при первом же обращении к свойству объекта он считается в память и далее реквизиты будут браться из него
11 Garykom
 
гуру
15.01.24
17:04
(0) Вот это все оно у тебя же в цикле?

Если да то сверху обернуть запросом, причем сразу по Товары
И вытащить все поля максимально

Далее уже один цикл где почти все доступно, а что не доступно то считаешь на ходу из доступных полей
12 Garykom
 
гуру
15.01.24
17:06
Нечто вроде:

Запрос = Новый Запрос("Текст запроса поля ОбъектОбработки и ОбъектОбработки.Товары");
Товары = Запрос.Вычислить().Выгрузить();
Для Каждого ТекСтрока Из Товары Цикл
///
КонецЦикла;
13 Волшебник
 
15.01.24
17:14
(12) тут промазали: Запрос.Вычислить()
14 Garykom
 
гуру
15.01.24
17:18
(13) угу Выполнить()
многозадачность уже страдает