Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Май 2017, 05:32
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Связь таблиц запроса по периоду  (Прочитано 923 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Golickoff

  • ***
  • Сообщений: 199
  • РЕПУТАЦИЯ: 10
  • КПД: 5%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Всем привет.

Нужно получить цену последнего прихода на определённый товар и курс валюты на дату этого прихода. Я думал поставить связь по периоду между регистрами сведений, но что-то не получается. Уже много вариантов перепробовал и это заметно по запросу. Подскажите где исправлять.

"ВЫБРАТЬ
               | ЦеныНоменклатурыПоставщиковСрезПоследних.Цена,
               | ЦеныНоменклатурыПоставщиковСрезПоследних.Валюта,
               | ЦеныНоменклатурыПоставщиковСрезПоследних.Период,
               | КурсыВалютСрезПервых.Курс,
               | КурсыВалютСрезПервых.Кратность
               |ИЗ
               | РегистрСведений.КурсыВалют КАК КурсыВалютСрезПервых
               | ПРАВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыПоставщиков.СрезПоследних КАК ЦеныНоменклатурыПоставщиковСрезПоследних
               | ПО КурсыВалютСрезПервых.Валюта = ЦеныНоменклатурыПоставщиковСрезПоследних.Валюта
               | И КурсыВалютСрезПервых.Период = ЦеныНоменклатурыПоставщиковСрезПоследних.Период
               |ГДЕ
               | ЦеныНоменклатурыПоставщиковСрезПоследних.Номенклатура = &Номенклатура"
В результате имею всё, кроме курса и кратности.


Оффлайн Rasty

  • *****
  • Сообщений: 976
  • РЕПУТАЦИЯ: 137
  • КПД: 14%
  • Регистрация: 2015-03-25
    • Skype: alex1cbit
  • Сайт: 
  • Профессия: Программист 1С
попробуйте левое соединение и кстати период задается немного по другому
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
По валютам тоже нужен срез, а не физическая таблица

Оффлайн Golickoff

  • ***
  • Сообщений: 199
  • РЕПУТАЦИЯ: 10
  • КПД: 5%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
попробуйте левое соединение и кстати период задается немного по другому

Но мне нужен не конкретный период. Изначально мне нужна цена последнего поступления и если она не в рублях, мне нужен курс за дату поступления. Я же не могу указать в параметрах виртуальной таблице параметр типа ЦеныНоменклатурыПоставщиковСрезПоследних.Период. Если я использую левое соединение, то результат вообще окажется пустым. Запрос не найдёт курс и отсеет правую часть за неимением левой.

Цитировать
По валютам тоже нужен срез, а не физическая таблица
Это я уже экспериментировал всё подряд. Со срезами тоже то одно, то другое. Мой пример исключительно для наглядности и упрощения понимания.

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Мой пример исключительно для наглядности и упрощения понимания.

Тогда вы очень упростили. Верните все взад, так как вы считаете, что наиболее вам подходит - подправим.
А во вторых - по валюте, это опять классическая задача на срез последних на каждую дату. Посмотрите тут: http://kb.mista.ru/article.php?id=92
достаточно доступно написано.

Оффлайн Golickoff

  • ***
  • Сообщений: 199
  • РЕПУТАЦИЯ: 10
  • КПД: 5%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Верните все взад
:D Я сейчас в дороге. Спасибо за ссылку. Гляну дома и отпишусь о результатах.
Добавлено: 02 Мар 2016, 05:00

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

Последний раз редактировалось: Golickoff; 02 Мар 2016, 05:00. Причина: Объединение сообщений


 

Из запроса не выводятся значения полей - выводятся пустые значения

Автор Alex1111Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 24
Просмотров: 9980
Последний ответ 14 Июн 2012, 17:44
от Alex1111
"ПОДОБНО" в условие связи запроса

Автор Станиславъ ЗверевъРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 8
Просмотров: 1842
Последний ответ 11 Май 2016, 15:29
от LexaK
Ошибка при выполнении запроса - "неоднозначное поле"

Автор Marta_LiРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 10610
Последний ответ 21 Апр 2011, 16:00
от Marta_Li
Где найти вкладку "Параметры", в конструкторе запроса при создании динамического списка?

Автор друганРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 355
Последний ответ 09 Мар 2017, 14:48
от LexaK
"Зависание" запроса после обращения к регистру бухгалтерии

Автор ShkerinРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 3855
Последний ответ 03 Ноя 2011, 14:06
от Shkerin

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
Dethmontt Dethmontt
71 Сообщений
alex0402
63 Сообщений
MuI_I_Ika MuI_I_Ika
61 Сообщений
wise wise
50 Сообщений
ilyay ilyay
39 Сообщений
Сергей Федоров Сергей Федоров
36 Сообщений
ilnur75
21 Сообщений
BuhRust
21 Сообщений
magnifico61
20 Сообщений

* Кто онлайн

  • Точка Гостей: 279
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal