|
По результату запроса создать документы 🠗 (Волшебник 20.06.2017 12:42) | ☑ | ||
---|---|---|---|---|
0
AsadRoman
20.06.17
✎
12:42
|
Есть запрос, приблизительно такой
ВЫБРАТЬ первые 100 Адреса.Ссылка КАК АдресДоставки, Адреса.Владелец КАК Контрагент, Адреса.Договор.Организация КАК Организация, ИЗ Справочник.АдресаДоставки КАК Адреса Нужно по результату этого запроса создать документы одного вида и вывести созданные документы в таблицу на форме. Я делаю так: Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Док = Документы.УниверсальныйДокумент.СоздатьДокумент(); ЗаполнитьЗначенияСвойств(Док, Выборка); Док.Записать(РежимЗаписиДокумента.Проведение); ЗаписьТаблицы = Объект.Документы.Добавить(); ЗаполнитьЗначенияСвойств(ЗаписьТаблицы, Док); КонецЦикла; Говорят: коряво. Как можно иначе? |
|||
1
Волшебник
модератор
20.06.17
✎
12:42
|
Спроси у тех, кто говорит "коряво"
|
|||
2
piter3
20.06.17
✎
12:43
|
Зачем в цикле вот это?
Док = Документы.УниверсальныйДокумент.СоздатьДокумент(); ЗаполнитьЗначенияСвойств(Док, Выборка); Док.Записать(РежимЗаписиДокумента.Проведение); |
|||
3
AsadRoman
20.06.17
✎
12:46
|
(2) как иначе? подскажи.
|
|||
4
piter3
20.06.17
✎
12:51
|
(3) Я не знаю задачи.Но во1 у тебя ТЧ не сохраняется.Во2 если не нужно делать док то создание дока вне цикла.Проведение в самом низу после цикла.И запрос непонятный
|
|||
5
h-sp
20.06.17
✎
12:55
|
(4) чего то вы запутываете. Всё нормально у него.
|
|||
6
AsadRoman
20.06.17
✎
12:56
|
(4) Ну вроде понятно написал: 1. Запросом выбираю адреса контрагентов (условия запроса не стал выкладывать). Нужно: а) по результатам запроса создать документы; б) отобразить созданные документы в таблицу на форме. Вопрос: как это сделать минуя цикл?
|
|||
7
AsadRoman
20.06.17
✎
13:18
|
(4) Ау, Питэр, Нарисуй свой вариант, плииз. Ну очень хочу увидеть изящный вариант.
|
|||
8
decdmb
20.06.17
✎
13:20
|
(6) Так может у тебя результат запроса можно сразу загрузить в тч документа и заполнить 1 раз реквизиты шапки документа? Структуру документа ты не привел.
|
|||
9
piter3
20.06.17
✎
13:20
|
(5) Скажи,а что у него будет в тч
|
|||
10
Сильф
20.06.17
✎
13:29
|
(0) Может, автор задачи имел в виду, что нужно результат запроса выгрузить в таблицу, а потом из неё сразу загрузить в Объект.Документы? Это и будет "минуя цикл". Или ещё короче:
Объект.Документы.Загрузить(Запрос.Выполнить().Выгрузить()); |
|||
11
Сильф
20.06.17
✎
13:30
|
(10) А, протупил. Документы же ещё нужно создать.
|
|||
12
X Leshiy
20.06.17
✎
13:31
|
(0) Забей.
|
|||
13
AsadRoman
20.06.17
✎
13:34
|
(8) (9) уточняю: каждая строка запроса - один документ. Табличная (ые) часть (и) документа к запросу не имеет (ют) отношения. Можете считать что ее (их), табличной (ых) части (ей) нет.
|
|||
14
AsadRoman
20.06.17
✎
13:34
|
(12) Хороший ответ
|
|||
15
AsadRoman
20.06.17
✎
13:34
|
(12) Я под столом
|
|||
16
X Leshiy
20.06.17
✎
13:36
|
(13) Тем более забей.
Работает, устраивает? Забей. |
|||
17
AsadRoman
20.06.17
✎
13:37
|
(16) Меня устраивает. Но шеф сказал: "позор для программиста". Задело, однако.
|
|||
18
X Leshiy
20.06.17
✎
13:38
|
(17) Сделай виноватое литцо и спроси проникновенно: "А как надо, научите?"
|
|||
19
AsadRoman
20.06.17
✎
13:39
|
(18) "Лицо подчиненное перед лицом начальствующим должно иметь вид лихой и придурковатый..." Боюсь показаться умнее начальника, потому здесь и спрашиваю. ;-)
|
|||
20
X Leshiy
20.06.17
✎
13:40
|
(17) Я уже хочу видеть "не позор для программиста", рецепты от Шефа.
|
|||
21
AsadRoman
20.06.17
✎
13:43
|
(20) Осмелился - спросил (по скайпу) жду ответа.
|
|||
22
X Leshiy
20.06.17
✎
13:47
|
(21) У меня где-то есть запрос в цикле, на тот момент было хорошее решение. Сейчас бы переписал, но лень, работает.
Совесть не мучает :) |
|||
23
AsadRoman
20.06.17
✎
13:55
|
Тут можно материться?
|
|||
24
AsadRoman
20.06.17
✎
13:56
|
Оказывается просто не был просмотрен код в цикле. Т.е. все в норме.
|
|||
25
AsadRoman
20.06.17
✎
13:56
|
Вопрос закрыт.
|
|||
26
AsadRoman
20.06.17
✎
15:36
|
Как-то странно. Куда записи деваются? Короче: шеф не прочитал код, который в цикле. Он решил что я там проверяю условия. Я молодец. Всем спасибо. Тема закрыта.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |