Имя: Пароль:
1C
1С v8
Не могу получить дату
0 vadim2005
 
04.11.11
11:26
Проблема в следующем есть перемещение на основании этого перемещения выводится приходный ордер на товар, как получить дату приходного ордера? Почему то в запрос поподают только перемещения



ТекстЗапросаПоПриходам = "ВЫБРАТЬ
                            |    ПеремещениеТоваровТовары.Ссылка КАК Ссылка,
                            |    ПеремещениеТоваровТовары.Номенклатура КАК Номенклатура,
                            |    НЕОПРЕДЕЛЕНО КАК ОрганизацияДоговора,
                            |    СУММА(0) КАК СуммаУчетн,
                            |    СУММА(ПеремещениеТоваровТовары.Количество) КАК Количество,
                            |    СУММА(ПеремещениеТоваровТовары.Количество * ПеремещениеТоваровТовары.Цена) КАК Сумма,
                            |    ПриходныйОрдерНаТовары.Дата Как Дата
                            |ИЗ
                            |    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
                            |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйОрдерНаТовары КАК ПриходныйОрдерНаТовары
                            |        ПО ПеремещениеТоваровТовары.ДокументРезерва = ПриходныйОрдерНаТовары.Ссылка
                            |ГДЕ
                            |    ПеремещениеТоваровТовары.Ссылка.Проведен = ИСТИНА
                            |
                            |СГРУППИРОВАТЬ ПО
                            |    ПеремещениеТоваровТовары.Ссылка,
                            |    ПеремещениеТоваровТовары.Номенклатура,
                            |    ПриходныйОрдерНаТовары.Дата";
1 SnarkHunter
 
04.11.11
11:29
>> Почему то в запрос поподают только перемещения

Очевидно потому, что условие соединения не срабатывает...
2 DCKiller
 
04.11.11
11:31
Что есть ДокументРезерва в перемещении?
3 DCKiller
 
04.11.11
11:31
Может, лучше соединять как-то так:

ПО
ПриходныйОрдерНаТовары.ДокументОснование = ПеремещениеТоваровТовары.Ссылка;
?
4 vadim2005
 
04.11.11
11:41
нет так не получается пришет:  "Поле не найдено "ПриходныйОрдерНаТовары.ДокументОснование"
5 vadim2005
 
04.11.11
11:44
сделал вот так ПО ПеремещениеТоваровТовары.Ссылка.Основание = ПриходныйОрдерНаТовары.Ссылка  но всеравно даты нет
6 SnarkHunter
 
04.11.11
12:15
>> ПеремещениеТоваровТовары.Ссылка.Основание

Бред какой-то...
7 vadim2005
 
04.11.11
12:57
Практически получилось

ТекстЗапросаПоПриходам = "ВЫБРАТЬ
                            |    ПеремещениеТоваровТовары.Ссылка КАК Ссылка,
                            |    ПеремещениеТоваровТовары.Номенклатура КАК Номенклатура,
                            |    НЕОПРЕДЕЛЕНО КАК ОрганизацияДоговора,
                            |    СУММА(0) КАК СуммаУчетн,
                            |    СУММА(ПеремещениеТоваровТовары.Количество) КАК Количество,
                            |    СУММА(ПеремещениеТоваровТовары.Количество * ПеремещениеТоваровТовары.Цена) КАК Сумма,
                            |    ПриходныйОрдерНаТовары.Дата КАК ДатаДок
                            |ИЗ
                            |    Документ.ПриходныйОрдерНаТовары КАК ПриходныйОрдерНаТовары
                            |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
                            |        ПО ПриходныйОрдерНаТовары.ДокументПеремещения.Ссылка = ПеремещениеТоваровТовары.Ссылка
                            |ГДЕ
                            |    ПеремещениеТоваровТовары.Ссылка.Проведен = ИСТИНА
                            |    И ПриходныйОрдерНаТовары.Дата МЕЖДУ &ДатаНач И &ДатаКон
                            |    И ПеремещениеТоваровТовары.Ссылка.СкладОтправитель.Филиал <> &ЭтотФилиал
                            |    И ПеремещениеТоваровТовары.Ссылка.СкладПолучатель.Филиал = &ЭтотФилиал
                            |    И ПеремещениеТоваровТовары.Ссылка.СкладПолучатель.ТипСкладаФилиала = &ТипСкладаФилиалаТовары
                            |    И ПриходныйОрдерНаТовары.Проведен = ИСТИНА
                            |
                            |СГРУППИРОВАТЬ ПО
                            |    ПеремещениеТоваровТовары.Ссылка,
                            |    ПеремещениеТоваровТовары.Номенклатура,
                            |    ПриходныйОрдерНаТовары.Дата";

но в отладчике ВыборкаСсылка.ДатаДок   почему то пусто
8 Рэйв
 
04.11.11
13:01
(7)Нет у тебя связи по таким условиям, что непонятного то?
9 vadim2005
 
04.11.11
13:02
Помогите как связать дату приходного ордера с перемещением
10 Рэйв
 
04.11.11
13:05
(9)Посмотри  в каком реквизите у тебя лежит ордер в перемещении и связывай этот реквизит с таблицей ордеров по ссылке.
+ И чем больше условий ты выставишь тем меньше шансов что соединение вообше будет
11 vadim2005
 
04.11.11
14:48
В реквизитах перемещения немому найти ни какого намека на приходный ордер. Как этот реквизит должен называться?
12 МишельЛагранж
 
04.11.11
14:56
(11) Значит, его вообще нет.
вот этот реквизит
ПеремещениеТоваровТовары.ДокументРезерва
откуда вообще взялся?
13 vadim2005
 
04.11.11
15:01
Этот реквезит есть но в нем оказалось пусто. и я сделал вот так

ТекстЗапросаПоПриходам = "ВЫБРАТЬ
                            |    ПеремещениеТоваровТовары.Ссылка КАК Ссылка,
                            |    ПеремещениеТоваровТовары.Номенклатура КАК Номенклатура,
                            |    НЕОПРЕДЕЛЕНО КАК ОрганизацияДоговора,
                            |    СУММА(0) КАК СуммаУчетн,
                            |    СУММА(ПеремещениеТоваровТовары.Количество) КАК Количество,
                            |    СУММА(ПеремещениеТоваровТовары.Количество * ПеремещениеТоваровТовары.Цена) КАК Сумма,
                            |    ПриходныйОрдерНаТовары.Дата КАК ДатаДок
                            |ИЗ
                            |    Документ.ПриходныйОрдерНаТовары КАК ПриходныйОрдерНаТовары
                            |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
                            |        ПО ПриходныйОрдерНаТовары.ДокументПеремещения.Ссылка = ПеремещениеТоваровТовары.Ссылка
                            |ГДЕ
                            |    ПеремещениеТоваровТовары.Ссылка.Проведен = ИСТИНА
                            |    И ПриходныйОрдерНаТовары.Дата МЕЖДУ &ДатаНач И &ДатаКон
                            |    И ПеремещениеТоваровТовары.Ссылка.СкладОтправитель.Филиал <> &ЭтотФилиал
                            |    И ПеремещениеТоваровТовары.Ссылка.СкладПолучатель.Филиал = &ЭтотФилиал
                            |    И ПеремещениеТоваровТовары.Ссылка.СкладПолучатель.ТипСкладаФилиала = &ТипСкладаФилиалаТовары
                            |    И ПриходныйОрдерНаТовары.Проведен = ИСТИНА
                            |
                            |СГРУППИРОВАТЬ ПО
                            |    ПеремещениеТоваровТовары.Ссылка,
                            |    ПеремещениеТоваровТовары.Номенклатура,
                            |    ПриходныйОрдерНаТовары.Дата";


Разве это не означает что я связал перемещение м приходником
ПО ПриходныйОрдерНаТовары.ДокументПеремещения.Ссылка = ПеремещениеТоваровТовары.Ссылка

Почему я не могу получить дату приходника?
14 МишельЛагранж
 
04.11.11
16:09
нет, не означает
15 МишельЛагранж
 
04.11.11
16:14
Документ.ПриходныйОрдерНаТовары.ДокументПеремещения.Ссылка - такая конструкция действительна, если:
ПриходныйОрдерНаТовары - есть такой документ
.ДокументПеремещения - есть такой реквизит у документа ПриходныйОрдерНаТовары
.Ссылка - в реквизит "ДокументПеремещения" доки ПриходныйОрдерНаТовары записывается ссылка на некий другой документ (хотите документ перемещения - пишите туда ссылку на доку "ПеремещениеТоваров").
Если ничего этого нет - ИЩИТЕ ПОДОБНЫЕ РЕКВИЗИТЫ в документе ПриходныйОрдерНаТовары, содержащие ссылку на док-т "ПеремещениеТоваров".
Если такового нет - придумывайте другую схему запроса.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой