Группа: Пользователи
Сообщений: 88
Спасибо сказали: 1 раз
Рейтинг: 0
Цитата(sava1 @ 28.05.14, 12:28)
Вложенного не надо - простое левое соединение со срезом последних
Как именно...? Я в соединениях пока не силён... Можно мой пример правильно исправить, а я проанализирую правильное решение... Если не сложно... Заранее спасибо.
ВЫБРАТЬ ПеремещениеТоваровТовары.Номенклатура, ПеремещениеТоваровТовары.Ссылка, ЦеныНоменклатурыСрезПоследних.Цена ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &аа) КАК ЦеныНоменклатурыСрезПоследних ПО ПеремещениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура"
пропущено - УСЛОВИЯ на документ, выычисление СС, СумОжидВозвр - итог по тз (или сгруппировать выборку до одной строки - не знаю что нужно....)
типо так
"ВЫБРАТЬ | ПеремещениеТоваровТовары.Номенклатура, | ПеремещениеТоваровТовары.Ссылка, | ЦеныНоменклатурыСрезПоследних.Цена СС, | ПеремещениеТоваровТовары.Количество Кво, | isNULL(ЦеныНоменклатурыСрезПоследних.Цена,0)*isNULL(ПеремещениеТоваровТовары.Количество,0) as Сумма |ИЗ | Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &аа) КАК ЦеныНоменклатурыСрезПоследних | ПО ПеремещениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | ПеремещениеТоваровТовары.Ссылка.Проведен | И НЕ ПеремещениеТоваровТовары.Ссылка.ПометкаУдаления | И ПеремещениеТоваровТовары.Ссылка.СкладПолучатель = &СкладПолучатель | И ПеремещениеТоваровТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2"
Группа: Пользователи
Сообщений: 88
Спасибо сказали: 1 раз
Рейтинг: 0
Цитата(sava1 @ 28.05.14, 12:38)
ВЫБРАТЬ ПеремещениеТоваровТовары.Номенклатура, ПеремещениеТоваровТовары.Ссылка, ЦеныНоменклатурыСрезПоследних.Цена ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &аа) КАК ЦеныНоменклатурыСрезПоследних ПО ПеремещениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура"
пропущено - УСЛОВИЯ на документ, выычисление СС, СумОжидВозвр - итог по тз (или сгруппировать выборку до одной строки - не знаю что нужно....)
Я что то туплю конкретно... Простите... (
сделал так...
ВЫБРАТЬ ПеремещениеТоваровТовары.Номенклатура, ПеремещениеТоваровТовары.Ссылка, ЦеныНоменклатурыСрезПоследних.Цена ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &аа) КАК ЦеныНоменклатурыСрезПоследних ПО ПеремещениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура ГДЕ ПеремещениеТоваровТовары.Проведен = ИСТИНА И ПеремещениеТоваровТовары.СкладПолучатель.Код = "00546" И ПеремещениеТоваровТовары.ПолучательВозврата = &Контрагент И ПеремещениеТоваровТовары.Дата МЕЖДУ &ДатаНач И &ДатаКон
Пишет - Поле не найдено "ПеремещениеТоваровТовары.Проведен" и т.д.
Группа: Местный
Сообщений: 2908
Из: Київ, Україна
Спасибо сказали: 1159 раз
Рейтинг: 1244.5
Цитата(sava1 @ 28.05.14, 13:15)
ПеремещениеТоваровТовары.Ссылка.Проведен
А также:
И ПеремещениеТоваровТовары.Ссылка.СкладПолучатель.Код = "00546" И ПеремещениеТоваровТовары.Ссылка.ПолучательВозврата = &Контрагент И ПеремещениеТоваровТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
ВЫБРАТЬ | СУММА(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) * ЕСТЬNULL(ПеремещениеТоваровТовары.Количество, 0)) КАК Сумма, | ЦеныНоменклатурыСрезПоследних.ТипЦен |ИЗ | Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &аа) КАК ЦеныНоменклатурыСрезПоследних | ПО ПеремещениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | ПеремещениеТоваровТовары.Ссылка.Проведен | И НЕ ПеремещениеТоваровТовары.Ссылка.ПометкаУдаления | И ПеремещениеТоваровТовары.Ссылка.СкладПолучатель = &СкладПолучатель | И ПеремещениеТоваровТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 | |СГРУППИРОВАТЬ ПО | ЦеныНоменклатурыСрезПоследних.ТипЦен
в результате в выборке будет одна строка с колонкой сумма
Группа: Пользователи
Сообщений: 88
Спасибо сказали: 1 раз
Рейтинг: 0
Цитата(sava1 @ 28.05.14, 14:05)
Тады так
ВЫБРАТЬ | СУММА(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) * ЕСТЬNULL(ПеремещениеТоваровТовары.Количество, 0)) КАК Сумма, | ЦеныНоменклатурыСрезПоследних.ТипЦен |ИЗ | Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &аа) КАК ЦеныНоменклатурыСрезПоследних | ПО ПеремещениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | ПеремещениеТоваровТовары.Ссылка.Проведен | И НЕ ПеремещениеТоваровТовары.Ссылка.ПометкаУдаления | И ПеремещениеТоваровТовары.Ссылка.СкладПолучатель = &СкладПолучатель | И ПеремещениеТоваровТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 | |СГРУППИРОВАТЬ ПО | ЦеныНоменклатурыСрезПоследних.ТипЦен
в результате в выборке будет одна строка с колонкой сумма
Да так и сделал... Получилось в итоге так.
СумОжидВозвр = 0;
ЗапПеремТов = Новый Запрос; ЗапПеремТов.Текст = "ВЫБРАТЬ | ЕСТЬNULL(СУММА(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) * ЕСТЬNULL(ПеремещениеТоваровТовары.Количество, 0)), 0) КАК Сумма |ИЗ | Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &ТипЦены) КАК ЦеныНоменклатурыСрезПоследних | ПО ПеремещениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | ПеремещениеТоваровТовары.Ссылка.Проведен | И (НЕ ПеремещениеТоваровТовары.Ссылка.ПометкаУдаления) | И ПеремещениеТоваровТовары.Ссылка.СкладПолучатель = &СкладПолучатель | И ПеремещениеТоваровТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | И ПеремещениеТоваровТовары.Ссылка.ПолучательВозврата = &Контрагент";
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!