|
Вывод ссылки на док в строку итога | ☑ | ||
---|---|---|---|---|
0
bplmeddy
05.04.17
✎
15:29
|
Доброго времени суток. Есть такая процедура:
Процедура ОтчётПоКонтрам() ПолеОтчёт.Очистить(); Контр = ЭлементыФормы.Контрагент.Значение; ДатНач = НачалоДня(ЭлементыФормы.НачалоПериода.Значение); ДатКон = КонецДня(ЭлементыФормы.КонецПериода.Значение); Если НЕ Контр.Пустая() Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РасходнойДокумент.Ссылка КАК Док, | РасходнойДокумент.Дата КАК Дата, | ВложенныйЗапрос.Номенклатура КАК Товар, | ВложенныйЗапрос.Количество КАК Кол, | ВложенныйЗапрос.ЦенаПродажи КАК Цена, | ВложенныйЗапрос.Ссылка КАК Док2, | ВложенныйЗапрос.НомерСтроки |ИЗ | Документ.РасходнойДокумент КАК РасходнойДокумент | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | РасходнойДокументТовары.Номенклатура КАК Номенклатура, | РасходнойДокументТовары.Количество КАК Количество, | РасходнойДокументТовары.ЦенаПродажи КАК ЦенаПродажи, | РасходнойДокументТовары.Ссылка КАК Ссылка, | РасходнойДокументТовары.НомерСтроки КАК НомерСтроки | ИЗ | Документ.РасходнойДокумент.Товары КАК РасходнойДокументТовары) КАК ВложенныйЗапрос | ПО РасходнойДокумент.Ссылка = ВложенныйЗапрос.Ссылка |ГДЕ | РасходнойДокумент.Дата >= &ДатНач | И РасходнойДокумент.Дата <= &ДатКон | И РасходнойДокумент.Проведен = &Пров | И РасходнойДокумент.Контрагент = &Контр | |УПОРЯДОЧИТЬ ПО | Дата |ИТОГИ | СУММА(Кол), | СУММА(Цена) |ПО | Док"; Запрос.УстановитьПараметр("ДатНач",ДатНач); Запрос.УстановитьПараметр("ДатКон",ДатКон); Запрос.УстановитьПараметр("Пров",Истина); Запрос.УстановитьПараметр("Контр",Контр); Рез = Запрос.Выполнить().Выбрать(); Пока Рез.Следующий() Цикл ЭлементыФормы.ПолеОтчёт.ДобавитьСтроку(); ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Дата = Рез.Дата; ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.ДокументТовар = Рез.Товар; ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Количество = Рез.Кол; ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Цена = Рез.Цена; ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Сума = ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Цена*ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Количество; КонецЦикла; Иначе Предупреждение("Вы не выбрали контрагента!"); КонецЕсли; КонецПроцедуры Все считается хорошо, есть только один минус: в строке с итогами не выводит ссылку на документ. Прошу помощи в решении данного вопроса. З.Ы. Колонка "ДокументТовар" имеет составной тип данных (СправочникСсылка.Номенкладура и ДокументСсылка.РасходнойДокумент) Спасибо. |
|||
1
bplmeddy
05.04.17
✎
15:31
|
||||
2
Kondarat
05.04.17
✎
15:34
|
Рез = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
|
|||
3
bplmeddy
05.04.17
✎
15:34
|
(2) Сейчас попробую, одну секунду.
|
|||
4
bplmeddy
05.04.17
✎
15:36
|
(2) (3) Нет, к сожалению, выдало только строки с итогами, пропустив строки с товаром.
|
|||
5
Kondarat
05.04.17
✎
15:39
|
Рез = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Рез.Следующий() Цикл ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.ДокументТовар = Рез. Док; ВыборкаТовар = Рез.Выбрать(); Пока ВыборкаТовар.Следующий() Цикл ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.ДокументТовар = ВыборкаТовар.Товар; КонецЦикла; КонецЦикла; |
|||
6
bplmeddy
05.04.17
✎
15:45
|
(5) Теперь выводит. Только вместо цены/количества на каждый товар лупит итог по документу. Если заменить везде Рез.Дата на ВыборкаТовар.Дата, выдаёт все правильно, но пропадают итоги из итоговой строки.
|
|||
7
bplmeddy
05.04.17
✎
15:46
|
(6) З.Ы. ...строки в которую выводится ссылка на документ.
|
|||
8
Kondarat
05.04.17
✎
15:50
|
Покажи код вывода
|
|||
9
bplmeddy
05.04.17
✎
15:51
|
(8) Рез = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Рез.Следующий() Цикл ЭлементыФормы.ПолеОтчёт.ДобавитьСтроку(); ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.ДокументТовар = Рез. Док; ВыборкаТовар = Рез.Выбрать(); Пока ВыборкаТовар.Следующий() Цикл ЭлементыФормы.ПолеОтчёт.ДобавитьСтроку(); ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Дата = ВыборкаТовар.Дата; ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.ДокументТовар = ВыборкаТовар.Товар; ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Количество = ВыборкаТовар.Кол; ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Цена = ВыборкаТовар.Цена; ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Сума = ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Цена*ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Количество; КонецЦикла; КонецЦикла; Это с примером из (6) |
|||
10
Kondarat
05.04.17
✎
15:54
|
ЭлементыФормы.ПолеОтчёт.ТекущаяСтрока.Сума = ВыборкаТовар.Цена*ВыборкаТовар.Количество;
|
|||
11
bplmeddy
05.04.17
✎
15:57
|
(10) Колонка сумы итак правильно выводилась, проблема состоит в том что пропали итоги... сейчас скрин сброшу.
|
|||
12
bplmeddy
05.04.17
✎
15:59
|
(10) (11)
http://i.piccy.info/i9/fd1f00e2e01a1f87a3a64a5f95dd6391/1491397121/322743/1135105/123.jpg Выделенная ячейка и соседние с ней. |
|||
13
Kondarat
05.04.17
✎
16:01
|
(12) Ну добавь уже в запрос вычисление суммы и итог по ней. И опять же у тебя тип значения ПолеОтчет видимо таблица значений - выводи сразу в нее.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |