|
Запрос на выборку и документа, табличной части и регистра | ☑ | ||
---|---|---|---|---|
0
Igor997
06.07.17
✎
15:32
|
Всем привет!
Подскажите, пожалуйста, как связать результат в одном запросе: Например, есть запрос типовой из него данные берутся в шапку макета и в строки секции строк: ВЫБРАТЬ Документ.Ссылка КАК Ссылка, Документ.Номер КАК Номер, Документ.Дата КАК Дата, ПРЕДСТАВЛЕНИЕССЫЛКИ(Документ.Склад) КАК Склад, ПРЕДСТАВЛЕНИЕССЫЛКИ(Документ.Подразделение) КАК Подразделение, ПРЕДСТАВЛЕНИЕССЫЛКИ(Документ.Организация) КАК Организация, Документ.Организация.Префикс КАК Префикс, Документ.Товары.( НомерСтроки КАК НомерСтроки, Номенклатура.НаименованиеПолное КАК Номенклатура, Характеристика.НаименованиеПолное КАК Характеристика, ) КАК ТаблицаТовары ИЗ Документ.ДокументТоваров КАК Документ ГДЕ Документ.Ссылка В(&МассивОбъектов) УПОРЯДОЧИТЬ ПО Дата, Ссылка, НомерСтроки Как еще привязать сюда следующее условие: (Р.Цена*Документ.Количество) КАК Сумма, ИЗ Документ.ДокументТоваров.Товары КАК Документ ПРАВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыПоставщиков КАК Р ПО Д.Номенклатура = Р.Номенклатура Т.е. для каждой позиции строки табличной части еще вывести: сумму как произведение значение из регистра и количества из табличной части? Спасибо! |
|||
1
Dvoe4nik
06.07.17
✎
15:45
|
(0) ты вроде как к ТЧ документа обращаешься? так и привязывай к каждой строке номенклатуры свою функцию.. в чем проблема?
|
|||
2
Dvoe4nik
06.07.17
✎
15:48
|
(1)+ типа вот так
выбрать Док.товары (Р.Цена*Док.Количество) КАК Сумма ИЗ Документ.ДокументТоваров.Товары КАК Док Внутреннее СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыПоставщиков КАК Р ПО Док.Номенклатура = Р.Номенклатура |
|||
3
Dvoe4nik
06.07.17
✎
15:50
|
(0) а что такое ПРАВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ ? о_О
|
|||
4
Igor997
06.07.17
✎
15:55
|
(3) Да с правым внешним это эксперименты.
В запросе я не напрямую обращаюсь к табличной части, т.е. док.поле1, док.поле2, док.тч( поле1, поле2, поле3 = поле2 * регистр.цена) ИЗ документа как док потому что сначала, берем док.поле1 в шапку дока, в потом областьСтрокМакета = ОбслатьСтрок.Параметры.Поле1 и тд. |
|||
5
Igor997
06.07.17
✎
15:59
|
Проблема в том, что два цикла:
Пока Документ.Выборка.Следующий() Цикл и в нем уже цикл обхода ТЧ Пока.ВыбокаСтрок.Следующий() Цикл() Поэтому если запрос напрямую к тч, то второй цикл ничего не делает и данные пустые на выходе |
|||
6
Buster007
06.07.17
✎
16:00
|
(3) то же самое что и левое, только наоборот
|
|||
7
h-sp
06.07.17
✎
16:16
|
(5) если запрос напрямую к тч, то делай один цикл
|
|||
8
Dvoe4nik
06.07.17
✎
16:36
|
(5) ну или можешь вообще без запросов делать типа
док=документ.получитьОбъект(ссылка); тчдока=док.тч(выгрузить?) для каждого строка изТчдока цикл конеццикла; |
|||
9
Dvoe4nik
06.07.17
✎
16:36
|
(8) точнее-док=получитьОбъект(ссылкадок)
|
|||
10
Dvoe4nik
06.07.17
✎
16:39
|
(8) либо еще вариант: в запросе выбери ссылки доков- в вт,
выбери тч по этим докам и свяжи с регистром |
|||
11
Igor997
06.07.17
✎
16:57
|
Вроде с одним циклом работает но шапка и подвал перестали заполнятся, разбираюсь дальше.
Спасибо, позже попробую через ссылки на объекты или вт |
|||
12
Igor997
07.07.17
✎
12:20
|
Добрый день!
Такая проблемка, в регистре сведений, идут записи по ценам, но поставщики то разные, поэтому в результате запроса идут дубли вида: номенлкатура1 ценаПоставщика1 Номенклатура1 ценаПоставщика2 для связки регистра и тчДокумента логика осталась прежней Док.товары (Р.Цена*Док.Количество) КАК Сумма ИЗ Документ.ДокументТоваров.Товары КАК Док Внутреннее СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыПоставщиков КАК Р ПО Док.Номенклатура = Р.Номенклатура а тут уже пробелам в том, что, пришел товар от одного поставщика по одной цене, пришел такой же товар от другого поставщика по другой цене. На складе товар суммовой по этому товару, и когда перемещаем между складами уже без разницы от кого мы его купили. Следовательно при списывании товара, как узнать его истинную стоимость? Пытаюсь оттолкнутся от регистра накопления, но не выходит что то, вроде: ВЫБРАТЬ ЕСТЬNULL((Р.Стоимость/Р.Количество),0) КАК Цена, ЕСТЬNULL((ЕСТЬNULL((Р.Стоимость/Р.Количество),0)*Д.Количество),0) КАК Сумма, ИЗ Документ.Док.ТЧ КАК Д ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.СебестоимостьТоваров КАК Р ПО Д.Номенклатура = Р.АналитикаУчетаНоменклатуры но значения тогда цены и суммы не рассчитываются т.е не сопоставляются( нужны дополнительные условия только не пойму какие( |
|||
13
Igor997
07.07.17
✎
15:53
|
По какому признаку можно однозначно выбрать для конкретной номенклатуры ее цену, как деление с даты последней закупки суммы на количество? Два запроса объеденять, или связывать?
Или одним можно и я не все условия учел? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |