|
Не создаются строки с записями в табличной части документа по резальтатам запроса | ☑ | ||
---|---|---|---|---|
0
alpha78
21.07.22
✎
11:24
|
Добрый день, ставится задача обновить строки табличной части документа - мы получаем данные из табличной части исходного документа
Что сделал - удалил существующие строки, затем выполнил запрос из табличной части конкретного документа, и данные запроса нужно записать в табличную часть документа Вот код - при выполнении - пустая табоичная часть , хотя в исходном документе данные есть! Маршруты.Очистить(); Запрос = Новый Запрос ; Запрос.Текст = "ВЫБРАТЬ | ТаблицаВодителиВодители.Ссылка, | ТаблицаВодителиВодители.Ссылка.Дата, | ТаблицаВодителиВодители.Маршрут КАК Маршрут, | ТаблицаВодителиВодители.Автомобиль КАК Автомобиль, | ТаблицаВодителиВодители.Водитель КАК Водитель, | ЕСТЬNULL(ТаблицаВодителиВодители.ПробегЗаДень, 0) КАК КМ, | ТаблицаВодителиВодители.ТемператураВХолодильнике КАК Температура, | ЕСТЬNULL(ТаблицаВодителиВодители.ТопливоГрн, 0) КАК Топливо, | ЕСТЬNULL(ТаблицаВодителиВодители.СкоростьГрн, 0) КАК Скорость, | ЕСТЬNULL(ТаблицаВодителиВодители.Штраф, """") КАК Штраф |ИЗ | Документ.ТаблицаВодители.Водители КАК ТаблицаВодителиВодители |ГДЕ | ТаблицаВодителиВодители.Ссылка = &СсылкаТВ" ; Запрос.УстановитьПараметр("СсылкаТВ", СсылкаТВ); Выборка = Запрос.Выполнить().Выбрать() ; Пока Выборка.Следующий() Цикл Стр = Маршруты.Добавить() ; Стр.Маршрут = Выборка.Маршрут ; Стр.Автомобиль = Выборка.Автомобиль ; Стр.Водитель = Выборка.Водитель; Стр.Километры = Выборка.КМ ; Стр.Топливо = Выборка.Топливо ; Стр.Скорость = Выборка.Скорость ; Стр.Температура = Выборка.Температура ; Стр.Штраф = Выборка.Штраф ; Стр.Стоимость = Стр.ЗарплатаВодителю + Стр.ЗарплатаГрузчику + Стр.Скорость + Стр.Топливо ; КонецЦикла ; |
|||
1
1Сергей
21.07.22
✎
11:25
|
Отладчик поможет
|
|||
2
Kigo_Kigo
21.07.22
✎
11:26
|
а отладчике посмотрели, запрос то не пустой?
|
|||
3
Kigo_Kigo
21.07.22
✎
11:27
|
ВыборкаТЗ = Запрос.Выполнить().Выгрузить();
Сообщить(ВыборкаТЗ.Количество()); что скажет? |
|||
4
vicof
21.07.22
✎
11:27
|
Запрос к таблице водителей, а данные пишем в таблицу маршрутов. Л - Логика.
|
|||
5
Kigo_Kigo
21.07.22
✎
11:28
|
(4) А что ту не логично?
|
|||
6
rsv
21.07.22
✎
11:29
|
(0)Тч.загрузить( реззапрос.выгрузить())
Реззапрос значит пустой |
|||
7
vicof
21.07.22
✎
11:31
|
(5) "ставится задача обновить строки табличной части документа"
|
|||
8
Kigo_Kigo
21.07.22
✎
11:34
|
(7) У него ветьвато написано, но как я понял, обновляем строки в документе маршруты из документа - цитирую " из табличной части конкретного документа"
|
|||
9
Kassern
21.07.22
✎
11:34
|
(0) А исходный документ записан в базу?
И еще, вот эту портянку: Стр.Маршрут = Выборка.Маршрут ; Стр.Автомобиль = Выборка.Автомобиль ; Стр.Водитель = Выборка.Водитель; Стр.Километры = Выборка.КМ ; Стр.Топливо = Выборка.Топливо ; Стр.Скорость = Выборка.Скорость ; Стр.Температура = Выборка.Температура ; Стр.Штраф = Выборка.Штраф ; Замените на: ЗаполнитьЗначенияСвойств(Стр,Выборка); |
|||
10
vicof
21.07.22
✎
11:35
|
(8) Какая постановка задачи, такое и решение)
|
|||
11
Kigo_Kigo
21.07.22
✎
11:35
|
(9) А какая разница? Кода поменьше? ему все равно дописывать
Стр.Стоимость = Стр.ЗарплатаВодителю + Стр.ЗарплатаГрузчику + Стр.Скорость + Стр.Топливо ; |
|||
12
Kassern
21.07.22
✎
11:37
|
(11) Могу ошибаться, но вроде раньше проверял в одном проекте, где было огромное количество строк и реквизитов, то ЗаполнитьЗначенияСвойств отрабатывало гораздо быстрее. Ну и когда меньше и динамически добавяться новые данные из запроса, если ключ совпадает
|
|||
13
Kassern
21.07.22
✎
11:37
|
*ну и кода меньше
|
|||
14
Kigo_Kigo
21.07.22
✎
11:39
|
(12) (13) Это са не решает порблему, ТС молчит, значит выборка пустая
ТС СсылкаТВ - точно заполнена? И зачем тебе | ТаблицаВодителиВодители.Ссылка.Дата, в этом запросе? |
|||
15
Kassern
21.07.22
✎
11:40
|
(14) По проблеме ТСа я написал выше "А исходный документ записан в базу? "
|
|||
16
Kassern
21.07.22
✎
11:40
|
Если он делает этот запрос в форме документа, который еще не записан в базу, то не удивительно, что у него пустой запрос приходит
|
|||
17
Kigo_Kigo
21.07.22
✎
11:47
|
(16) Ты читать умеешь, он делает запрос к ДРУГОМУ документу, а тут не важно записан ЭТОТ документ или нет
|
|||
18
Kassern
21.07.22
✎
11:52
|
(17) тут тяжело читать, так как автор не может нормально сформировать вопрос.
"мы получаем данные из табличной части исходного документа" - как это связано с "запрос к ДРУГОМУ документу"? "затем выполнил запрос из табличной части конкретного документа" - конкретный документ может быть и исходный, а не ДРУГОЙ. В общем пока ТС норм не сформулирует, мы можем только гадать, что и как у него. |
|||
19
alpha78
21.07.22
✎
12:12
|
запрос нормально выгружается в таблицу значений, а вот в табличную часть нихрена не записывается
|
|||
20
Kassern
21.07.22
✎
12:14
|
(19) Таблица значений не пустая? В выборку в отладке попадаете?
|
|||
21
Мультук
гуру
21.07.22
✎
12:17
|
(19)
1) Нихрена не записывается <> не отображается на форме документа (это как пример) 2) Где выполняется этот чудный код 3) После окончания цикла в отладчике в таб.части записи появились ? |
|||
22
Мультук
гуру
21.07.22
✎
12:18
|
Тут все говорят о некой таблице значений, хотя в (0) никаой тз - нет.
|
|||
23
Kigo_Kigo
21.07.22
✎
12:21
|
А может у тебя на форме ТЗ лежит а не Таб часть дока?
|
|||
24
vicof
21.07.22
✎
12:33
|
Короче, очередная рекомендация автору почитать книжки.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |